|
|
LDraw Primitives Reference
This page is a source of reference for the LDraw primitives in the
\LDraw\p directory. Primitives are defined as highly re-usable
components of LEGO parts modelled for LDraw.
They serve several purposes :
- To speed up parts authoring by providing a library of components which can be incorporated into several parts
- To allow rendering software to make substitutions of curved components
Within this reference material the available primitives are categorised into :
Each section contains an overview of the characteristics common to all primitives within that category. Primitives are
grouped into classes within each category - one class of primitive serving a similar purpose at different sizes or
resolutions.
For each class of primitive, a brief description of the purpose of the primitive is provided, with notes on its co-ordinate
origin, default size and rules for scaling. A list of the available primitives is shown.
An understanding of the orientation of the co-ordinate axes is essential for authoring a part for LDraw. For reference
within this page the axes and their direction is shown in this diagram. |
 |
Rectilinear primitives
These rectilinear elements may be scaled in the {x}, {y} and {z} dimensions to make elements of any size.
For example
1 16 0 0 0 40 0 0 0 1 0 0 0 20 rect.dat
would generate a 80LDu x 40LDu rectangle in the {x,z} plane.
Although the default orientation of the rect.dat primitive is in the {x,z} plane the LDraw language allows for
this to be transformed
1 16 0 0 0 0 1 0 40 0 0 0 0 20 rect.dat
would generate a 80LDu x 40LDu rectangle in the {y,z} plane.
1 16 0 0 0 40 0 0 0 0 20 0 1 0 rect.dat
would generate a 80LDu x 40LDu rectangle in the {x,y} plane.
rect.dat
|
Rectangle with all edges |
 |
This primitive represents a rectangle in the {x,z} plane and the four edges that bound it.
Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions. To avoid matrix
arithmetic problems in some renderers, the third dimension ({y} in the default orientation) should be given a scaling
factor of 1.
1 16 0 0 0 5 0 0 0 1 0 0 0 20 rect.dat
|
|
rect3.dat
|
Rectangle with 3 edges |
 |
This primitive represents a rectangle in the {x,z} plane but excludes one edge {+x}.
Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions.
|
|
rect2p.dat
|
Rectangle with 2 parallel edges |
 |
This primitive represents a rectangle in the {x,z} plane but excludes two parallel edges ({+x} and {-x}).
Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions.
|
|
rect2a.dat
|
Rectangle with 2 adjacent edges |
 |
This primitive represents a rectangle in the {x,z} plane but excludes two adjacent edges ({-x} and {-z}).
Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions.
|
|
rect1.dat
|
Rectangle with 1 edge |
 |
This primitive represents a rectangle in the {x,z} plane but include only the one {+x} edge.
Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions.
|
|
box.dat
|
Cuboid with all faces and edges |
 |
This primitive is used to define a cuboid.
Its origin is the centre of the cuboid and by default has a size of 2LDu in each of the three dimensions. |
|
box5.dat
|
Cuboid with 5 faces and all edges |
 |
This primitive represents a cuboid missing the top {-y} face.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z}
dimensions and 1LDu in the {y} dimension. |
|
box5-4a.dat
|
Cuboid with 5 faces without top edges |
 |
This primitive represents a cuboid missing the top {-y} face and the four edges surrounding that.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z}
dimensions and 1LDu in the {y} dimension. |
|
box5-12.dat
|
Cuboid with 5 faces missing all edges |
 |
This primitive represents a cuboid missing the top {-y} face and all edges. Its primary use is for sticker parts.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z}
dimensions and 1LDu in the {y} dimension. |
|
box4.dat
|
Cuboid with 4 parallel faces and all edges |
 |
This primitive represents a cuboid missing the top {-y} and bottom {+y} faces.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z}
dimensions and 1LDu in the {y} dimension. |
|
box4o4a.dat
|
Cuboid with 4 parallel faces without bottom edges |
 |
This primitive represents a cuboid missing the top {-y} and bottom {+y} faces, and missing the edges of the bottom face.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z}
dimensions and 1LDu in the {y} dimension. |
|
box4o8a.dat
|
Cuboid with 4 parallel faces without top and bottom edges |
 |
This primitive represents a cuboid missing the top {-y} and bottom {+y} faces, and missing the edges of the top and bottom face.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z}
dimensions and 1LDu in the {y} dimension. |
|
box4t.dat
|
Cuboid with 4 adjacent and all edges |
 |
This primitive represents a cuboid missing the top {-y} and front {-z} faces, but with all
its edges. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and
{z} dimensions and 1LDu in the {y} dimension. |
|
box4-1.dat
|
Cuboid with 4 adjacent faces missing 1 edge |
 |
This primitive represents a cuboid missing the top {-y} and front {-z} faces and the edge
between those faces. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of
the {x} and {z} dimensions and 1LDu in the {y} dimension. |
|
box4-2p.dat
|
Cuboid with 4 parallel faces without two opposite top edges |
 |
This primitive represents a cuboid missing the top {-y} and bottom {+y} faces, and missing
two edges of the top face - the intersection of the two missing faces and the opposite edge.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z}
dimensions and 1LDu in the {y} dimension. |
|
box4-4a.dat
|
Cuboid with 4 adjacent faces missing 4 edges |
 |
