LDraw Primitives Reference
This page is a source of reference for the LDraw primitives in the
\LDraw\p directory. Primitives are defined as highly reusable
components of LEGO parts modelled for LDraw.
 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
 Rectilinear primitives
 Curved primitives
 Technic primitives
 Studrelated primitives
 Miscellaneous primitives
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 coordinate origin, default size and rules for scaling. A list of the available primitives is shown.
An understanding of the orientation of the coordinate 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.
Two dimensional 
Top 

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) must be given a nonzero scaling
factor.  

Rectangle with 3 edges 
This primitive represents a rectangle in the {x,z} plane but excludes one edge {z}. Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions.  

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.  

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.  

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.  

Empty rectangle with three edges 
This primitive represents three edges of a rectangle in the {x,z} plane. Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions.  

Empty rectangle with all edges 
This primitive represents the four edges of a rectangle in the {x,z} plane. Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions.  
Three dimensional 
Rectilinear primitives Top 

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.  

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.  

Cuboid with 5 faces without 1 edge 
This primitive represents a cuboid missing the top {y} face and one edge {z} of 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.  

Cuboid with 5 faces without 2 parallel edges 
This primitive represents a cuboid missing the top {y} face and two of 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.  

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.  

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.  

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.  

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.  

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.  

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.  

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.  

Cuboid with 4 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.  

Cuboid with 4 faces without three parallel edges 
This primitive represents a cuboid missing the top {y} and bottom {+y} faces, and missing three edges of the 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.  

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.  

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.  

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.  

Cuboid with 3 adjacent faces missing 5 adjacent edges 
This primitive represents a cuboid missing the top {y}, front {z} and left {x} faces and includes the three internal edges and the outer edges except those on the left {z}. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x}, {y} and {z} dimensions.  

Cuboid with 3 adjacent faces missing 7 adjacent edges 
This primitive represents a cuboid missing the top {y}, front {z} and left {x} faces and includes the three internal edges but only the outer edges at the top (y). Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x}, {y} and {z} dimensions.  

Cuboid with 3 adjacent faces missing 9 adjacent edges 
This primitive represents a cuboid missing the top {y}, front {z} and left {x} faces and includes only the three internal edges. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x}, {y} and {z} dimensions.  

Cuboid with 3 adjacent faces missing all edges 
This primitive represents a cuboid missing the top {y}, front {z} and left {x} faces but excludes all edges. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x}, {y} and {z} dimensions.  

Cuboid with 3 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.  

Cuboid with 3 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.  

Cuboid with 3 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.  

Cuboid with 3 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.  

