Primitives Reference: Difference between revisions

From LDraw.org Wiki
Jump to navigation Jump to search
No edit summary
Line 2,695: Line 2,695:
{| style="text-align:right; width: 100%;"
{| style="text-align:right; width: 100%;"
|[[#top|Return to top]]
|[[#top|Return to top]]
|}
'''Click-lock primitives'''
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.
{| class="wikitable" style="width: 100%;"
|+
===Click-lock primitives===
|-
| '''clh1.dat''' || '''Click-lock hinge single finger for bricks'''
|-
|style="width: 200px;"| [[File:Clh1.png|200px|thumb|alt=Clh1]]
||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'''
|-
|[[File:Clh3.png|200px|thumb|alt=Clh3]]
||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'''
|-
|[[File:Clh6.png|200px|thumb|alt=Clh6]]
||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'''
|-
|[[File:Clh8.png|200px|thumb|alt=Clh8]]
||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'''
|-
|[[File:Clh2.png|200px|thumb|alt=Clh2]]
||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.
|-
| '''clh8.dat''' || '''Click-lock hinge single finger for crevices and ledges'''
|-
|[[File:Clh8.png|200px|thumb|alt=Clh8]]
||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.
|-
| '''clh9.dat''' || '''Click-lock hinge single finger for plate top with groove'''
|-
|[[File:Clh9.png|200px|thumb|alt=Clh9]]
||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'''
|-
|[[File:Clh4.png|200px|thumb|alt=Clh4]]
||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'''
|-
|[[File:Clh5.png|200px|thumb|alt=Clh5]]
||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.
|-
| '''clh10.dat''' || '''Click-lock hinge half dual finger - 7 position, missing clicks 4 and 6'''
|-
|[[File:Clh10.png|200px|thumb|alt=Clh10]]
||This primitive produces one of the pair of a two finger click-lock 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.
|-
| '''clh11.dat''' || '''Click-lock hinge half dual finger - 7 position, missing clicks 2 and 4'''
|-
|[[File:Clh11.png|200px|thumb|alt=Clh11]]
||This primitive produces one of the pair of a two finger click-lock 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.
|}
|}

Revision as of 08:41, 6 January 2024

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.

AxesAn 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

Nomenclature

Boxes are named boxF, with F representing the number of faces a box has. The suffix E represents the number of edges removed.

F and E are may followed by an additional letter. The hyphen is removed if F is accompanied by a modifier.

Face modifiers:

  • o - faces are opposite to each other
  • t - faces are all touching each other (usually, it's implied, but box4t.dat is a thing)
  • u - missing faces form a U-shape

Edge letters:

  • p - groups of edges are parallel to each other
  • a - some missing faces have no adjacent edges

Scaling and orientation

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

triangle.dat Triangle with all edges
Triangle
This primitive represents a isosceles right triangle in the {x,z} plane and the three edges that bound it. Its origin is at the tip of the right angle and by default has a size of 1LDu 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 non-zero scaling factor.

1 16    0 0 0    5 0 0    0 1 0    0 0 20    triangle.dat

rect.dat Rectangle with all edges
Rect
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.
rect3.dat Rectangle with 3 edges
Rect3
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.
rect2p.dat Rectangle with 2 parallel edges
Rect2p
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
Rect2a
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
Rect1
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.
recte3.dat Empty rectangle with three edges
Recte3
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.
recte4.dat Empty rectangle with all edges
Recte4
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.
Return to top

Three dimensional

box.dat Cuboid with all faces and edges
Box
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.
box0.dat Cuboid with no faces and edges
Box0
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.
box5.dat Cuboid with 5 faces and all edges
Box5
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-1.dat Cuboid with 5 faces without 1 edge
Box5-1
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.
box5-2p.dat Cuboid with 5 faces without 2 parallel edges
Box5-2p
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.
box5-4a.dat Cuboid with 5 faces without top edges
Box5-4a
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
Box5-12
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 overview
Box4 Overview
box4.dat Cuboid with 4 parallel faces and all edges
Box4
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
Box4o4a
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
Box4o8a
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
Box4t
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
Box4-1
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 faces without two opposite top edges
Box4-2p
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-3p.dat Cuboid with 4 faces without three parallel edges
Box4-3p
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.
box4-4a.dat Cuboid with 4 adjacent faces missing 4 edges
Box4-4a
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-5a.dat Cuboid with 4 adjacent faces missing 5 edges
Box4-5a
This primitive represents a cuboid missing the top {-y} and front {-z} faces and all the edges at the top and the bottom 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
Box4-7a
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.
box4-12.dat Cuboid with 4 adjacent faces missing all edges
Box4-12
This primitive represents a cuboid missing the top {-y} and front {-z} 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.
box3-3.dat Cuboid with 3 adjacent faces missing 3 edges
Box3-3
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.
box3-5a.dat Cuboid with 4 adjacent faces missing 4 edges
Box3-5a
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.
box3-7a.dat Cuboid with 3 adjacent faces missing 7 adjacent edges
Box3-7a
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.
box3-9a.dat Cuboid with 3 adjacent faces missing 9 adjacent edges
Box3-9a
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.
box3-12.dat Cuboid with 3 adjacent faces missing all edges
Box3-12
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.
Box3u overview
Box3u Overview
box3u2p.dat Cuboid with 3 faces missing 2 edges
Box3u2p
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 faces missing 4 parallel edges
Box3u4p
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 all edges
Box3u4a
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 faces missing 5 edges
Box3u5p
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.
box3u6.dat Cuboid with 3 faces missing 6 edges
Box3u6
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces and excludes the top and bottom 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.
box3u6a.dat Cuboid with 3 faces missing 4 adjacent and 2 parallel edges
Box3u6a
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces and excludes all the top edges and the bottom 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.
box3u7a.dat Cuboid with 3 faces missing 7 adjacent edges
Box3u7a
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 faces missing 8 edges (in two parallel groups)
Box3u8p
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.
box3u10p.dat Cuboid with 3 faces in a 'U' shape, missing 10 edges (all except those between the faces)
Box3u10p
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.
box3u12.dat Cuboid with 3 parallel faces missing all edges
Box3u12
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.
boxjcyl4.dat Box truncated by cylinder
Boxjcyl4
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.

Currently available primitives : Regular resolution (boxjcylr) : 4

box2-5.dat Cuboid with 2 adjacent faces missing 5 edges
Box2-5
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
Box2-7
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-9.dat Cuboid with 2 adjacent faces missing 9 edges (all except those connected to the {+x}, {+y}, {+z} vertex)
Box2-9
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.
box2-9p.dat Cuboid with 2 adjacent faces missing 9 edges (all except three parallel edges)
Box2-9p
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.
box2-11.dat Cuboid with 2 adjacent faces missing 11 edges
Box2-11
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
Tri3
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.
tri3-1.dat Right-angled triangular prism with 3 faces
Tri3-1
This primitive represents a triangular prism missing the top {-y} and bottom {+y} faces and excludes the top edge of the hypotenuse. 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.
tri3-3.dat Right-angled triangular prism missing 3 faces
Tri3-3
This primitive represents a triangular prism missing the top {-y} and bottom {+y} faces and excludes all top edges. 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 adjacent faces missing 1 edge
Tri3a1
This primitive represents a triangular prism missing the top {-y} face, the face at the hypotenuse as well as the top edge at the hypotenuse. 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.
tri3a3.dat Right-angled triangular prism with 3 adjacent faces missing 3 edge
Tri3a3
This primitive represents a triangular prism missing the top {-y} face, the face at the hypotenuse and excludes all top edges. 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.
tri3a4 Right-angled triangular prism with 3 adjacent faces missing 4 adjacent edges
Tri3a4
This primitive represents a triangular prism missing the top {-y} face, the face at the hypotenuse and excludes all edges at the hypotenuse. 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.
tri3u1.dat Right-angled triangular prism with 3 faces missing 1 edge
Tri3u1
This primitive represents a triangular prism missing the left {-x} and front {-z} faces. Its origin is the right-angle 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.
tri3u3.dat Right-angled triangular prism with 3 faces missing 3 edges
Tri3u3
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 right-angle 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.
tri4.dat Right-angled triangular prism with 2 square faces and 2 triangular faces
Tri4
This primitive represents a triangular prism missing the face at the hypotenuse. Its origin is the right-angle 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.
Return to top

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}.

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 3-16XXXX.dat rather than combining 1-8XXXX.dat with 1-16XXXX.dat rotated by 22.5 degreees.

To avoid matrix arithmetic problems in some renderers, the third dimension ({y} in the default orientation) of two-dimensional primitives must be given a non-zero scaling factor. 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 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    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

Two dimensional

Circular 2D Overview
Circular 2D Overview
n-fedge.dat Circular line segment
4-4Edge
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, 11-16, 3-4, 13-16, 7-8, 4-4
High resolution (n-f): 1-48, 1-24, 1-16, 1-12, 5-48, 1-8, 7-48, 1-6, 3-16, 5-24, 11-48, 1-4, 7-24, 5-16, 1-3, 3-8, 19-48, 5-12, 7-16, 11-24, 2-4, 5-8, 2-3, 3-4, 4-4
Low resolution (n-f): 1-4, 2-4, 3-8, 4-4

n-fdisc.dat Circular disc sector
4-4disc
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, 5-16, 3-8, 7-16, 2-4, 5-8, 11-16, 3-4, 7-8, 4-4
High resolution (n-f): 1-24, 1-12, 5-48, 1-8, 7-48, 1-6, 3-16, 5-24, 1-4, 1-3, 2-4, 4-4
Low resolution (n-f): 1-4, 2-4, 3-4, 4-4

n-fchrd.dat Circular disc segment
1-4chrd
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-16 (see note), 1-8, 3-16, 1-4, 5-16, 3-8, 7-16, 2-4, 5-8, 3-4, 13-16, 7-8
High resolution (n-f): 1-48 (see note) 1-24, 1-16, 1-12, 5-48, 1-8, 7-48, 1-6, 3-16, 5-24, 11-48, 1-4, 7-24, 5-16, 1-3, 3-8, 19-48, 5-12, 7-16, 11-24, 2-4
Low resolution (n-f): 1-4, 3-8, 2-4

Note: The regular resolution 1-16chrd.dat and high resolution 1-48chrd are special cases, see Primitive Substitution Adapters below for more information

n-fndis.dat Inverse of circular disc sector
4-4ndisc
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, 5-16, 3-8, 7-16, 2-4, 3-4, 7-8, 4-4
High resolution (n-f): 1-24, 1-16, 1-12, 5-48, 1-8, 7-48, 1-6, 3-16, 5-24, 11-48, 1-4, 1-3, 7-16, 2-4, 4-4
Low resolution (n-f): 1-4, 3-4, 2-4, 3-4, 4-4

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

Currently available primitives:
Regular resolution (n-f): 1-16, 1-8, 3-16, 1-4

n-ftndis.dat Disc negative truncated
1-8tndis
Tndis-example

This suite of primitives are used to used to integrate circular elements into rectilinear elements. These pad their matching n-fdisc.dat primitives out to the bounding rectangle, spanning from x = 1 to the minimal x value of the matching primitive. Note that the bounding circle in the image is for context only - only the black segment is generated by the 1-8tndis primitive. The image on the right showes the difference between tang, tndis and ndis.

Currently available primitives:
Regular resolution (n-f): 1-16, 1-8, 3-16
High resolution (n-f): 5-48, 1-24, 1-16, 1-8

n-faring.dat Circular adaptor ring segment
2-4aring
This suite of primitives are used to interface between high resolution (48-segment) circular primitives and normal resolution (16-segment) circluar primitives. Note that the bounding circle in the image is for context only - only the black segment is generated by the 2-4aring primitive.

Currently available primitives:
Regular resolution (n-f): 4-4
High resolution (n-f): 1-4

1-16chrd.dat
1-48chrd.dat
n-fering.dat
Primitive Substitution Adapters
4-4edge
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.

To "see" these primitives, the editor in use must utilize primitive substitution. Then one of the following can be done:

  • set the curve quality to a level high enough to see the gaps reappear
  • For LDView 4.4 or later, in the Model Tree dialog, you can search for them (for example, "ering"), and if you have it set to highlight, then when you select one, it will be highlighted in the 3D view.
  • Manually recolor the primitive in question to a color that contrasts with the colors that surround it

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 (n-f): 1-16chrd, 1-4ering, 1-8ering, 3-16ering, 2-4ering, 4-4ering
High resolution (n-f): 1-48chrd

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
1-4ring1
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.

Note: The correct nomenclature is to use the full word "ring". All newly created ring primitives must use "ring". Due to the fact that too many files would be affected, it was decided to keep the current official "rin" primitives in the library. All files using "ri" have been moved, to use "ring".

Currently available primitives:
Regular resolution:
r=1: 1-16rin1, 1-8ring1, 3-16rin1, 1-4ring1, 5-16ring1, 3-8ring1, 7-16rin1, 2-4ring1, 9-16ring1, 5-8ring1, 3-4ring1, 7-8ring1, 4-4ring1
r=2: 1-16rin2, 1-8ring2, 3-16rin2, 1-4ring2, 5-16rin2, 3-8ring2, 7-16ring2, 2-4ring2, 5-8ring2, 3-4ring2, 7-8ring2, 4-4ring2
r=3: 1-16rin3, 1-8ring3, 3-16rin3, 1-4ring3, 5-16rin3, 3-8ring3, 7-16rin3, 2-4ring3, 5-8ring3, 3-4ring3, 7-8ring3, 4-4ring3
r=4: 1-16rin4, 1-8ring4, 3-16rin4, 1-4ring4, 5-16ring4, 3-8ring4, 7-16rin4, 2-4ring4, 5-8ring4, 3-4ring4, 4-4ring4
r=5: 1-8ring5, 3-16rin5, 1-4ring5, 5-16rin5, 3-8ring5, 2-4ring5, 3-4ring5, 4-4ring5
r=6: 1-16ring6, 1-8ring6, 3-16rin6, 1-4ring6, 3-8ring6, 7-16ring6, 2-4ring6, 5-8ring6, 3-4ring6, 4-4ring6
r=7: 1-8ring7, 3-16rin7, 1-4ring7, 5-16ring7, 3-8ring7, 7-16ring7, 2-4ring7, 3-4ring7, 4-4ring7
r=8: 1-16ring8, 1-8ring8, 3-16rin8, 1-4ring8, 5-16ring8, 3-8ring8, 7-16ring8, 2-4ring8, 3-4ring8, 7-8ring8, 4-4ring8
r=9: 1-16ring9, 1-8ring9, 3-16rin9, 1-4ring9, 5-16ring9, 3-8ring9, 7-16ring9, 2-4ring9, 3-4ring9, 7-8ring9, 4-4ring9
r=10: 1-8rin10, 3-16ring10, 1-4rin10, 3-8rin10, 2-4rin10, 5-8ring10, 3-4rin10, 4-4rin10
r=11: 1-16ring11, 1-8ring11, 3-16ring11, 1-4rin11, 7-16ring11, 2-4rin11, 4-4rin11
r=12: 1-8ring12, 3-16ring12, 1-4rin12, 5-16ring12, 3-8rin12, 2-4rin12, 7-8rin12, 4-4rin12
r=13: 1-8ring13, 3-16ring13, 1-4rin13, 5-16ring13, 3-8rin13, 2-4rin13, 4-4rin13
r=14: 3-16ring14, 1-4rin14, 2-4rin14, 3-4rin14, 4-4rin14
r=15: 1-8rin15, 3-16ring15, 1-4rin15, 3-8rin15, 2-4rin15, 7-8rin15, 4-4rin15
r=16: 1-8ring16, 1-4rin16, 3-8rin16, 2-4rin16, 3-4ring16, 7-8rin16, 4-4rin16
r=17: 1-8rin17, 1-4rin17, 5-16ring17, 3-8ring17, 7-16ring17, 2-4rin17, 4-4rin17
r=18: 1-16ring18, 1-8rin18, 1-4rin18, 3-8rin18, 2-4rin18, 4-4rin18
r=19: 1-16ring19, 1-8rin19, 3-16ring19, 1-4rin19, 3-8ring19, 2-4ring19, 3-4ring19, 4-4rin19
r=20: 1-4rin20, 2-4rin20, 4-4rin20
r=21: 1-4ring21, 3-8ring21, 4-4rin21
r=22: 1-16ring22, 3-16ring22, 2-4rin22, 3-4rin22, 4-4rin22
r=23: 1-16ring23, 1-8rin23, 1-4rin23, 2-4rin23, 4-4rin23
r=24: 1-16ring24, 3-16ring24, 1-4rin24, 3-8rin24, 2-4rin24, 4-4rin24
r=25: 1-4ring25, 2-4rin25, 4-4rin25
r=26: 1-4ring26, 2-4ring26, 4-4rin26
r=27: 1-8ring27, 4-4ring27
r=28: 1-8ring28, 1-4rin28, 2-4ring28, 4-4ring28
r=29: 1-4ring29, 3-8ring29, 2-4ring29, 3-4ring29, 4-4rin29
r=30: 2-4rin30, 4-4rin30
r=31: 2-4ring31, 4-4rin31
r=32: 1-8ring32, 2-4ring32, 4-4rin32
r=33: 1-8ring33, 1-4ring33, 4-4rin33
r=34: 1-8ring34, 1-4rin34, 4-4rin34
r=35: 1-8ring35, 4-4ring35
r=36: 1-4ring36, 4-4rin36
r=37: 3-8ring37, 2-4ring37, 4-4rin37
r=38: 1-4rin38, 4-4rin38
r=39: 1-16ring39, 1-8rin39, 3-16ring39, 1-4rin39, 7-8rin39, 4-4rin39
r=40: 1-4ring40, 7-8rin40, 4-4rin40
r=41: 4-4ring41
r=42: 2-4ring42
r=43: 2-4ring43, 4-4rin43
r=44: 2-4ring44, 4-4rin44
r=45: 2-4ring45, 4-4rin45
r=46: 2-4ring46, 4-4rin46
r=47: 4-4rin47
r=48: 1-4rin48, 4-4rin48
r=49: 1-4rin49, 4-4ring49
r=50: 1-4rin50, 4-4rin50
r=51: 4-4rin51
r=52: 2-4rin52, 4-4rin52
r=53: 3-16ring53
r=55: 2-4ring55
r=57: 1-16ring57, 1-4ring57, 4-4rin57
r=61: 4-4ring61
r=66: 1-4ring66, 4-4ring66
r=67: 1-4ring67
r=68: 4-4ring68
r=70: 1-16ring70, 1-8ring70, 3-16ring70, 2-4ring70, 4-4ring70
r=71: 4-4ring71
r=77: 4-4rin77
r=78: 4-4rin78
r=79: 1-4ring79, 4-4rin79
r=80: 3-16ring80
r=81: 4-4ring81
r=85: 4-4rin85
r=88: 4-4ring88
r=95: 4-4ring95
r=97: 4-4ring97
r=101: 4-4ring101

High resolution:
r=1: 1-24ring1, 1-12rin1, 1-8ring1, 1-6ring1, 3-16ring1, 11-48ring1, 1-4ring1, 5-16ring1, 7-16ring1, 2-4ring1, 4-4ring1.dat
r=2: 1-24ring2, 1-16ring2, 1-12rin2, 5-48ring2, 1-8ring2, 1-6ring2, 3-16ring2, 5-24ring2, 1-4ring2, 1-3ring2, 3-8ring2, 7-16ring2, 2-4ring2, 19-24ring2, 7-8ring2, 4-4ring2
r=3: 1-24rin3, 1-16rin3, 1-12ring3, 1-8ring3, 7-48ring3, 1-6ring3, 5-24ring3, 1-4ring3, 1-3ring3, 7-16rin3, 2-4ring3, 4-4ring3
r=4: 1-24rin4, 1-12ring4, 5-48rin4, 1-8ring4, 7-48ring4, 5-24ring4, 1-4ring4, 7-24rin4, 2-4ring4, 4-4ring4
r=5: 1-24rin5, 1-12rin5, 5-48ring5, 1-8ring5, 7-48rin5, 1-6ring5, 5-24ring5, 1-4ring5, 2-4ring5, 4-4ring5
r=6: 1-48rin6, 1-24rin6, 1-16ring6, 1-12rin6, 1-8ring6, 1-6ring6, 5-24ring6, 1-4ring6, 2-4ring6, 5-6ring6, 4-4ring6
r=7: 1-24rin7, 1-16ring7, 1-8ring7, 7-48ring7, 1-6ring7, 3-16rin7, 5-24rin7, 1-4ring7, 2-3ring7, 3-4ring7, 4-4ring7
r=8: 1-16rin8, 1-12rin8, 1-8ring8, 7-48ring8, 1-6ring8, 3-16rin8, 5-24ring8, 1-4ring8, 11-24ring8, 4-4ring8
r=9: 1-48rin9, 1-24rin9, 1-12rin9, 5-48rin9, 1-8ring9, 5-24rin9, 11-48ring9, 1-6ring9, 1-4ring9, 1-3ring9, 2-4ring9, 4-4ring9
r=10: 1-24ring10, 1-16ring10, 1-12ring10, 5-48ring10, 1-8ring10, 7-48ring10, 1-6ring10, 5-24ring10, 1-4rin10, 2-4ring10, 4-4rin10
r=11: 1-24ring11, 1-16ring11, 1-8ring11, 7-48ring11, 3-16ring11, 1-4rin11, 7-16ring11, 2-4rin11, 4-4rin11
r=12: 1-12ring12, 1-8ring12, 1-4ring12, 1-6rin12, 2-4rin12, 4-4rin12
r=13: 1-16ring13, 1-12ring13, 1-8ring13, 1-6rin13, 5-24ring13, 1-4rin13, 5-12ring13, 11-24ring13, 3-4rin13, 4-4rin13
r=14: 1-24ring14, 1-16ring14, 1-12ring14, 1-8rin14, 1-6rin14, 3-16ring14, 1-4rin14, 3-8ring14, 5-12ring14, 3-4rin14, 4-4rin14
r=15: 1-48ring15, 1-24ring15, 1-16ring15, 1-12ring15, 1-8ring15, 1-6ring15, 3-16ring15, 5-24ring15, 1-4rin15, 2-4ring15, 4-4rin15
r=16: 1-16ring16, 1-8rin16, 7-48ring16, 1-6rin16, 1-4rin16, 7-16ring16, 2-4rin16, 3-4rin16, 5-6rin16, 4-4rin16
r=17: 1-16ring17, 1-12ring17, 1-6rin17, 5-24ring17, 1-4rin17, 1-3rin17, 2-4rin17, 4-4rin17
r=18: 1-16ring18, 7-48ring18, 1-6rin18, 5-24ring18, 1-4rin18, 4-4rin18
r=19: 1-24ring19, 1-16ring19, 1-12ring19, 5-48ring19, 1-8ring19, 1-6rin19, 11-48ring19, 1-4rin19, 2-4rin19, 4-4rin19
r=20: 1-12ring20, 1-8rin20, 5-24ring20, 11-48ring20, 1-4rin20, 4-4rin20
r=21: 1-16ring21, 11-48ring21, 1-4rin21, 4-4rin21
r=22: 1-12ring22, 11-48ring22, 1-4rin22, 4-4rin22
r=23: 1-4rin23
r=24: 1-24ring24, 1-12ring24, 5-24ring24, 1-4rin24, 4-4rin24
r=25: 3-16ring25, 1-4rin25, 4-4rin25
r=26: 1-4rin26, 4-4rin26
r=27: 1-4rin27, 4-4rin27
r=28: 1-8rin28, 5-24ring28, 11-48ring28, 1-4ring28, 4-4rin28
r=29: 1-24ring29, 1-16ring29, 1-12ring29, 5-48ring29, 7-48ring29, 1-6ring29, 3-16ring29, 11-48ring29, 1-4rin29, 5-24ring29, 4-4rin29
r=30: 1-24ring30, 1-16ring30, 1-4rin30, 3-8ring30, 4-4rin30
r=31: 1-4rin31, 2-4rin31
r=32: 5-48ring32, 1-4rin32, 2-4ring32
r=33: 5-24ring33, 1-4rin33, 4-4rin33
r=34: 7-48ring34, 5-24ring34, 11-48ring34, 1-4rin34, 2-4ring34, 4-4rin34
r=35: 1-24ring35, 1-16ring35, 1-8rin35, 5-24ring35, 1-4rin35, 4-4ring35
r=36: 1-8ring36, 1-4rin36, 1-3ring36, 4-4ring36
r=37: 1-8ring37, 1-4rin37, 2-4ring37, 4-4rin37
r=38: 1-12ring38, 1-6ring38, 1-4rin38, 4-4ring38
r=39: 1-24ring39, 1-16ring39, 1-12ring39, 5-48ring39, 1-8rin39, 7-48ring39, 1-6ring39, 3-16ring39, 1-4rin39, 2-4ring39, 4-4ring39
r=40: 1-4rin40, 11-48ring40, 2-4ring40
r=41: 1-8ring41, 1-4rin41, 4-4rin41
r=42: 1-12ring42, 1-6ring42, 4-4rin42
r=43: 1-48ring43, 1-16ring43, 1-12ring43, 1-6ring43, 4-4ring43
r=44: 4-4ring44
r=45: 1-4rin45, 4-4ring45
r=46: 1-4ring46
r=47: 1-6rin47, 1-4ring47, 4-4rin47
r=48: 7-48ring48, 1-4rin48, 2-4ring48
r=49: 1-24ring49, 1-16ring49, 1-4ring49, 4-4rin49
r=50: 1-6rin50, 3-16ring50, 4-4rin50
r=51: 1-4rin51
r=52: 11-24ring52, 4-4rin52
r=53: 1-8ring53, 3-16ring53, 4-4rin53
r=54: 4-4rin54
r=55: 2-4ring55
r=56: 1-12ring56, 1-8rin56
r=57: 1-4ring57, 4-4ring57
r=59: 1-24ring59, 1-16ring59, 1-12ring59
r=60: 1-24ring60, 1-16ring60
r=63: 1-4rin63
r=64: 1-4rin64
r=65: 1-4rin65
r=69: 5-24ring69
r=70: 1-4rin70
r=71: 1-4rin71, 4-4ring71
r=77: 4-4ring77
r=78: 1-12ring78
r=79: 1-4ring79
r=80: 7-48ring80, 1-6ring80
r=81: 4-4ring81
r=82: 1-4rin82
r=83: 1-4rin83
r=84: 1-8ring84
r=85: 4-4ring85
r=88: 4-4ring88
r=90: 11-48ring90
r=95: 2-4ring95
r=96: 1-4ring96
r=97: 4-4rin97
r=99: 1-6ring99, 4-4ring99
r=100: 1-24ring100, 4-4ring100
r=130: 4-4ring130
r=160: 2-4ring160
r=179: 1-4ring179
r=240: 2-4ring240

Low resolution:
r=2 : 2-4ring2, 4-4ring2
r=3 : 1-4ring3, 4-4ring3
r=6 : 4-4ring6
r=7 : 4-4ring7
r=11 : 4-4ring11

Return to top

Three dimensional

n-fcyli.dat
n-fcyli2.dat
Circular cylinder
4-4cyli
This suite of primitives are used to generate cylinders or part cylinders. These are provided in two forms - with conditional lines (n-fcyli) or without conditional lines (n-fcyli2). 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.

Currently available primitives - with conditional lines (n-fcyli):
Regular resolution (n-f): 1-16, 1-8, 3-16, 1-4, 5-16, 3-8, 7-16, 2-4, 9-16, 5-8, 11-16, 3-4, 13-16, 7-8, 4-4
High resolution (n-f): 1-48, 1-24, 1-16, 1-12, 5-48, 1-8, 7-48, 1-6, 3-16, 5-24, 11-48, 1-4, 7-24, 5-16, 1-3, 3-8, 5-12, 7-16, 11-24, 2-4, 5-8, 2-3, 3-4, 7-8, 4-4
Low resolution (n-f): 1-4, 3-8, 2-4, 4-4

Currently available primitives - without conditional lines (n-fcyli2):
Regular resolution (n-f): 1-8, 3-16, 1-4, 5-16, 2-4, 3-8, 4-4
High resolution (n-f): 1-8, 3-16, 1-4, 3-8, 2-4, 4-4
Low resolution (n-f): None

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

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-48, 1-24, 1-16, 1-12, 5-48, 1-8, 7-48, 1-6, 3-16, 5-24, 11-48, 1-4, 1-3, 3-8, 2-4, 4-4
Low resolution (n-f): 1-4, 3-8, 2-4, 4-4

n-fcylc.dat
n-fcylc2.dat
n-fcylc3.dat
Circular cylinder with Closed End
4-4cylc
This suite of primitives are used to generate cylinders or part cylinders with the upper surface closed.

Currently available primitives - with conditional lines and top edge line (n-fcylc):
Regular resolution (n-f): 1-16, 1-4, 3-8, 2-4, 3-4, 4-4
High resolution (n-f): 2-4, 4-4
Low resolution (n-f): None

Currently available primitives - without conditional lines or top or bottom edge line (n-fcylc2):
Regular resolution (n-f): 1-4, 4-4
High resolution (n-f): 4-4
Low resolution (n-f): None

Currently available primitives - with conditional lines, but without top and bottom edge lines (n-fcylc3):
Regular resolution (n-f): 1-4, 4-4
High resolution (n-f): 4-4
Low resolution (n-f): None

n-fcyls.dat
n-fcyls2.dat
Circular cylinder truncated by an angled plane
2-4cyls
3-8cyls
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 LDPE 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 (n-f): 1-8cyls, 3-16cyls, 1-4cyls, 3-8cyls, 2-4cyls, 4-4cyls, 1-8cyls2, 3-16cys2, 1-4cyls2
High resolution (n-f): 1-4cyls, 1-4cyls2

n-fcylse.dat Circular cylinder truncated by an angled plane with angled edge included
4-4cylse
This suite of primitives are similar to the n-fcyls primitive, but with the edge along the angled plane included.

Currently available primitives:
Regular resolution (n-f): 4-4

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

Currently available primitives:
Regular resolution (rxs): 4x6, 4x7, 4x8, 4x9, 4x10, 5x9

n-fcylrsphs.dat Circular cylinder truncated by a sphere
4-4cyl1sph2
This suite of primitives are used to model the intersection between a cylinder and a sphere of a different radius.

Currently available primitives:
Regular resolution 1:2 (n-f): 4-4cyl1sph2

n-fconr.dat
n-fconrr.dat
Circular cone
4-4con1
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 (n-f)(r):
r=0: 1-4con0, 2-4con0, 4-4con0
r=1: 1-16con1, 1-8con1, 3-16con1, 1-4con1, 2-4con1, 4-4con1
r=2: 1-8con2, 3-16con2, 1-4con2, 2-4con2, 4-4con2
r=3: 1-8con3, 1-4con3, 2-4con3, 7-8con3, 4-4con3
r=4: 1-4con4, 3-8con4, 2-4con4, 4-4con4
r=5: 1-4con5, 4-4con5
r=6: 1-4con6, 3-8con6, 4-4con6
r=7: 1-4con7, 3-8con7, 2-4con7, 4-4con7
r=8: 1-4con8, 2-4con8, 4-4con8
r=9: 3-16con9, 1-4con9, 3-8con9, 4-4con9
r=10: 1-8con10, 1-4con10, 2-4con10, 4-4con10
r=11: 1-4con11, 2-4con11, 4-4con11
r=12: 1-4con12, 3-8con12, 2-4con12, 4-4con12
r=13: 1-4con13, 2-4con13, 4-4con13
r=14: 1-4con14, 4-4con14
r=15: 1-4con15, 2-4con15, 4-4con15
r=16: 4-4con16
r=17: 4-4con17
r=18: 1-4con18, 4-4con18
r=19: 1-8con19, 1-4con19, 2-4con19, 4-4con19
r=20: 1-8con20, 3-8con20, 4-4con20
r=21: 4-4con21
r=22: 4-4con22
r=23: 1-4con23
r=24: 1-4con24, 4-4con24
r=25: 4-4con25
r=27: 1-4con27
r=28: 1-8con28, 1-4con28, 4-4con28
r=29: 4-4con29
r=30: 4-4con30
r=31: 1-4con31
r=32: 4-4con32
r=33: 4-4con33
r=34: 3-8con34
r=35: 4-4con35
r=36: 4-4con36
r=41: 4-4con41
r=42: 4-4con42
r=43: 4-4con43
r=46: 4-4con46
r=47: 4-4con47
r=48: 4-4con48
r=61: 4-4con61
r=80: 4-4con80
r=81: 4-4con81

High resolution (n-f)(r):
r=0: 4-4con0
r=1: 1-4con1, 4-4con1
r=2: 1-4con2, 5-12con2, 4-4con2
r=3: 1-4con3, 5-24con3, 4-4con3
r=4: 1-12con4, 1-6con4, 1-4con4, 4-4con4
r=5: 1-12con5, 1-8con5, 1-6con5, 1-4con5, 4-4con5
r=6: 5-48con6, 1-8con6, 1-4con6
r=7: 1-24con7, 1-12con7, 1-6con7, 4-4con7
r=8: 1-6con8, 1-4con8, 4-4con8
r=9: 1-16col9, 5-48con9, 1-8con9, 5-24con9, 1-4con9, 4-4con9
r=10: 1-24con10, 5-24con10, 4-4con10
r=11: 1-16con11, 1-8con11, 1-4con11, 4-4con11
r=12: 1-24con12, 5-48con12, 1-8con12, 5-24con12, 1-4con12, 4-4con12
r=13: 1-6con13, 1-4con13, 4-4con13
r=14: 1-24con14, 5-24con14, 1-4con14, 3-8con14
r=15: 1-8con15, 1-4con15, 4-4con15
r=16: 1-24con16, 1-6con16, 5-24con16, 1-4con16, 3-8con16, 4-4con16
r=17: 1-6con17, 4-4con17
r=18: 4-4con18
r=19: 1-16con19, 3-16con19, 1-4con19, 4-4con19
r=20: 1-16con20, 4-4con20
r=21: 1-4con21, 4-4con21
r=22: 4-4con22
r=23: 1-4con23, 4-4con23
r=24: 1-24con24, 1-16con24, 1-12con24, 1-4con24, 4-4con24
r=25: 1-4con25, 4-4con25
r=27: 4-4con27
r=28: 1-4con28
r=29: 5-48con29
r=32: 1-4con32
r=31: 1-6con31, 4-4con31
r=32: 1-4con32
r=35: 4-4con35
r=36: 1-4con36, 4-4con36
r=38: 1-4con38
r=39: 1-4con39, 4-4con39
r=40: 1-4con40
r=41: 1-4con41, 4-4con41
r=45: 1-6con45
r=46: 1-6con46
r=52: 1-4con52
r=54: 4-4con54
r=64: 4-4con64
r=70: 4-4con70

tffirrrr.dat
tfforrrr.dat
tffqrrrr.dat

rfforrrr.dat
rfforrrrr.dat
Circular torus
T02i2000.png
T02o2000.png
T02q1765.png
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 named like rfforrrr.dat, 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). For reverse ratio tori named like rfforrrrr.dat, the last five characters of the file name rrrrr represent torus minor radius with an implied decimal point after the first two digits (11000=11.0).

These diagrams (based on an idea of Paul Easter's) illustrate the relationship of the torus primitives to the major and minor radii.

Currently available regular torus primitives:
Regular resolution (ff)(rrrr):
Inner:

t01i0702, t01i0714, t01i0769, t01i1579, t01i1667, t01i2000, t01i3261, t01i3333, t01i3600, t01i5556, t01i6000
t02i1111, t02i2000, t02i2258, t02i4000
t04i0462, t04i0625, t04i0857, t04i1111, t04i1304, t04i1333, t04i1429, t04i1765, t04i2000, t04i2258, t04i2500, t04i2667, t04i3333, t04i4167, t04i5000, t04i6381
t08i0909, t08i2000
t16i0909, t16i2000


Outer:

t01o0556, t01o0625, t01o0667, t01o0714, t01o1154, t01o1250, t01o1429, t01o1579, t01o2222, t01o2500, t01o3333, t01o3571, t01o3750, t01o3810, t01o3889, t01o4000
t02o0526, t02o1111, t02o1176, t02o2000, t02o3333
t04o0462, t04o0625, t04o0833, t04o0857, t04o1111, t04o1250, t04o1304, t04o1333, t04o1429, t04o1538, t04o1667, t04o1765, t04o1905, t04o2000, t04o2500, t04o2667, t04o3077, t04o3333, t04o3750, t04o4167, t04o5000, t04o6250, t04o6667, ::t04o7000, t04o7500, t04o8750, t04o8889
t08o0727, t08o0909, t08o2000, t08o6250
t16o0909, t16o1429, t16o2000, t16o6250


Tube:

t01q0702, t01q1429
t02q3333, t02q5455
t04q0625, t04q1000, t04q1316, t04q1538, t04q2500, t04q2857, t04q3030, t04q3333, t04q3529, t04q3750, t04q4000, t04q5000, t04q5455, t04q7143, t04q7500, t04q9231
t08q4000, t08q5000, t08q7500
t16q4000, t16q5000, t16q7500


High resolution (ff)(rrrr):
Inner:

t04i0455
t12i8333


Outer:

t01o2000
t04o0455, t04o2000
t08o0625, t08o2500
t12o0349, t12o0625


Tube:

t06q5000


Currently available reverse ratio torus primitives:
Regular resolution:

r04o1000, r04o1333, r04o1375, r04o1500, r04o2000, r04o3000, r04o4600


High resolution:

r04o11000
r08o2000, r08o11000
1-4ccyli.dat Circular torus (obsolete)
T04q4000
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 is superceded by t04q4000.dat.

n-fsphe.dat Sphere section
8-8sphe
This primitive represents a sphere, centered at the origin {0,0,0} of radius 1 LDu.

Currently available primitives:
Regular resolution (n-f): 1-8, 2-8, 4-8, 8-8
High resolution (n-f): 2-8, 4-8, 8-8

1-8sphc.dat Spherical corner
1-8sphc
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.
n-fedgh.dat Cylinder Helical Edge
Placeholder
This primitive represents ...

Currently available primitives:
Regular resolution (n-f): 3-16, 1-8, 1-4

n-fcylh.dat Cylinder Helical
Placeholder
This primitive represents ...

Currently available primitives:
Regular resolution (n-f): 3-16, 1-8, 1-4

Return to top

Technic primitives

Technic axle primitives

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.

axle.dat Technic axle section
Axle
This primitive 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
Axleend
This primitive is used to produce the "plus-shaped" cross section of a technic axle.
axlehole.dat Technic axle hole - closed
Axlehole
This primitive produces a technic axle hole with the disc ends and all sides. It may be scaled in the {y} dimension as necessary.
axlehol2.dat Technic axle hole - side edges
Axlehol2
This primitive produces the edges at the ends of the "plus-shaped" technic axle.
axlehol3.dat Technic axle hole - tooth outer edges
Axlehol3
This primitive produces the outer edges of the teeth of a technic axle hole.
axlehol4.dat Technic axle hole - open one side
Axlehol4
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
Axlehol5
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
Axlehol6
This primitive represents one tooth of a technic axle hole. It may be scaled in the {y} dimension as necessary.
axlehol7.dat Technic axle hole - sides
Axlehol7
This primitive 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
Axlehol8
This primitive comprises a 1LDu long section of technic axle, without any ends. It may be scaled in the {y} dimension as necessary.
axlehol9.dat Technic axle hole - tooth inner edges
Axlehol9
This primitive produces the inner edges of the "plus-shaped" technic axle.
axleho10.dat Technic axle hole - tooth surface
Axleho10
This primitive is used to produce the fill the "plus-shaped" cross section of a technic axle to the bounding circle.
Axlehol0.dat Technic Axle Hole Hint
Axlehol0
This file is an invisible "axlehole" that can be used to hint irregular axleholes that cannot be modeled with conventional axlehole primitives. To use: add an axle.dat in your part, apply position and scaling so that it fills the axlehole, and substitute it with this primitive.

Note that the bounding axle sction in the image is for context only - there are no actual geometry producing lines contained in these files.

Return to top

Technic axle hole reduced

axl2hole.dat Technic axle hole reduced
Axl2hole
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.
axl2hol2.dat Technic axle hole reduced - side edges
Axl2hol2
This primitive produces the edges at the ends of the "plus-shaped" reduced technic axle.
axl2hol3.dat Technic axle hole reduced - tooth outer edges
Axl2hol3
This primitive produces the outer edges of the teeth of a reduced technic axle hole.
axl2hol8.dat Technic axle hole reduced - perimeter
Axl2hol8
This primitive comprises a 1LDu long section of reduced technic axle, without any ends. It may be scaled in the {y} dimension as necessary.
axl2hol9.dat Technic axle hole reduced - tooth inner edges
Axl2hol9
This primitive produces the inner edges of the reduced "plus-shaped" technic axle.
axl2ho10.dat Technic axle hole reduced - tooth surface
Axl2ho10
This primitive used to produce the fill the "plus-shaped" cross section of a reduced technic axle to the bounding circle.
axl2end.dat Technic axle hole reduced - end surface
Axl2end
This primitive is used to produce the "plus-shaped" cross section of a technic axle hole reduced.
Return to top

Technic axle hole semi-reduced

axl3hole.dat Technic axle hole semi-reduced
Axl3hole
This primitive produces a technic axle hole with semi-reduced teeth including the disc ends and all edges. It may be scaled in the {y} dimension as necessary.
axl3hol2.dat Technic axle hole semi-reduced - side edges
Axl3hol2
This primitive produces the edges at the ends of the "plus-shaped" semi-reduced technic axle.
axl3hol3.dat Technic axle hole semi-reduced - tooth outer edges
Axl3hol3
This primitive produces the outer edges of the teeth of a semi-reduced technic axle hole.
axl3hol6.dat Technic axle hole semi-reduced tooth
Axl3hol6
This primitive represents the teeth of a semi-reduced technic axle hole. It may be scaled in the {y} dimension as necessary.
axl3hol8.dat Technic axle hole semi-reduced - perimeter
Axl3hol8
This primitive comprises a 1LDu long section of semi-reduced technic axle, without any ends. It may be scaled in the {y} dimension as necessary.
axl3hol9.dat Technic axle hole semi-reduced - tooth inner edges
Axl3hol9
This primitive produces the inner edges of the semi-reduced "plus-shaped" technic axle.
axl3ho10.dat Technic axle hole semi-reduced - tooth surface
Axl3ho10
This primitive used to produce the fill the "plus-shaped" cross section of a semi-reduced technic axle to the bounding circle.
axl3end.dat Technic axle hole semi-reduced - end surface
Axl3end
This primitive is used to produce the "plus-shaped" cross section of a technic axle hole semi-reduced.
Return to top

Special Technic axle primitive

axlebeam.dat Technic Axle Truncated to fit Technic Beam End Surface
Axlebeam
This primitive produces the tip of an axle to be used between a cylinder of 9 LDu radius and an axle primitive.

Usage example:
1 16 0 0 -10 9 0 0 0 0 -9 0 20 0 2-4cyli.dat
1 16 0 0 0 1 0 0 0 1 0 0 0 1 axlebeam.dat
1 16 0 -20 0 1 0 0 0 10 0 0 0 1 axlehol8.dat

axlesphe.dat Technic axle - truncated to fit ball joint
Axlesphe
This primitive produces the tip of an axle, truncated to fit a 12.81 LDu radius sphere.

Usage example:
1 16 0 0 0 12.81 0 0 0 0 12.81 0 -12.81 0 8-8sphe.dat
1 16 0 0 0 1 0 0 0 1 0 0 0 1 axlesphe.dat
1 16 0 -20 0 1 0 0 0 7.19 0 0 0 1 axlehol8.dat

axles.dat Axle Sloped
Axles
This primitive produces the tip of an axle, truncated by a slope with the height of 1 LDu. It may be scaled in the {y} dimension as necessary.
axlecap.dat Axle Endcap
Axlecap
This primitive produces the beveled tip of an axle.
axlecaph.dat Axle Endcap with Hole 4D
Axlecaph
This primitive produces the beveled tip of an axle with a center hole of 2 LDu radius.
axlecaph2.dat Axle Endcap with Hole 5D
Axlecaph2
This primitive produces the beveled tip of an axle with a center hole of 2.5 LDu radius.
axleconnect.dat Technic Axle to Connector Hole Perpendicular Joint 0.5
Axleconnect
This primitive produces a right angle connection between an axle and a Technic connector hole.

Usage example:
1 16 0 0 0 1 0 0 0 1 0 0 0 1 axleconnect.dat
1 16 0 0 0 -1 0 0 0 1 0 0 0 1 axleconnect.dat
1 16 0 0 0 1 0 0 0 1 0 0 0 1 connhole.dat
1 16 0 0 -30 0 0 -1 -1 0 0 0 20 0 axle.dat


Return to top

Technic castellated bush primitives

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.

bushlock.dat Technic 16-tooth castellation - long teeth
Bushlock
bushloc2.dat Technic 16-tooth castellation - regular teeth
Bushloc2
bushloc3.dat Technic 16-tooth castellation - regular teeth indented
Bushloc3
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
Bushloc4
steerend.dat Curved end to technic 1xn plate with 16-tooth castellation on underside
Steerend
Return to top

Technic bush primtives

These primitives are usd to construct technic bush parts.

bush.dat Technic bush with collar at one end
Bush
 
bush0.dat Technic bush without end collars
Bush0
bush1.dat Technic bush collar quarter
Bush1
bush2.dat Technic Bush End 0.25
Bush2
Return to top

Technic connector primitives

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.

connect.dat Technic connector - long with collar
Connect
 
connect2.dat Technic connector - long without collar
Connect2
connect3.dat Technic connector - short with collar
Connect3
connect4.dat Technic connector - short without collar
Connect4
connect5.dat Technic connector - long with collar and slot
Connect5
connect6.dat Technic connector - long with collar and notches
Connect6
connect7.dat Technic connector - long with rectangular centre hole and thin (frictionless) ribs
Connect7
connect8.dat Technic connector - long with collar and blind hole
Connect8
connect10.dat Technic Pin 1.0 without Base Collar and Rectangular Centre Hole
Connect10
connectcollar1.dat Technic Pin Collar Half with Rectangular Hole and Short Slit
Connectcollar1
connectcollar2.dat Technic Pin Collar Half with Small Rectangular Hole and Short Slit
Connectcollar2
connectcollar3.dat Technic Pin Collar Half with Rectangular Hole and Long Slit
Connectcollar3
connectcollar4.dat Technic Pin Collar Half with Small Rectangular Hole and Long Slit
Connectcollar4
connectcollar5.dat Technic Pin Collar Half with Round Hole and Short Slit
Connectcollar5
connectslit1.dat Technic Pin Long Middle Slit Half with Rectangular Hole
Connectslit1
connectslit2.dat Technic Pin Long Middle Slit Half with Small Rectangular Hole
Connectslit2
confric.dat Technic connector with friction - long with collar
Confric
confric2.dat Technic connector with friction - long without collar
Confric2
confric3.dat Technic connector with friction - long with rectangular centre hole and collar
Confric3
confric4.dat Technic connector with friction - long with collar and blind hole
Confric4
confric5.dat Technic connector with friction - long with collar and slot
Confric5
confric6.dat Technic connector with friction - long without collar with slot
Confric6
confric8.dat Technic connector with friction - middle section with collar and slot
Confric8
confric9.dat Technic connector with friction - middle section slotted with unsplit base collar
Confric9
Return to top

Technic connector hole primitives

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.

connhole.dat Technic beam hole long
Connhole
This primitive is used for Technic connector peg holes in 20LDu wide Technic beams.
connhol2.dat Technic beam hole long with extended end
Connhol2
This primitive is used for Technic connector peg holes in 20LDu wide Technic parts with an extended indentation.
connhol3.dat Technic beam hole long with only one end
Connhol3
This primitive is used for Technic connector peg holes for use in Technic parts with a narrow beam section.
beamhole.dat Technic beam hole long with extension to adjacent hole
Beamhole
This primitive is used for Technic connector peg holes at the end of 20LDu wide Technic beams.
beamhol2.dat Technic beam hole short with extension to adjacent hole
Beamhol2
This primitive is used for Technic connector peg holes at the end of 10LDu wide Technic beams.
peghole.dat Technic connector hole
Peghole
peghole2.dat Technic connector hole - 180 degrees - long
Peghole2
peghole3.dat Technic connector hole - 90 degrees
Peghole3
peghole4.dat Technic connector hole - 180 degrees - short
Peghole4
peghole5.dat Technic connector hole - 180 degrees - medium
Peghole5
peghole6.dat Technic connector hole - end extended
Peghole6
npeghole.dat Technic connector hole negative without top surface extensions
Npeghole
npeghol2.dat Technic connector hole negative with top surface extensions
Npeghol2
npeghol3.dat Technic peg hole to connector hole negative without top surface extensions
Npeghol3
This primitive is designed to fill the gap between an axlehol4 or axlehol5 primitive and a Technic peg hole.
npeghol3.dat Technic peg hole to connector hole negative without top surface extensions
Npeghol3
This primitive is designed to fill the gap between an axlehol4 or axlehol5 primitive and a Technic peg hole.
npeghol3a.dat Technic Peg Hole / Axle Hole Negative without Top Surface Extensions without One Edge
Npeghol3a
npeghol4.dat Technic peg hole to connector hole negative with top surface extensions
Npeghol4
npeghol5.dat Technic peg hole to axle hole negative with top surface extensions
Npeghol5
npeghol6.dat Technic peg hole to axle hole negative quarter for beams
Npeghol6
npeghol6a.dat Technic Peg Hole Negative 0.25
Npeghol6a
npeghol6b.dat Technic Peg Hole Negative 0.25 with Middle Tab
Npeghol6b
npeghol6c.dat Technic Peg Hole Negative 0.25 without One Edge
Npeghol6c
npeghol6d.dat Technic Peg Hole Negative 0.25 without Extension
Npeghol6d
npeghol7.dat Technic Peg Hole Negative 0.5 without Top Surface Extensions
Npeghol7
npeghol7a.dat Technic Peg Hole Negative 0.5 with Top Surface Extensions
Npeghol7a
npeghol8.dat Technic Peg Hole Negative for Alternate Beam Type 1 Half without Extensions
Npeghol8
npeghol9.dat Technic Peg Hole Negative for Alternate Beam Type 2 with Extensions
Npeghol9
npeghol10.dat Technic Peg Hole Negative for Alternate Beam Type 2 without Extensions
Npeghol10
npeghol11.dat Technic Peg Hole Negative for Alternate Beam Type 3
Npeghol11
npeghol12.dat Technic Peg Hole with Extended Perimeter (One Side) and Surface
Npeghol12
npeghol13.dat Technic Peg Hole with Extended Perimeter (Two Sides) and Surface
Npeghol13
npeghol15.dat ~Technic Peg Hole Corner 0.25 (Obsolete)
Npeghol15
npeghol15b.dat Technic Peg Hole Corner with Wide Tabs on 1 Side 0.125
Npeghol15b
npeghol16.dat ~Technic Peg Hole Corner 0.125 (Obsolete)
Npeghol16
npeghol17.dat ~Technic Peg Hole Negative with Cut Corners (Obsolete)
Npeghol17
npeghol18.dat Technic Peg Hole Corner 0.125 Without Lower Faces
Npeghol18
npeghol18a.dat Technic Peg Hole Corner 0.125 without Faces
Npeghol18a
npeghol19.dat Technic Peg Hole Negative for Alternate Beam Type 3 Top Half without Extensions
Npeghol19
npeghol20.dat Technic Peg Hole Negative for Alternate Beam Type 4 without Extensions
Npeghol20
Return to top

Technic gear tooth primitives

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.

tooth8.dat Tooth for 8-tooth Technic gears
Tooth8
tooth8a.dat Single Tooth for Technic Gear 8 Tooth Reinforced
Tooth8a
tooth16.dat Tooth for 16-tooth Technic gears
Tooth16
tooth24.dat Tooth for 24-tooth Technic gears
Tooth24
tooth24a.dat Tooth for 24-tooth Technic Crown Gear Type 2
Tooth24a
tooth24b.dat Tooth for 24-tooth Technic Crown Gear Type 3
Tooth24b
tooth24c.dat Tooth for 24-tooth Technic Crown Gear Type 1
Tooth24c
tooth40.dat Tooth for 40-tooth Technic gears
Tooth40
toothb12.dat Tooth for 12-tooth Technic bevel gears
Toothb12
toothb14.dat Tooth for 14-tooth Technic bevel gears
Toothb14
toothb20.dat Tooth for 20-tooth Technic bevel gears
Toothb20
tootb28.dat Full size tooth for 28-tooth Technic bevel gears
Tootb28
tootb28s.dat Short tooth for 28-tooth Technic bevel gears
Tootb28s
toothd28.dat Tooth for 28-tooth Technic Differential
Toothd28
toothr.dat Tooth for Technic Gear Racks
Toothr
toothl.dat Tooth for Large Technic Gears
Toothl
Return to top

Technic Duplo primitives

These primitives represent various components of the Duplo-scale technic parts.

daxle.dat Duplo technic axle section
Daxle
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.
daxlehole.dat Duplo technic axle hole - closed
Daxlehole
This primitive produces a 1LDu long section of duplo technic axle hole structure. It may be scaled in the {y} dimension as necessary.
daxlehub.dat Duplo technic axle hub
Daxlehub
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.
dconnhole.dat Duplo technic connector hole
Dconnhole
dnpeghole.dat Duplo technic peg hole negative
Dnpeghole
dtooth8.dat Tooth for 8-tooth Duplo Technic gears
Dtooth8
dtoothc.dat Tooth for 24-tooth Duplo Technic crown gears
Dtoothc
Return to top

Stud primitives

Each studxxx primitive described below has a matching low resolution stu2xxx primitive, used by the fast-draw 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 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, 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 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
Stud
studa.dat Regular stud without edge around base
Studa
stud26.dat Stud without Logo
Stud26
Regular stud, but without LEGO logo (eg. for third party products and LEGO parts where special studs exceptionally carry no logo)
studline.dat Stud Placeholder (SuperFast-Draw)
Studline
studp01.dat Regular stud with white dot
Studp01
studel.dat Regular electric stud
Studel
The electric contact is on the {-x} {-z} corner
stud10.dat Truncated solid stud
Stud10
For use on 2x2 round parts where the stud does not hang over the edge of the part.
stud15.dat Moderately truncated solid stud
Stud15
For use on 2x2 round parts where the stud does not hang over the edge of the part.
stud13.dat Very truncated solid stud
Stud13
For use on the 2x2 Light&Sound siren part where the stud does not extend over the edge of the part.
stud2.dat Hollow stud
Stud2
stud2a.dat Hollow stud without edge around base
Stud2a
stud2s.dat Hollow stud sloped
Stud2s
stud2s2.dat Stud Tube Open Sliced for Open Stud with Inner Stopper Ring
Stud2s2
stud2s2e.dat Open Stud Extension with 0.5 LDU Inner Stopper Ring
Stud2s2e
stud17a.dat Truncated hollow stud without edge around base
Stud17a
For use on 2x2 octagonal parts where the stud does not hang over the edge of the part.
stud9.dat Hollow stud with small hole
Stud9
stud6.dat Truncated hollow stud
Stud6
For use on 2x2 round parts where the stud does not extend over the edge of the part.
stud6a.dat Truncated hollow stud without edge around base
Stud6a
For use on 2x2 round parts where the stud does not hang over the edge of the part.
stud3.dat Small underside stud
Stud3
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
Stud3a
See note for stud3.
studx.dat Cross-shaped underside stud
Studx
stud12.dat Cross-shaped underside stud for Minitalia parts
Stud12
stud17.dat Stud Open For Octagonal Parts
Stud17
stud4.dat Ring underside stud
Stud4
See note for stud3.

A semi-circular version of this is also available as 2-4stud4.dat, and a 75% version as 3-4stud4.dat.

stud4a.dat Ring underside stud without edge around base
Stud4a
See note for stud3.
stud4s.dat Ring underside stud with sloped end
Stud4s
For use on the underside of sloping parts. See note for stud3.
stud4s2.dat Ring underside stud with half sloped end
Stud4s2
For use on the underside of sloping parts where the slope starts midway across the stud. See note for stud3.
stud4o.dat Ring underside stud without outer cylinder
Stud4o
stud4od.dat Ring underside stud without outer cylinder and top surface
Stud4od
stud4h.dat Ring underside stud with extended hole
Stud4h
For use on the underside of plate thickness parts where the hole extends to the top surface of the plate.
stud4fns.dat Ring underside stud with fillet stubs
Stud4fns
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 indicated 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

stud16.dat Ring underside stud ‐ split
Stud16
A divided underside stud, as typically used in minifig headwear. See also note for stud3.
stud16a.dat Stud Tube Open Split without Edge Lines
Stud16a
A divided underside stud without edge lines, as typically used in minifig headwear. See also note for stud3.
stud16od.dat Stud Tube Open Split without Edge Lines and Outside Surface
Stud16od
A divided underside stud without edge lines and outside surface, as typically used in minifig headwear. See also note for stud3.
stud21a.dat Ring underside stud - split with single wide slot
Stud21a
A partially divided underside stud, used on pull-back motors. See also note for stud3.
stud22a.dat Ring underside stud - split with double wide slot
Stud22a
A divided underside stud, used on pull-back motors. See also note for stud3.
stud18a.dat Stud Tube Open Snap
Stud18a
stud23.dat Square underside stud hole
Stud23
stud23d.dat Stud Tube Open Square without Bottom Face and Edges
Stud23d
stud5.dat Scala stud
Stud5
stud24.dat Stud Scala Hollow
Stud24
stud20.dat Duplo Stud
Stud20
stud7.dat Duplo hollow top stud
Stud7
stud7a.dat Duplo hollow top stud without edge around base
Stud7a
stud8.dat Duplo hollow underside stud
Stud8
stud8a.dat Stud Duplo Tube without Base Edge
Stud8a
stud11.dat Large Duplo hollow underside stud
Stud11
stud27.dat Duplo Hollow Middle Stud
Stud27
stud27a.dat Duplo Hollow Middle Stud without Edge around Base
Stud27a
stud28.dat Duplo Tube and Stud Top
Stud28
stud28a.dat Duplo Tube and Stud Top without Base Edge
Stud28a
stud14.dat Quatro stud
Stud14
stud25.dat Quatro underside stud
Stud25
primotop.dat Duplo Primo Stud
Primotop
primobot.dat Duplo Primo Underside Stud Socket
Primobot
zstud.dat Znap connector stud
Zstud
Return to top

stud-logo.dat Stud with LEGO Logo - Non-3D Thin Lines
Stud-logo
stud-logo2.dat Stud with LEGO Logo - Non-3D Outlined
Stud-logo2
stud-logo3.dat Stud with LEGO Logo - 3D with Sharp Top
Stud-logo3
stud-logo4.dat Stud with LEGO Logo - 3D with Rounded Top
Stud-logo4
stud-logo5.dat Stud with LEGO Logo - 3D Flattened
Stud-logo5
stud2-logo.dat Stud Open with LEGO Logo - Non-3D Thin Lines
Stud2-logo
stud2-logo2 Stud Open with LEGO Logo - Non-3D Outlined
Stud2-logo2
stud2-logo3 Stud Open with LEGO Logo - 3D with Sharp Top
Stud2-logo3
stud2-logo4 Stud Open with LEGO Logo - 3D with Rounded Top
Stud2-logo4
stud2-logo5 Stud Open with LEGO Logo - 3D Flattened
Stud2-logo5
Return to top

Stud group primitives

Stud groups are provided to reduce the size of part files with many regularly spaced studs. The naming convention is stugN-XxZ.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.

stugmxn.dat Regular stud
Stugmxn.dat
Currently available primitives:

1x2, 1x3, 1x4, 1x5, 1x6, 1x7, 1x8, 1x9, 1x10, 1x11, 1x12
2x1, 2x2
3x1, 3x3
4x1, 4x4
5x1, 5x5
6x1, 6x6
7x1, 7x7
8x1, 8x8
9x1, 9x9
10x1
11x1, 11x11
12x1, 12x12
16x16

stug10-mxn Stud Group Truncated Laterally Curved 40D
Stug10-mxn
Currently available primitives:

2x2

stug15-mxn Stud Group Truncated Laterally Straight 40D
Stug15-mxn
Currently available primitives:

2x2

stugp01-mxn Stud with Dot Pattern Group
Stugp01-mxn
Currently available primitives:

1x3, 1x4, 1x6, 1x10

stug2-mxn Hollow stud
Stug2-mxn
Currently available primitives:

1x2, 1x3, 1x4, 1x6, 1x8, 1x10, 1x11, 1x12
2x1, 2x2
3x1
4x1, 4x4
6x1
8x1
10x1
12x1

stug3-mxn Underside solid stud
Stug3-mxn
Currently available primitives:

1x2, 1x3, 1x4, 1x5, 1x6, 1x7, 1x8, 1x11

stug4-mxn Underside hollow stud
Stug4-mxn
Currently available primitives:

1x2, 1x3, 1x4, 1x5, 1x6, 1x7, 1x8, 1x9, 1x10, 1x11
2x2
3x3
4x4
5x5
6x6
7x7

stug7-mxn Open Duplo stud
Stug7-mxn
Currently available primitives:

1x2, 1x3, 1x4, 1x6, 1x8, 2x2
3x3
4x4
6x6

stug8-mxn Underside Duplo stud
Stug8-mxn
Currently available primitives:

1x3, 1x5

stug20-mxn Solid Duplo stud
Stug20-mxn
Currently available primitives:

1x4, 1x5, 1x6, 1x7, 1x8
2x2
3x3
4x4
5x1
5x5
6x1
7x1, 7x7
8x8

stug19-mxn Scala Stud for Baseplates Group
Stug19-mxn
Currently available primitives:

1x11

Return to top

Miscellaneous primitives

Text primitves

The section comprises reusable glyphs for constructing text patterns. These primitives may be re-sized.

The naming convention for these primitives is typeffci, where ff is an arbitrary two-letter 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 (a-z for the upper and lower case letters, 0-9 for the numbers).

Text primitves

typestci.dat Stencil typeface
Typestci.dat
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)

type-swiss721bt-bold-ci Swiss721BT Bold typeface
Type-swiss721bt-bold-
Currently available primitives:

au, ub, uc, ud, ue, uf, ug, uh, ui, ul, um, um, uo, up, ur, us, ut, uu, uw, uz, lg, lk, lm, lt, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9

Primitives for ZNAP parts

This section comprises primitives for the ZNAP parts, all of which have been modelled and released into the official library.

Primitives for ZNAP parts

znap1.dat Znap Between Pegholes 1
Znap1
znap2.dat Znap Between Pegholes 2 Half
Znap2
znap3a.dat Znap Between Pegholes 3a
Znap3a
znap3b.dat Znap Between Pegholes 3b Half With Angle
Znap3b
znap4.dat Znap Between Pegholes 4
Znap4
znap5.dat Znap Between Pegholes 5
Znap5
znap6.dat Znap Beam End
Znap6
Return to top

Arm primitives

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.

Arm primitives

arm1.dat Cylindrical arm two-fingered hinge
Arm1
This primitive produces two-fingered hinge component of the cylindrical arm with a radius of 10LDu.
arm2.dat Cylindrical arm three-fingered hinge
Arm2
This primitive produces three-fingered hinge component of the cylindrical arm with a radius of 10LDu.
arm3.dat Cylindrical arm three-fingered hinge with truncated middle finger
Arm3
This primitive produces three-fingered hinge component of the cylindrical arm with a radius of 10LDu.
Return to top

Click-lock primitives

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.

Click-lock primitives

clh1.dat Click-lock hinge single finger for bricks
Clh1
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
Clh3
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
Clh6
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
Clh8
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
Clh2
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.
clh8.dat Click-lock hinge single finger for crevices and ledges
Clh8
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.
clh9.dat Click-lock hinge single finger for plate top with groove
Clh9
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
Clh4
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
Clh5
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.
clh10.dat Click-lock hinge half dual finger - 7 position, missing clicks 4 and 6
Clh10
This primitive produces one of the pair of a two finger click-lock 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.
clh11.dat Click-lock hinge half dual finger - 7 position, missing clicks 2 and 4
Clh11
This primitive produces one of the pair of a two finger click-lock 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.