This primitive represents a cuboid missing the top {-y} and front {-z} faces and all the
edges of the missing front face. Its origin is the centre of the (missing) top face and by default has a size of 2LDu
in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. |
|
box4-7a.dat
|
Cuboid with 4 adjacent faces missing 7 edges |
 |
This primitive represents a cuboid missing the top {-y} and front {-z} faces and all the
edges of both missing faces. Its origin is the centre of the (missing) top face and by default has a size of 2LDu
in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. |
|
box3-3.dat
|
Cuboid with 3 adjacent faces missing 3 edges |
 |
This primitive represents a cuboid missing the top {-y}, front {-z} and left {-x} faces
and excludes the three edges which do not bound the included faces.
Its origin is the centre of the cuboid and by default has a size of 2LDu
in each of the {x}, {y} and {z} dimensions. |
|
box3u2p.dat
|
Cuboid with 3 adjacent faces missing 2 edges |
 |
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces
and excludes the top edges of the left {-x} and right {+x} faces.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu
in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. |
|
box3u4p.dat
|
Cuboid with 3 adjacent faces missing 4 parallel edges |
 |
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces
and excludes the topand bottom edges of the left {-x} and right {+x} faces.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu
in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. |
|
box3u4a.dat
|
Cuboid with 3 adjacent faces missing 4 adjacent edges |
 |
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces
and excludes the edges of the missing top face.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu
in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. |
|
box3u5p.dat
|
Cuboid with 3 adjacent faces missing 5 edges |
 |
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces
and excludes the top edge of the left {-x} face and all edges of the right {+x} face.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu
in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. |
|
box3u7a.dat
|
Cuboid with 3 adjacent faces missing 7 adjacent edges |
 |
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces
and excludes the edges of the missing top (-y) and right (+x) faces.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu
in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. |
|
box3u8p.dat
|
Cuboid with 3 adjacent faces missing 8 edges (in two parallel groups) |
 |
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces
and excludes all the edges of the left {-x} and right {+x} faces.
Its origin is the centre of the (missing) top face and by default has a size of 2LDu
in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. |
|
box2-5.dat
|
Cuboid with 2 adjacent faces missing 5 edges |
 |
This primitive represents a cuboid missing the top {-y}, front {-z}, left {-x} and right {+x} faces
and excludes all the edges which do not bound the included faces.
Its origin is the centre of the cuboid and by default has a size of 2LDu
in each of the {x}, {y} and {z} dimensions. |
|
box2-7.dat
|
Cuboid with 2 adjacent faces missing 7 edges |
 |
This primitive represents a cuboid missing the top {-y}, front {-z}, left {-x} and right {+x} faces
and excludes all the edges except that at the join between the two faces and those along the left {-x} and right {+x} sides.
Its origin is the centre of the cuboid and by default has a size of 2LDu
in each of the {x}, {y} and {z} dimensions. |
|
box2-11.dat
|
Cuboid with 2 adjacent faces missing 11 edges |
 |
This primitive represents a cuboid missing the top {-y}, front {-z}, left {-x} and right {+x} faces
and excludes all the edges except that at the join between the two faces.
Its origin is the centre of the cuboid and by default has a size of 2LDu
in each of the {x}, {y} and {z} dimensions. |
|
tri3.dat
|
Right-angled triangular prism with 3 faces |
 |
This primitive represents a triangular prism missing the top {-y} and bottom {+y} faces
but including all edges. The left {-x} and front {-z} faces are perpendicular. Its origin is the right-angle corner
of the (missing) top face and by default has a size of 1LDu in each of the {x} and {z} dimensions and 1LDu in the {y}
dimension. |
tri3a1.dat
|
Right-angled triangular prism with 3 faces missing 1 edge |
 |
|
Curved primitives
LDraw represents curved surfaces as polygons. For circular components two series of primitives are provided.
All the circular primitives are orientated in the {x,z} plane with their origin at the centre of the circle and a
default radius of 1 LDu. Primitives are provided for complete circles and for commonly used fractions of a complete circle.
Where the naming convention includes a prefix of the form n-f this indicates the fraction (n/f) of the circle drawn
by the primitive. Where this fraction is less than an entire circle, the primitive starts at {+x,0} and progresses in a
conterclockwise direction when viewed from above {-y}.

|
|

1-8disc |
|

1-4disc |
|

2-4disc |
|

3-4disc |
|