Cuboid with 3 faces missing 6 edges 
This primitive represents a cuboid missing the top {y} and left {x} and right {+x} faces and excludes the top and bottome edges of the right {+x} face and all edges of the left {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.  

Cuboid with 3 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.  

Cuboid with 3 parallel faces missing all edges 
This primitive represents a cuboid missing the top {y} and left {x} and right {+x} faces and excludes all the 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.  

Cuboid with 3 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.  

Cuboid with 3 faces in a 'U' shape, missing 10 edges (all except those between the faces) 
This primitive represents a cuboid missing the top {y} and left {x} and right {+x} faces and excludes all the edges except the two betweenthe 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.  

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.  

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.  

Cuboid with 2 adjacent faces missing 9 edges (all except those connected to the {+x}, {+y}, {+z} vertex) 
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 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.  

Cuboid with 2 adjacent faces missing 9 edges (all except three parallel 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 parallel to that. 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.  

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.  

Cuboid with no faces and edges 
This primitive is used to define the frame a cuboid. Its origin is the centre of the cuboid and by default has a size of 2LDu in each of the three dimensions.  

Rightangled 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 rightangle 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.  

Rightangled triangular prism with 3 adjacent faces missing 1 edge 

Rightangled triangular prism with 3 adjacent faces missing 4 adjacent edges 

Rightangled triangular prism with 3 faces missing 1 edge 
This primitive represents a triangular prism missing the left {x} and front {z} faces. Its origin is the rightangle corner of the top face and by default has a size of 1LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension.  

Rightangled triangular prism with 3 faces missing 3 edges 
This primitive represents a triangular prism missing the left {x} and front {z} faces, the edge where they would join and one edge of each of the triangles. Its origin is the rightangle corner of the top face and by default has a size of 1LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension.  

Box truncated by cylinder 
This suite of primitives are used to model the intersection between a box and cylinders of different radii.
The box has a fixed width of 2LDu and the cylinder radius is denoted by the r in the filename.  
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 nf 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}.
To avoid rounding errors, it is preferable to use existing fractional circular primitives, or create a new primitive, rather than rotate an existing primitive by anything other than 90 or 180 degrees. For example, use 316XXXX.dat rather than combining 18XXXX.dat with 116XXXX.dat rotated by 22.5 degreees.
18disc 
14disc 
24disc 
34disc 
44disc 
To avoid matrix arithmetic problems in some renderers, the third dimension ({y} in the default orientation) of twodimensional primitives must be given a nonzero scaling factor.
LDraw circles are normally formed of 16sided polygons (hexdecagons)  the regular resolution. For larger elements, where scalingup of hexadecagons would give too angular an appearance, a series of high resolution primitives based on a 48sided polygon are available. These may also be used for parts not well suited to a 16fold 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 44edge.dat
would generate a circle in the {x,z} plane with a radius 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 44edge.dat
would generate a circle in the {y,z} plane
1 16 0 0 0 3 0 0 0 0 3 0 1 0 44edge.dat
would generate a circle in the {x,y} plane
Two dimensional 
Curved primitives Top 

Circular line segment 
This suite of primitives are used for edges which comprise an entire or part circle.  

Circular disc sector 
This suite of primitives are used for surfaces which comprise an entire or part circle.  

Inverse of circular disc sector 
This suite of primitives pad their matching nfdisc.dat primitives out to the bounding square.
They are used to integrate circular elements into rectilinear elements.  

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 14chrd primitive.  

Primitive Substitution Adapters 
This suite of primitives are used correct for gaps that form between curved primitives and normal geometry in editors that utilize
primitive substitution. This is a special case used on the inside of a curved primitive where it
joins geometry that cannot make use of a curved primitive. The chrd files themselves are simply a reference to empty.dat,
which under normal circumstances does not draw anything. However, in tools that support primitive substitution, the
curved primitive it is attached to would normally in this case create a gap when rendered using more than 16 points to
form a circle. In that case, the substituted version of these normally empty primitives would fill in the gap between the
curve and the other geometry.
Note that the bounding circle in the image is for context only  there are no actual geometry producing lines contained in these files Currently available primitives : Regular resolution (nf) : 116chrd, 14ering, 18ering, 316ering, 24ering, 44ering High resolution (nf) : none  

Tangential ring segment 
This suite of primitives are used to pad a 16sided polygon to a circumscribing 16sided polygon whose edges are tangential to the inner polygon.
Note that the bounding circle in the image is for context only  only the grey segment is generated by
the 14tang primitive.  

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 nf44ring4 primitive
would create a ring with an inner radius of 4LDu and an outer radius of 5LDu.  

Circular adaptor ring segment 
This suite of primitives are used to interface between high resolution (48segment) circular primitives and normal resolution (16segment) circluar primitives.
 
Three dimensional 
Curved primitives Top 

Circular cylinder  
This suite of primitives are used to generate cylinders or part cylinders.
These are provided in two forms  with conditional lines (nfcyli) or without conditional lines (nfcyli2).
In almost all circumstances the "cyli" version should be used. The "cyli2" versions are for very special cases and their use for the rounded corners of stickers is no longer appropriate.  

Circular cylinder with Open End  
This suite of primitives are used to generate cylinders or part cylinders with edges around the lower and upper surfaces.  

Circular cylinder with Closed End  
This suite of primitives are used to generate cylinders or part cylinders with the upper surface closed.  

Circular cylinder truncated by an angled plane  
14cyls.dat 38cyls.dat 24cyls.dat 14cyls2.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.
Currently available primitives : Regular resolution : 18cyls, 316cyls, 14cyls, 38cyls, 24cyls, 44cyls, 18cyls2, 316cys2, 14cyls2 High resolution : 14cyls, 14cyls2  

Circular cylinder truncated by an angled plane with angled edge included  
This suite of primitives are similar to the nfcyls primitive, but with the edge along the angled plane included.  

Circular cylinder truncated by another cylinder  
This suite of primitives are used to model the intersection between two cylinders of different radii.  

Circular cylinder truncated by a sphere  
This suite of primitives are used to model the intersection between a cylinder and a sphere of a different radius.  

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 nfcone4 primitive would create a cone with an inner radius of 4LDu and an outer radius of 5LDu.  

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.
Regular resolution :
High resolution:
Currently available reverse ratio torus primitives : Regular resolution :
 

Circular torus (obsolete)  
This single primitive predates 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.  

Sphere section  
 

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 14edge.dat.  
Technic 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 must not be scaled.

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.  

Technic axle end 
This primitive is used to produce the "plusshaped" cross section of a technic axle.  

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.  

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.  

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.  

Technic axle hole tooth 
This primitive represents one tooth of a technic axle hole. It may be scaled in the {y} dimension as necessary.  

Technic axle hole  tooth surface 
This primitive used to produce the fill the "plusshaped" cross section of a technic axle to the bounding circle.  

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.  

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.  

Technic axle hole  side edges 
This primitive produces the edges at the ends of the "plusshaped" technic axle.  

Technic axle hole  tooth outer edges 
This primitive produces the outer edges of the teeth of a technic axle hole.  

Technic axle hole  tooth inner edges 
This primitive produces the inner edges of the "plusshaped" technic axle.  
Reduced axle hole

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.  

Technic axle hole reduced  tooth surface 
This primitive used to produce the fill the "plusshaped" cross section of a reduced technic axle to the bounding circle.  

Technic axle hole reduced  perimeter 
This primitive is comprises a 1LDu long section of reduced technic axle, without any ends. It may be scaled in the {y} dimension as necessary.  

Technic axle hole reduced  side edges 
This primitive produces the edges at the ends of the "plusshaped" reduced technic axle.  

Technic axle hole reduced  tooth outer edges 
This primitive produces the outer edges of the teeth of a reduced technic axle hole.  

Technic axle hole reduced  tooth inner edges 
This primitive produces the inner edges of the reduced "plusshaped" technic axle.  
Semireduced axle hole

Technic axle hole  semi reduced 
This primitive produces a technic axle hole with semireduced teeth including the disc ends and all edges. It may be scaled in the {y} dimension as necessary.  

Technic axle hole semireduced tooth 
This primitive represents the teeth of a semireduced technic axle hole. It may be scaled in the {y} dimension as necessary.  

Technic axle hole semireduced  tooth surface 
This primitive used to produce the fill the "plusshaped" cross section of a semireduced technic axle to the bounding circle.  

Technic axle hole semireduced  perimeter 
This primitive is comprises a 1LDu long section of semireduced technic axle, without any ends. It may be scaled in the {y} dimension as necessary.  

Technic axle hole semireduced  side edges 
This primitive produces the edges at the ends of the "plusshaped" semireduced technic axle.  

Technic axle hole semireduced  tooth outer edges 
This primitive produces the outer edges of the teeth of a semireduced technic axle hole.  

Technic axle hole semireduced  tooth inner edges 
This primitive produces the inner edges of the semireduced "plusshaped" technic axle.  
Special axle primtives

Technic axle  truncated to fit ball joint 
This primitive produces the tip of an axle, truncated to fit a 12.81 LDu radius sphere.  
Technic castellated bush primitives  Technic primitives Top 
These primitives are various representations of the castellated technic bush. They are orientated with the technic axle hole along the {y} axis and must not be scaled.

Technic 16tooth castellation  long teeth 

Technic 16tooth castellation  regular teeth 

Technic 16tooth 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.  

Technic 16tooth castellation  short teeth 

Curved end to technic 1xn plate with 16tooth castellation on underside 
Technic bush primtives  Technic primitives Top 
These primitives are usd to construct technic bush parts.

Technic bush with collar at one end 

Technic bush without end collars 

Technic bush collar quarter 
Technic connector primitives 
Technic primitives Top 
These primitives are used to contruct technic connector pegs. They are orientated with the technic axle hole along the {y} axis and must not be scaled.

Technic connector  long with collar 

Technic connector  long with collar and blind hole 

Technic connector  long without collar 

Technic connector  short with collar 

Technic connector  short without collar 

Technic connector  long with collar and slot 

Technic connector  long with collar and notches 

Technic connector  long with rectangular centre hole and thin (frictionless) ribs 

Technic connector with friction  long with collar 

Technic connector with friction  long without collar 

Technic connector with friction  long with rectangular centre hole and collar 

Technic connector with friction  long with collar and slot 

Technic connector with friction  long with collar and blind hole 

Technic connector with friction  long without collar with slot 

Technic connector with friction  middle section with collar and slot 

Technic connector with friction  middle section slotted with unsplit base collar 
Technic connector hole primitives 
Technic primitives Top 
These primitives are used to contruct technic connector peg holes. They are orientated with the technic axle hole along the {y} axis. They must not be scaled in the {x} or {z} dimensions, but the peghole and npeghol families of primitives may be scaled in the {y} dimension.

Technic beam hole long 
This primitive is used for Technic connector peg holes in 20LDu wide Technic beams.  

Technic beam hole long with extended end 
This primitive is used for Technic connector peg holes in 20LDu wide Technic parts with an extended indentation.  

Technic beam hole long with only one end 
This primitive is used for Technic connector peg holes for use in Technic parts with a narrow beam section.  

Technic beam hole long with extension to adjacent hole 
This primitive is used for Technic connector peg holes at the end of 20LDu wide Technic beams.  

Technic beam hole short with extension to adjacent hole 
This primitive is used for Technic connector peg holes at the end of 10LDu wide Technic beams.  

Technic connector hole 

Technic connector hole  180 degrees  long 

Technic connector hole  180 degrees  medium 

Technic connector hole  180 degrees  short 

Technic connector hole  90 degrees 

Technic connector hole negative without top surface extensions 

Technic connector hole negative without top surface extensions  half 

Technic connector hole negative with top surface extensions 

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.  

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.  

Technic peg hole to axle hole negative with top surface extensions 

Technic peg hole to axle hole negative quarter for beams 
Technic gear tooth primitives 
Technic primitives Top 
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 must not be scaled.

Tooth for 8tooth Technic gears 

Tooth for 16tooth Technic gears 

Tooth for 24tooth Technic gears 

Tooth for 24tooth Technic Crown Gear Type 2 

Tooth for 24tooth Technic Crown Gear Type 3 

Tooth for 24tooth Technic Crown Gear Type 1 

Tooth for 40tooth Technic gears 

Tooth for 12tooth Technic bevel gears 

Tooth for 14tooth Technic bevel gears 

Tooth for 20tooth Technic bevel gears 

Full size tooth for 28tooth Technic bevel gears 

Short tooth for 28tooth Technic bevel gears 

Tooth for 28tooth Technic Differential 

Tooth for Technic Gear Racks 

Tooth for Large Technic Gears 
Technic Duplo primitives 
Top 
These primitives represent various components of the Duploscale technic parts.

Duplo technic axle section 
This primitive is comprises a 1LDu long section of duplo technic axle, including its ends. It may be scaled in the {y} dimension to produce an axle of any length.  

Duplo technic axle hole  closed 
This primitive produces a 1LDu long section of duplo technic axle hole structure. It may be scaled in the {y} dimension as necessary.  

Duplo technic axle hub 
This primitive produces a 1LDu long section of th eouter hub for a duplo technic axle hole. It may be scaled in the {y} dimension as necessary.  

Duplo technic connector hole 

Duplo technic peg hole negative 

Tooth for 8tooth Duplo Technic gears 

Tooth for 24tooth Duplo Technic crown gears 
Studrelated primitives
Stud primitives  Studrelated primitives Top 
Each studxxx primitive described below has a matching low resolution stu2xxx primitive, used by the fastdraw mode of renderers  these stu2xxx primitive must never be used in part files. An additional primitive (studline.dat) is used to substitute a single line for studs by the super fastdraw mode of LDraw.
All stud primitives are modelled with the solid disc uppermost, even if designed for the underside of parts (stud3, stud4, stud8, stud11). 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 must 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 highquality renderers [but this rule is flouted in the regular brick files, where stud4 is scaled by 5 to generate the underside tube].

Regular stud 

Regular stud without edge around base 

Regular stud with white dot 

Regular electric stud 
The electric contact is on the {x} {z} corner  

Truncated solid stud 
For use on 2x2 round parts where the stud does not hang over the edge of the part.  

Moderately truncated solid stud 
For use on 2x2 round parts where the stud does not hang over the edge of the part.  

Very truncated solid stud 
For use on the 2x2 Light&Sound siren part where the stud does not extend over the edge of the part.  

Hollow stud 

Hollow stud without edge around base 

Hollow stud sloped 
Hollow stud for inverted slope bricks.  

Truncated hollow stud without edge around base 
For use on 2x2 octagonal parts where the stud does not hang over the edge of the part.  

Hollow stud with small hole 

Truncated hollow stud 
For use on 2x2 round parts where the stud does not extend over the edge of the part.  

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.  

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
 

Small underside stud without edge around base 
See note for stud3.  

Crossshaped underside stud 

Crossshaped underside stud for Minitalia parts 

Ring underside stud 
See note for stud3. A semicircular version of this is also available as 24stud4.dat, and a 75% version as 34stud4.dat.  

Ring underside stud without edge around base 
See note for stud3.  

Ring underside stud with sloped end 
For use on the underside of sloping parts. See note for stud3.  

Ring underside stud with half sloped end 
For use on the underside of sloping parts where the slope starts midway across the stud. See note for stud3.  

Ring underside stud without outer cylinder 

Ring underside stud without outer cylinder and top surface 

Ring underside stud with extended hole 
For use on the underside of plate thickness parts where the hole extends to the top surface of the plate.  

Ring underside stud with fillet stubs 
For use on the underside of parts where a strengthening fillet joins the stud. The number of fillets is indicated by n: 1=one fillet, 2=two opposite fillets, 3=three fillets, 4=four fillets, 5=two adjacent fillets. The fillet width is indicatd by s: n=narrow (2LDu), s=standard (3LDu), w=wide (4LDu)  
Currently available primitives:  
One fillet: stud4f1n, stud4f1s Two opposite fillets: stud4f2n, stud4f2s, stud4f2w Three fillets: stud4f3s Four fillets: stud4f4n, stud4f4s Two adjacent fillets: stud4f5n  

Ring underside stud  split 
A divided underside stud, as typically used in minifig headwear. See also note for stud3.  

Ring underside stud  split with single wide slot 
A partially divided underside stud, used on pullback motors. See also note for stud3.  

Ring underside stud  split with double wide slot 
A divided underside stud, used on pullback motors. See also note for stud3.  

Stud Tube Open Snap 

Square underside stud hole 

Scala stud 

Duplo hollow top stud 

Duplo hollow top stud without edge around base 

Duplo hollow underside stud 

Large Duplo hollow underside stud 

Quatro stud 

Quatro underside stud 

Duplo Primo Stud 

Duplo Primo Underside Stud Socket 

Znap connector stud 
Stud group primitives  Studrelated primitives Top 
Stud groups are provided to reduce the size of part files with many regularly spaced studs. The naming convention is stugNXxZ.dat, where:
 N = type of stud (regular stud, hollow stud, underside stud, etc.)
 X = number of studs on the x axis
 Z = number of studs on the z axis
To prevent an overload of the library with excessive combinations, the numbers on the x and z axis are limited to:
 1xZ stugs
 Xx1 stugs (Due to stud orientation you cannot rotate a 1xZ stud group by 90 degrees to get a Xx1 stud group)
 XxZ stugs where X = Z
These primitives must not be scaled.

Stud group  
Currently available primitives :
 
Miscellaneous primitives
Text primitves  Miscellaneous primitives Top 
The section comprises reusable glyphs for constructing text patterns. These primitives may be resized.
The naming convention for these primitives is typeffci, where ff is an arbitrary twoletter abbreviation for the typeface, c is the glyph class (u=upper case letter, l=lower case letter, n=number, s=symbol, a=accented letter) and i is the glyph identifier (az for the upper and lower case letters, 09 for the numbers).

Stencil typeface 
Currently available primitives :  
ua, ub, ud, ue, uf, uh, ui, uk, ul, um, un, uo, ur, us, ut, uv, uw, uy, n0, n5, s4 (dollar symbol) 
Primitives for ZNAP parts  Miscellaneous primitives Top 
This section comprises primitives for the ZNAP parts, all of which have been modelled and released into the official library.







Arm, Clip and Pin primitives  Miscellaneous primitives Top 
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 resized.

Cylindrical arm twofingered hinge 
This primitive produces twofingered hinge component of the cylindrical arm with a radius of 10LDu.  

Cylindrical arm threefingered hinge 
This primitive produces threefingered hinge component of the cylindrical arm with a radius of 10LDu.  

Cylindrical arm threefingered hinge with truncated middle finger 
This primitive produces threefingered hinge component of the cylindrical arm with a radius of 10LDu.  

Clicklock hinge single finger for bricks 
This primitive produces the single finger of a clicklock 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.  

Clicklock hinge single finger for arms 
This primitive produces the single finger of a clicklock hinge for use on cylindrical arms.  

Clicklock hinge single finger for plate sides and ends 
This primitive produces the single finger of a clicklock hinge for use on the sides or ends of plates. To use, rotate accordingly and place 2LDu below the top surface.  

Clicklock hinge single finger for crevices and ledges 
This primitive produces the single finger of a clicklock hinge for use within crevices and on ledges. To use, rotate accordingly and place 1LDu below the top surface centred on a stud location.  

Clicklock hinge single finger for plate top 
This primitive produces the single finger of a clicklock hinge for use on the top of plates. To use, rotate accordingly and place 1LDu below the top surface, centered on the stud location.  

Clicklock hinge single finger for plate top with groove. 
This primitive produces the single finger of a clicklock 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.  

Clicklock hinge half dual finger for bricks and plates 
This primitive produces one of the pair of a two finger clicklock 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.  

Clicklock hinge half dual finger for arms 
This primitive produces one of the pair of a two finger clicklock hinge. Parts typically require two of these primitives rotated 180 degress on the {z} axis.  

Clicklock hinge half dual finger  7 position, missing clicks 4 and 6 
This primitive produces one of the pair of a two finger clicklock hinge, with reduced positions. 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.  

Clicklock hinge half dual finger  7 position, missing clicks 2 and 4 
This primitive produces one of the pair of a two finger clicklock hinge, with reduced positions. 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.  

Click rotation ring with stop ring 

Click rotation ring without stop ring 

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.  

Vertical clip for Bricks 
This primitive produces a vertical clip designed to hold an 8LDu diameter pole or rod at be used for brick parts.  


 


 


 

Vertical clip  three fingered 
This primitive produces a threefingered vertical clip designed to hold an 8LDu diameter pole or rod.  


 

Thick 'C' clip 
This primitive produces a thick 'C' clip for use with organic shape parts with a clip (claws, arms, weapons...).  

Thick 'C' clip minimal 
This primitive produces a thick 'C' clip, with minimal surfaces.  

Horizontal clip 
This primitive produces a horizontal clip designed to hold an 8LDu diameter pole or rod.  


 


 


 

Bottom finger for classic windows 
This primitive produces a single finger for the base of classic windows.  

Twofingered plate hinge 
This primitive produces the standard twofingered hinge with a depth of 8LDu  the thickness of a plate.  

Threefingered plate hinge 
This primitive produces the standard threefingered hinge with a depth of 8LDu  the thickness of a plate.  

Electric Plug Pin 
This primitive produces the pin for electric plugs of type 3 and 4.  

Wheel holding pin 

Wheel holding pin with two fillets 

Wheel holding pin with two fillets missing bottom faces 

Wheel holding pin with three fillets 

Wheel holding pin with ridges 

Wheel holding pin hole, type 2 

Bump 
This class of primitives produces shallow hemisperical bumps, primarily used as locators for window and door inserts.  

Mursten Brick Slot 
This primitive is used for the window/door slots on Mursten bricks.  

Handle for flat minifig shields. 
 

Handle for curved minifig shields. 
 

Electrical connector for 12V train track 
 
Last updated 03 February 2018, to include LDraw updates up to 201801, by Chris Dee.