4-4disc |
To avoid matrix arithmetic problems in some renderers, the third dimension ({y} in the default orientation) of two-dimensional
primitives should be given a scaling factor of 1.
LDraw circles are normally formed of 16-sided polygons (hexdecagons) - the regular resolution.
For larger elements, where scaling-up of hexadecagons would give too angular an appearance, a series of high resolution
primitives based on a 48-sided polygon are available. These may also be used for parts not well suited to a 16-fold
symmetry.
These circular elements may be scaled by the same factor in both the {x} and {z} dimensions to make circular elements
of greater or less than 1LDu radius. For example
1 16 0 0 0 3 0 0 0 1 0 0 0 3 4-4edge.dat
would generate a circle in the {x,z} plane with a diameter of 3LDu.
They may also be scaled asymmetrically in the x and z dimension to make ellipses.
Although the default orientation is in the {x,z} plane the LDraw language allows for these to be transformed
1 16 0 0 0 0 1 0 3 0 0 0 0 3 4-4edge.dat
would generate a circle in the {y,z} plane
1 16 0 0 0 3 0 0 0 0 3 0 1 0 4-4edge.dat
would generate a circle in the {x,y} plane
n-fedge.dat
|
Circular line segment |
 |
This suite of primitives are used for edges which comprise an entire or part circle.
Currently available primitives :
Regular resolution (n-f) : 1-16, 1-8, 3-16, 1-4, 5-16, 3-8, 7-16, 2-4, 9-16, 5-8, 3-4, 7-8, 4-4
High resolution (n-f) : 1-24, 1-16, 1-12, 1-8, 1-6, 5-24, 3-16, 1-4, 1-3, 3-8, 2-4, 3-4, 4-4 |
|
n-fdisc.dat
|
Circular disc sector |
 |
This suite of primitives are used for surfaces which comprise an entire or part circle.
Currently available primitives :
Regular resolution (n-f) : 1-16, 1-8, 3-16, 1-4, 3-8, 7-16, 2-4, 5-8, 3-4, 4-4
High resolution (n-f) : 5-48, 1-8, 1-6, 1-4, 2-4, 4-4 |
|
n-fndis.dat
|
Inverse of circular disc sector |
 |
This suite of primitives pad their matching n-fdisc.dat primitives out to the bounding square.
They are used to integrate circular elements into rectilinear elements.
Currently available primitives :
Regular resolution (n-f) : 1-16, 1-8, 3-16, 1-4, 3-8, 2-4, 3-4, 4-4
High resolution (n-f) : 5-48, 1-8, 3-16, 1-4, 2-4, 4-4 |
|
n-fchrd.dat
|
Circular disc segment |
 |
This suite of primitives are used for surfaces which comprise part of a circle enclosed by the arc of its circumference
and its chord. Note that the bounding circle in the image is for context only - only the grey segment is generated by
the 1-4chrd primitive.
Currently available primitives :
Regular resolution (n-f) : 1-8, 3-16, 1-4, 3-8, 7-16
High resolution (n-f) : 1-12, 1-8, 5-24, 1-4
|
|
n-fringr.dat
n-frinrr.dat
n-ffrinr.dat
n-ffrirr.dat
nn-ffrir.dat
ringr.dat(deprecated name)
ringrr.dat(deprecated name)
|
Circular ring segment |
 |
This suite of primitives are used to generate circular rings or part rings. The numeric suffix r in the
filename indicates the inner radius of the ring - the outer radius is 1LDu greater. For example a n-f4-4ring4 primitive
would create a ring with an inner radius of 4LDu and an outer radius of 5LDu.
Currently available primitives :
Regular resolution :
r=1 : 1-16rin1, 1-8ring1, 1-4ring1, 3-8ring1, 2-4ring1, 5-8ring1, 4-4ring1
r=2 : 1-16rin2, 1-8ring2, 3-16rin2, 1-4ring2, 3-8ring2, 2-4ring2, 3-4ring2, 4-4ring2
r=3 : 1-16rin3, 1-8ring3, 1-4ring3, 3-8ring3, 2-4ring3, 3-4ring3, 4-4ring3
r=4 : 1-8ring4, 1-4ring4, 3-8ring4, 2-4ring4, 3-4ring4, 4-4ring4
r=5 : 1-8ring5, 1-4ring5, 3-8ring5, 2-4ring5, 4-4ring5
r=6 : 1-8ring6, 1-4ring6, 3-8ring6, 2-4ring6, 4-4ring6
r=7 : 1-4ring7, 3-8ring7, 2-4ring7, 4-4ring7
r=8 : 1-8ring8, 1-4ring8, 3-8ring8, 2-4ring8, 4-4ring8
r=9 : 1-8ring9, 3-16rin9, 1-4ring9, 2-4ring9, 4-4ring9
r=10 : 1-8rin10, 1-4rin10, 4-4rin10
r=11 : 1-4rin11, 4-4rin11
r=12 : 1-4rin12, 3-8rin12, 2-4rin12, 4-4rin12
r=13 : 4-4rin13
r=14 : 1-4rin14, 2-4rin14, 4-4rin14
r=15 : 1-4rin15, 4-4rin15
r=16 : 1-4rin16, 2-4rin16, 4-4rin16
r=17 : 1-4rin17, 2-4rin17, 4-4rin17
r=18 : 1-4rin18, 4-4rin18
r=19 : 1-8rin19, 1-4rin19
r=20 : 4-4rin20
r=21 : 4-4rin21
r=22 : 4-4rin22
r=23 : 1-8rin23, 4-4rin23
r=24 : 1-4rin24, 2-4rin24, 4-4rin24
r=25 : 2-4rin25
r=28 : 1-4rin28
r=38 : 1-4rin38, 4-4rin38
r=39 : 1-4rin39, 4-4rin39
r=46 : 4-4rin46
r=47 : 4-4rin47
r=50 : 4-4rin50
r=51 : 4-4rin51
r=52 : 2-4rin52, 4-4rin52
r=57 : 4-4rin57
r=77 : 4-4rin77
r=78 : 4-4rin78
r=79 : 4-4rin79
High resolution :
r=1 : 1-6ring1, 1-4ring1, 2-4ring1
r=2 : 2-4ring2, 4-4ring2
r=3 : 1-4ring3, 2-4ring3, 4-4ring3
r=4 : 1-4ring4, 2-4ring4, 4-4ring4
r=5 : 1-12rin5, 1-8ring5, 1-4ring5, 2-4ring5, 4-4ring5
r=6 : 2-4ring6, 4-4ring6
r=7 : 3-4ring7, 4-4ring7
r=8 : 1-6ring8, 1-4ring8
r=9 : 1-8ring9, 5-24rin9, 1-4ring9, 4-4ring9
r=10 : 1-4rin10, 4-4rin10
r=11 : 1-4rin11, 4-4rin11
r=12 : 2-4rin12, 4-4rin12
r=13 : 1-6rin13
r=14 : 1-6rin14
r=15 : 1-4rin15, 4-4rin15
r=16 : 3-4rin16, 4-4rin16
r=17 : 1-4rin17, 4-4rin17
r=19 : 1-4rin19, 4-4rin19
r=21 : 4-4rin21
r=22 : 4-4rin22
r=23 : 1-4rin23
r=26 : 4-4rin26
r=29 : 1-4rin29, 4-4rin29
r=30 : 1-4rin30, 4-4rin30
r=33 : 4-4rin33
r=37 : 4-4rin37
r=39 : 1-4rin39
r=51 : 1-4rin51
|
n-fcyli.dat
|
Circular cylinder |
 |
This suite of primitives are used to generate cylinders or part cylinders.
Currently available primitives :
Regular resolution (n-f) : 1-16, 1-8, 3-16, 1-4, 5-16, 3-8, 7-16, 2-4, 5-8, 3-4, 7-8, 4-4
High resolution (n-f) : 1-48, 1-24, 1-16, 1-12, 1-8, 1-6, 5-24, 3-16, 1-4, 3-8, 2-4, 3-4, 4-4
|
|
n-fcylc.dat
|
Circular cylinder with Closed End |
 |
This suite of primitives are used to generate cylinders or part cylinders with the upper surface closed.
Currently available primitives :
Regular resolution (n-f) : 2-4, 4-4
|
|
n-fcyls.dat
n-fcyls2.dat
|
Circular cylinder truncated by an angled plane |

1-4cyls.dat

3-8cyls.dat

2-4cyls.dat

1-4cyls2.dat
|
These primitives are used to generate cylinders or part cylinders which
are truncated by a plane which is not perpendicular to the axis of the cylinder. The default angle of the plane is 45
degress.
These primitives are notoriously difficult to describe and the user is encouraged to experiment in order to gain a full
understanding of their geometry. One technique is to open the primitive in L3Lab, increase the zoom to 12800, deselect BFC
and choose random colours. Selecting Show Axes also helps.
The 2-4cyls.dat primitive is orientated with the perpendicular bounding plane at the top {-y} and the angled
bounding plane at the bottom {+y}. In common with the other 2-4xxxx.dat primitives, the {+z} semicircle is represented.
By default the truncation plane is y=x-1. The 1-4cyls.dat and
3-8cyls.dat primitives are sub-sections of 2-4cyls.dat
The 1-4cyls2.dat primitive is orientated with the perpendicular bounding plane at the top {-y} and the angled
bounding plane at the bottom {+y}. Unlike the other 1-4xxxx.dat primitives, the {-x,+z} quadrant is represented.
The truncation plane is y=x.
The following observations may help :
- 1-4cyls and 1-4cyls2 are complements. If you put them together correctly they make a 1-4cyli.
1 16 0 0 0 1 0 0 0 1 0 0 0 1 1-4cyls.dat
1 16 0 1 0 -1 0 0 0 -1 0 0 0 1 1-4cyls2.dat
- 1-4cyls2 is actually hidden in 2-4cyls, which could be constructed like
1 16 0 0 0 1 0 0 0 1 0 0 0 1 1-4cyls.dat
1 16 0 0 0 0 0 -1 0 1 0 1 0 0 1-4cyli.dat
1 16 0 1 0 1 0 0 0 1 0 0 0 1 1-4cyls2.dat
Currently available primitives :
Regular resolution : 1-8cyls, 3-16cyls, 1-4cyls, 3-8cyls, 2-4cyls, 4-4cyls, 1-8cyls2, 1-4cyls2
|
|
n-fconr.dat
n-fconrr.dat
|
Circular cone |
 |
This suite of primitives are used to generate circular cones or part cones. The numeric
suffix r in the filename indicates the inner radius of the cone - the outer radius is 1LDu greater. By default the
cone is 1LDu high in the {+y} dimension with the origin at the centre of the outer diameter.
For example a n-fcone4 primitive would create a cone with an inner radius of 4LDu and an outer radius of 5LDu.
Currently available primitives :
Regular resolution :
r=0 : 1-4con0, 4-4con0
r=1 : 1-16con1, 1-8con1, 3-16con1, 1-4con1, 2-4con1, 4-4con1
r=2 : 1-4con2, 2-4con2, 4-4con2
r=3 : 1-4con3, 4-4con3
r=4 : 1-4con4, 2-4con4, 4-4con4
r=5 : 1-4con5, 4-4con5
r=6 : 1-4con6, 4-4con6
r=7 : 1-4con7, 4-4con7
r=8 : 1-4con8, 4-4con8
r=9 : 4-4con9
r=10 : 1-4con10, 4-4con10
r=11 : 4-4con11
r=12 : 4-4con12
r=13 : 1-4con13, 2-4con13
r=15 : 1-4con15
r=16 : 4-4con16
r=18 : 4-4con18
r=19 : 1-8con19, 4-4con19
r=20 : 1-8con20, 4-4con20
r=21 : 4-4con21
r=22 : 4-4con22
r=23 : 1-4con23
r=24 : 1-4con24
r=28 : 1-4con28
r=29 : 4-4con29
r=35 : 4-4con35
r=36 : 4-4con36
High resolution :
r=1 : 1-4con1, 4-4con1
r=2 : 1-4con2, 4-4con2
r=3 : 1-4con3
r=4 : 1-4con4, 4-4con4
r=5 : 1-4con5, 4-4con5
r=6 : 1-4con6
r=8 : 4-4con8
r=9 : 1-4con9
r=10 : 4-4con10
r=12 : 4-4con12
r=13 : 1-4con13
r=14 : 1-4con14
r=16 : 1-4con16
r=20 : 4-4con20
r=21 : 1-4con21, 4-4con21
r=22 : 4-4con22
r=23 : 1-4con23
r=24 : 4-4con24
r=27 : 4-4con27
r=30 : 4-4con30
r=41 : 1-4con41, 4-4con41
r=52 : 1-4con52
|
|
tffirrrr.dat
tfforrrr.dat
tffqrrrr.dat
rfforrrr.dat
|
Circular torus |
 inner
 outer
 tube |
This suite of primitives are used to generate circular torus sections.
By default all these primitives produce a torus with a major radius of 1LDu, so typically need to be scaled up in the {x} and {z} dimensions.
The first character denotes whether the minor radius is smaller than (tff primitives) or larger than the major radius (rff primitives).
The latter are termed reverse ratio tori.
The second and third characters of the filename ff denotes the sweep of torus, as an inverse fraction
(01=1/1, 02=1/2, 04=1/4, 08=1/8, 16=1/16, 32=1/32, 48=1/48).
The fourth character denotes the section of a torus (i=inner, o=outer, q=tube - the combination of 2 inner and 2 outer
sections). Inner sections are not possible for reverse ratio tori.
For regular tori, the last four characters of the file name rrrr denote the torus minor radius in LDu (1333=0.1333, 3333=0.3333),
with the special designation 'unit' unsed to indicate a radius of 1.0000.
For reverse ratio tori, the last four characters of the file name rrrr represent torus minor radius with an implied decimal point
after the first digit (1500=1.5, 4600=4.6).
These diagrams (based on an idea of Paul Easter's) illustrate the relationship of the torus primitives to the major
and minor radii. |
 regular inner torus |
 regular outer torus |
 reverse ratio outer torus |
Currently available regular torus primitives :
Regular resolution :
|   | Inner : |
t04i0625, t04i1304, t04i1333, t04i1429, t04i2500, t04i3333, t04i4167, t04i5000 |
|   | Outer : |
t04o0625, t04o1250, t04o1304, t04o1333, t04o1429, t04o1538, t04o1765, t04o1905, t04o2000, t04o2500, t04o3333,
t04o4167, t04o5000, t04o6250, t04o7500, t04ounit |
|   | Tube : |
t04q0625, t04q2500, t04q3333, t04q4000 |
Currently available reverse ratio torus primitives :
Regular resolution :
| | |
1-4ccyli.dat
|
Circular torus (obsolete) |
 |
This single primitive pre-dates the creation of the tffirrrr
and tfforrrr suite of primitives and will not be augmented. It produces a quarter torus with a major
radius of 2.5Ldu and a tube radius of 1LDu.
It should be superceded by t04q4000.dat.
|
|
n-fsphe.dat
|
Sphere section |
 |
Currently available primitives :
Regular resolution : 1-8, 2-8, 4-8, 8-8
High resolution : 4-8
|
|
1-8sphc.dat
|
Spherical corner |
 |
This primitive represents one octant (eighth) of a sphere,
centered at the origin {0,0,0} of radius 1.414, truncated by the sides of a cube with a
vertex at {1,1,1}. The boundaries of the resulting surface are circular and fit with 1-4edge.dat.
|
|
Special purpose primitives
Technic axle primitives |
Top |
These primitives represent various components of the technic axle and its matching hole. They are orientated in the {x,z}
plane. Except where noted below, and in the {y} dimension only, these primitives should not be scaled.
axle.dat
|
Technic axle section |
 |
This primitive is comprises a 1LDu long section of technic axle, including its ends.
It may be scaled in the {y} dimension to produce an axle of any length. |
|
axleend.dat
|
Technic axle end |
 |
This primitive is used to produce the "plus-shaped" cross section of a technic axle. |
|
axlehole.dat
|
Technic axle hole - closed |
 |
This primitive produces a technic axle hole with the disc ends and all sides.
It may be scaled in the {y} dimension as necessary. |
|
axleho11.dat
|
Technic axle hole - reduced |
 |
This primitive produces a technic axle hole with reduced teeth including the disc ends
and all edges. It may be scaled in the {y} dimension as necessary. |
|
axlehol4.dat
|
Technic axle hole - open one side |
 |
This primitive produces a technic axle hole with one side omitted.
It may be scaled in the {y} dimension as necessary. |
|
axlehol5.dat
|
Technic axle hole - open two opposite sides |
 |
This primitive produces a technic axle hole with two opposite sides omitted.
It may be scaled in the {y} dimension as necessary. |
|
axlehol6.dat
|
Technic axle hole tooth |
 |
This primitive represents one tooth of a technic axle hole. It may be scaled in the {y} dimension as necessary. |
|
axleho10.dat
|
Technic axle hole - tooth surface |
 |
This primitive used to produce the fill the "plus-shaped" cross section of a technic axle
to the bounding circle. |
|
axlehol7.dat
|
Technic axle hole - sides |
 |
This primitive is comprises a 1LDu long section of outer sides of a technic axle.
It may be scaled in the {y} dimension. |
|
axlehol8.dat
|
Technic axle hole perimeter |
 |
This primitive is comprises a 1LDu long section of technic axle, without any ends.
It may be scaled in the {y} dimension as necessary. |
|
axlehol2.dat
|
Technic axle hole - side edges |
 |
This primitive produces the edges at the ends of the "plus-shaped" technic axle. |
|
axlehol3.dat
|
Technic axle hole - tooth outer edges |
 |
This primitive produces the outer edges of the teeth of a technic axle hole. |
|
axlehol9.dat
|
Technic axle hole - tooth inner edges |
 |
This primitive produces the inner edges of the "plus-shaped" technic axle. |
|
axlesphe.dat
|
Technic axle - truncated to fit ball joint |
 |
This primitive produces the tip of an axle, truncated to fit a 12.81 LDu radius sphere. |
|
These primitives are various representations of the castellated technic bush. They are orientated with the technic axle
hole along the {y} axis and should not be scaled.
bushlock.dat
|
Technic 16-tooth castellation - long teeth |
 |
|
|
bushloc2.dat
|
Technic 16-tooth castellation - regular teeth |
 |
|
|
bushloc3.dat
|
Technic 16-tooth castellation - regular teeth indented |
 |
This primitive differs from bushloc2.dat in that the teeth are indented in four places
to allow it to fit between four adjacent studs. |
|
bushloc4.dat
|
Technic 16-tooth castellation - short teeth |
 |
|
|
steerend.dat
|
Curved end to technic 1xn plate with 16-tooth castellation on underside |
 |
|
These primitives are usd to construct technic bush parts.
bush.dat
|
Technic bush with collar at one end |
 |
|
|
bush0.dat
|
Technic bush without end collars |
 |
|
|
bush1.dat
|
Technic bush collar quarter |
 |
|
|
These primitives are used to contruct technic connector pegs. They are orientated with the technic axle hole along the
{y} axis and should not be scaled.
connect.dat
|
Technic connector - long with collar |
 |
|
|
connect2.dat
|
Technic connector - long without collar |
 |
|
|
connect3.dat
|
Technic connector - short with collar |
 |
|
|
connect4.dat
|
Technic connector - short without collar |
 |
|
|
connect5.dat
|
Technic connector - long with collar and slot |
 |
|
|
connect6.dat
|
Technic connector - long with collar and notches |
 |
|
|
confric.dat
|
Technic connector with friction - long with collar |
 |
|
|
confric2.dat
|
Technic connector with friction - long without collar |
 |
|
|
confric5.dat
|
Technic connector with friction - long with collar and slot |
 |
|
|
confric6.dat
|
Technic connector with friction - long without collar with slot |
 |
|
|
confric8.dat
|
Technic connector with friction - middle section with collar and slot |
 |
|
|
confric9.dat
|
Technic connector with friction - middle section slotted with unsplit base collar |
 |
|
|
These primitives are used to contruct technic connector peg holes. They are orientated with the technic axle hole along the
{y} axis. They should not be scaled in the {x} or {z} dimensions, but the peghole and npeghol families of primitives may be
scaled in the {y} dimension.
connhole.dat
|
Technic beam hole thick |
 |
This primitive is used for Technic connector peg holes in 20LDu wide Technic beams. |
|
beamhole.dat
|
Technic beam hole thick with extension to adjacent hole |
 |
This primitive is used for Technic connector peg holes at the end of 20LDu wide Technic beams. |
|
beamhol2.dat
|
Technic beam hole narrow with extension to adjacent hole |
 |
This primitive is used for Technic connector peg holes at the end of 10LDu wide Technic beams. |
|
peghole.dat
|
Technic connector hole |
 |
|
|
peghole2.dat
|
Technic connector hole - 180 degrees - long |
 |
|
|
peghole5.dat
|
Technic connector hole - 180 degrees - medium |
 |
|
|
peghole3.dat
|
Technic connector hole - 90 degrees |
 |
|
|
npeghole.dat
|
Technic connector hole negative without top surface extensions |
 |
|
|
npeghol7.dat
|
Technic connector hole negative without top surface extensions - half |
 |
|
|
npeghol2.dat
|
Technic connector hole negative with top surface extensions |
 |
|
|
npeghol3.dat
|
Technic peg hole to connector hole negative without top surface extensions |
 |
This primitive is designed to fill the gap between an axlehol4 or axlehol5 primitive and a Technic peg hole. |
|
npeghol4.dat
|
Technic peg hole to connector hole negative with top surface extensions |
 |
This primitive is designed to fill the gap between an axlehol4 or axlehol5 primitive and a Technic peg hole. |
|
These primitives are used to contruct technic gears and racks. Gear teeth are shaped differently depending on the
diameter of the gear wheel. These primitives should not be scaled.
tooth8.dat
|
Tooth for 8-tooth Technic gears |
 |
|
|
tooth16.dat
|
Tooth for 16-tooth Technic gears |
 |
|
|
tooth24.dat
|
Tooth for 24-tooth Technic gears |
 |
|
|
toothb12.dat
|
Tooth for 12-tooth Technic bevel gears |
 |
|
|
tootb28.dat
|
Full size tooth for 28-tooth Technic bevel gears |
 |
|
|
tootb28s.dat
|
Short tooth for 28-tooth Technic bevel gears |
 |
|
|
toothr.dat
|
Tooth for Technic Gear Racks |
 |
|
|
toothl.dat
|
Tooth for Large Technic Gears |
 |
|
|
Each studxxx primitive described below has a matching low resolution stu2xxx primitive,
used by the fast-draw mode of renderers - these stu2xxx primitive should never be used in part files. An
additional primitive (studline.dat) is used to substitute a single line for studs by the super fast-draw mode of LDraw.
All stud primitives are modelled with the solid disc uppermost, even if designed for the underside of parts
(stud3, stud4, stud8). The origin is at the base of the stud and they extend for 4LDU in the {-y} dimension.
To use for the underside, the primitives need to be inverted in the {y} dimension, viz.
1 16 x y z 1 0 0 0 -1 0
0 0 1 stud3.dat
These primitives should not be scaled in the {x} or {z} dimensions. Ideally they should not be scaled in the {y} dimension
either, to allow the accurate substitution of chamfered studs by high-quality renderers [but this rule is flouted in the
regular brick files, where stud4 is scaled by 5 to generate the underside tube].
stud.dat
|
Regular stud |
 |
|
|
studp01.dat
|
Regular stud with white dot |
 |
|
|
studel.dat
|
Regular electric stud |
 |
The electric contact is on the {-x} {-z} corner |
|
stud10.dat
|
Truncated solid stud |
 |
For use on 2x2 round parts where the stud does not hang over the edge of the part. |
|
stud2.dat
|
Hollow stud |
 |
|
|
stud2a.dat
|
Hollow stud without edge around base |
 |
|
|
stud2s.dat
|
Hollow stud sloped |
 |
Underside stud for slope bricks. |
|
stud6.dat
|
Truncated hollow stud |
 |
For use on 2x2 round parts where the stud does not hang over the edge of the part. |
|
stud6a.dat
|
Truncated hollow stud without edge around base |
 |
For use on 2x2 round parts where the stud does not hang over the edge of the part. |
|
stud3.dat
|
Small underside stud |
 |
For use on the underside of parts (usually plates) between the gaps for studs. This is modelled with the solid disc uppermost.
To use for the underside of plates, it is necessary to invert in the {y} dimension, like
1 16 x y z 1 0 0 0 -1 0 0 0 1 stud3.dat
In real life, more recent parts use a hollow version of this underside stud. Since this serves no functional purpose and many parts
exist with both varients, this feature is not modelled in LDraw parts and the solid version is always used.
|
|
stud3a.dat
|
Small underside stud without edge around base |
 |
See note for stud3. |
|
studx.dat
|
Cross-shaped underside stud |
 |
|
stud4.dat
|
Ring underside stud |
 |
See note for stud3. |
|
stud4a.dat
|
Ring underside stud without edge around base |
 |
See note for stud3. |
|
stud4s.dat
|
Ring underside stud |
 |
For use on the underside of sloping parts. See note for stud3. |
|
stud5.dat
|
Scala stud |
 |
|
|
stud7.dat
|
Duplo hollow top stud |
 |
|
|
stud8.dat
|
Duplo hollow underside stud |
 |
|
|
primotop.dat
|
Duplo Primo Stud |
 |
|
|
primobot.dat
|
Duplo Primo Underside Stud Socket |
 |
|
|
These primitives are provided to reduce the size of part files with many regularly spaced studs. Each stugn
primitive represents a n x n square of studs. These primitives should not be scaled.
stugn.dat
|
Stud group |
 |
Currently available primitives :
Regular stud : stug2, stug3, stug4, stug5, stug6, stug7, stug8, stug9
Hollow stud : stug2a, stug4a
|
|
This section comprises miscellaneous primitives that do not fit neatly into any of the other categories. All are
highly specialised and represent components of parts which fit together with each other or other standard parts. As such
these primitives are not intended to be re-sized.
arm1.dat
|
Cylindrical arm two-fingered hinge |
 |
This primitive produces two-fingered hinge component of the cylindrical arm with a radius of 10LDu.
|
|
arm2.dat
|
Cylindrical arm three-fingered hinge |
 |
This primitive produces three-fingered hinge component of the cylindrical arm with a radius of 10LDu.
|
|
clh1.dat
|
Click-lock hinge single finger for bricks |
 |
This primitive produces the single finger of a click-lock hinge for use on bricks.
To use on the side of bricks, rotate accordingly and place 10LDu below the top surface of the brick.
To use on the top of bricks, rotate accordingly and place 4LDu below the top surface, centered on the stud location.
|
|
clh3.dat
|
Click-lock hinge single finger for arms |
 |
This primitive produces the single finger of a click-lock hinge for use on cylindrical arms.
|
|
clh6.dat
|
Click-lock hinge single finger for plate sides and ends |
 |
This primitive produces the single finger of a click-lock hinge for use on the sides or ends of plates.
To use, rotate accordingly and place 2LDu below the top surface.
|
|
clh8.dat
|
Click-lock hinge single finger for crevices and ledges |
 |
This primitive produces the single finger of a click-lock hinge for use within crevices and on ledges.
To use, rotate accordingly and place 1LDu below the top surface centred on a stud location.
|
|
clh2.dat
|
Click-lock hinge single finger for plate top |
 |
This primitive produces the single finger of a click-lock hinge for use on the top of plates.
To use, rotate accordingly and place 1LDu below the top surface, centered on the stud location.
|
|
clh9.dat
|
Click-lock hinge single finger for plate top with groove. |
 |
This primitive produces the single finger of a click-lock hinge with a groove for use on the top of plates.
To use, rotate accordingly and place 1LDu below the top surface centered on stid location.
|
|
clh4.dat
|
Click-lock hinge half dual finger for bricks and plates |
 |
This primitive produces one of the pair of a two finger click-lock hinge.
Parts typically require two of these primitives rotated 180 degrees on the {z} axis.
To use on the side of bricks, rotate accordingly and place 10LDu below top surface and 6 LDu off side surface.
To use on the side of plates and windscreens, rotate accordingly, place 2LDu below top surface and 6LDu off side surface.
|
|
clh5.dat
|
Click-lock hinge half dual finger for arms |
 |
This primitive produces one of the pair of a two finger click-lock hinge.
Parts typically require two of these primitives rotated 180 degress on the {z} axis.
|
|
clip1.dat
|
Vertical clip for Flags |
 |
This primitive produces a vertical clip designed to hold an 8LDu diameter pole or rod at be used for flag parts.
|
|
clip3.dat
|
Horizontal clip |
 |
This primitive produces a horizontal clip designed to hold an 8LDu diameter pole or rod.
|
|
clip4.dat
|
Vertical clip - three fingered |
 |
This primitive produces a three-fingered vertical clip designed to hold an 8LDu diameter pole or rod.
|
|
finger1.dat
|
Bottom finger for classic windows |
 |
This primitive produces a single finger for the base of classic windows.
|
|
h1.dat
|
Two-fingered plate hinge |
 |
This primitive produces the standard two-fingered hinge with a depth of 8LDu - the thickness
of a plate. |
|
h2.dat
|
Three-fingered plate hinge |
 |
This primitive produces the standard three-fingered hinge with a depth of 8LDu - the thickness
of a plate. |
plug34.dat
|
Electric Plug Pin |
 |
This primitive produces the pin for electric plugs of type 3 and 4. |
wpin.dat
|
Wheel holding pin |
 |
|
|
wpin2.dat
|
Wheel holding pin with two fillets |
 |
|
|
wpin2a.dat
|
Wheel holding pin with two fillets missing bottom faces |
 |
|
|
Last updated 30 December 2009, to include LDraw updates up to 2009-03, by Chris Dee.
 |
© 2001-2010 LDraw.org, see Legal Info for details.
This website is powered by Peeron.com.
LEGO® is a registered trademark of the LEGO Group, which does not sponsor,
endorse, or authorize this site. Visit the official Lego website at
http://www.lego.com/.
The LDraw system is a completely unofficial, community run free CAD system
which represents official parts produced by the LEGO company.
The LDraw Parts Tracker is maintained and developed by voluntary members of the LDraw organisation.
|
|