Primitives Reference: Difference between revisions
Holly-Wood (talk | contribs) No edit summary |
Holly-Wood (talk | contribs) No edit summary |
||
(57 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''LDraw Primitives Reference''' | '''LDraw Primitives Reference''' | ||
Latest Update: 29.04.2024, added the LDraw 2024-03 primitives. | |||
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. | 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. | ||
Line 14: | Line 16: | ||
[[File:XYZaxes.png|200px|middle|alt=Axes]]An understanding of the orientation of the co-ordinate axes is essential for authoring a part for LDraw. For reference within this page the axes and their direction is shown in this diagram.<br clear=all> | [[File:XYZaxes.png|200px|middle|alt=Axes]]An understanding of the orientation of the co-ordinate axes is essential for authoring a part for LDraw. For reference within this page the axes and their direction is shown in this diagram.<br clear=all> | ||
==Rectilinear primitives== | ==Rectilinear primitives== | ||
<div class="mw-collapsible"> | |||
'''Nomenclature''' | '''Nomenclature''' | ||
Line 51: | Line 55: | ||
would generate a 80LDu x 40LDu rectangle in the {x,y} plane.<br> | would generate a 80LDu x 40LDu rectangle in the {x,y} plane.<br> | ||
'''Do NOT rotate rect primitives outside of right angles: 90°, 180 ... on all axes.''' | |||
Line 334: | Line 340: | ||
| '''boxjcyl4.dat''' || '''Box truncated by cylinder''' | | '''boxjcyl4.dat''' || '''Box truncated by cylinder''' | ||
|- | |- | ||
| [[File:boxjcyl4.png| | | [[File:boxjcyl4.png|x200px|alt=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. | || 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. | ||
Line 343: | Line 349: | ||
| '''box2-5.dat''' || '''Cuboid with 2 adjacent faces missing 5 edges''' | | '''box2-5.dat''' || '''Cuboid with 2 adjacent faces missing 5 edges''' | ||
|- | |- | ||
| [[File:box2-5.png| | | [[File:box2-5.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 349: | Line 355: | ||
| '''box2-7.dat''' || '''Cuboid with 2 adjacent faces missing 7 edges''' | | '''box2-7.dat''' || '''Cuboid with 2 adjacent faces missing 7 edges''' | ||
|- | |- | ||
| [[File:box2-7.png| | | [[File:box2-7.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 355: | Line 361: | ||
| '''box2-9.dat''' || '''Cuboid with 2 adjacent faces missing 9 edges (all except those connected to the {+x}, {+y}, {+z} vertex)''' | | '''box2-9.dat''' || '''Cuboid with 2 adjacent faces missing 9 edges (all except those connected to the {+x}, {+y}, {+z} vertex)''' | ||
|- | |- | ||
| [[File:box2-9.png| | | [[File:box2-9.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 361: | Line 367: | ||
| '''box2-9p.dat''' || '''Cuboid with 2 adjacent faces missing 9 edges (all except three parallel edges)''' | | '''box2-9p.dat''' || '''Cuboid with 2 adjacent faces missing 9 edges (all except three parallel edges)''' | ||
|- | |- | ||
| [[File:box2-9p.png| | | [[File:box2-9p.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 367: | Line 373: | ||
| '''box2-11.dat''' || '''Cuboid with 2 adjacent faces missing 11 edges''' | | '''box2-11.dat''' || '''Cuboid with 2 adjacent faces missing 11 edges''' | ||
|- | |- | ||
| [[File:box2-11.png| | | [[File:box2-11.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 373: | Line 379: | ||
| '''tri3.dat''' || '''Right-angled triangular prism with 3 faces''' | | '''tri3.dat''' || '''Right-angled triangular prism with 3 faces''' | ||
|- | |- | ||
| [[File:tri3.png| | | [[File:tri3.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 379: | Line 385: | ||
| '''tri3-1.dat''' || '''Right-angled triangular prism with 3 faces''' | | '''tri3-1.dat''' || '''Right-angled triangular prism with 3 faces''' | ||
|- | |- | ||
| [[File:tri3-1.png| | | [[File:tri3-1.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 385: | Line 391: | ||
| '''tri3-3.dat''' || '''Right-angled triangular prism missing 3 faces''' | | '''tri3-3.dat''' || '''Right-angled triangular prism missing 3 faces''' | ||
|- | |- | ||
| [[File:tri3-3.png| | | [[File:tri3-3.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 391: | Line 397: | ||
| '''tri3a1.dat''' || '''Right-angled triangular prism with 3 adjacent faces missing 1 edge''' | | '''tri3a1.dat''' || '''Right-angled triangular prism with 3 adjacent faces missing 1 edge''' | ||
|- | |- | ||
| [[File:tri3a1.png| | | [[File:tri3a1.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 397: | Line 403: | ||
| '''tri3a3.dat''' || '''Right-angled triangular prism with 3 adjacent faces missing 3 edge''' | | '''tri3a3.dat''' || '''Right-angled triangular prism with 3 adjacent faces missing 3 edge''' | ||
|- | |- | ||
| [[File:tri3a3.png| | | [[File:tri3a3.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 403: | Line 409: | ||
| '''tri3a4''' || '''Right-angled triangular prism with 3 adjacent faces missing 4 adjacent edges''' | | '''tri3a4''' || '''Right-angled triangular prism with 3 adjacent faces missing 4 adjacent edges''' | ||
|- | |- | ||
| [[File:tri3a4.png| | | [[File:tri3a4.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 409: | Line 415: | ||
| '''tri3u1.dat''' || '''Right-angled triangular prism with 3 faces missing 1 edge''' | | '''tri3u1.dat''' || '''Right-angled triangular prism with 3 faces missing 1 edge''' | ||
|- | |- | ||
| [[File:tri3u1.png| | | [[File:tri3u1.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 415: | Line 421: | ||
| '''tri3u3.dat''' || '''Right-angled triangular prism with 3 faces missing 3 edges''' | | '''tri3u3.dat''' || '''Right-angled triangular prism with 3 faces missing 3 edges''' | ||
|- | |- | ||
| [[File:tri3u3.png| | | [[File:tri3u3.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 421: | Line 427: | ||
| '''tri4.dat''' || '''Right-angled triangular prism with 2 square faces and 2 triangular faces''' | | '''tri4.dat''' || '''Right-angled triangular prism with 2 square faces and 2 triangular faces''' | ||
|- | |- | ||
| [[File:tri4.png| | | [[File:tri4.png|x200px|alt=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. | || 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. | ||
|- | |- | ||
Line 430: | Line 436: | ||
|| | || | ||
|} | |} | ||
</div> | |||
{| style="text-align:right; width: 100%;" | {| style="text-align:right; width: 100%;" | ||
Line 436: | Line 444: | ||
==Curved primitives== | ==Curved primitives== | ||
<div class="mw-collapsible"> | |||
LDraw represents curved surfaces as polygons. For circular components two series of primitives are provided. | LDraw represents curved surfaces as polygons. For circular components two series of primitives are provided. | ||
Line 531: | Line 540: | ||
''Currently available primitives:''<br> | ''Currently available primitives:''<br> | ||
Regular resolution (n-f): 1-16, 1-8, 3-16, 1-4 | Regular resolution (n-f): 1-16, 1-8, 3-16, 1-4<br> | ||
Low resolution (n-f): 3-16, 3-8 | |||
|- | |- | ||
Line 577: | Line 587: | ||
|| 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. | || 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". | Note: The correct nomenclature is to use the full word "ring". All newly created ring primitives must use "ring". Official files using "rin" have been obsoleted. All files using "ri" or "rin" have been moved, to use "ring". | ||
''Currently available primitives:''<br> | ''Currently available primitives:''<br> | ||
Regular resolution:<br> | Regular resolution:<br> | ||
r=1: 1- | r=1: 1-16ring1, 1-8ring1, 3-16ring1, 1-4ring1, 5-16ring1, 3-8ring1, 7-16ring1, 2-4ring1, 9-16ring1, 5-8ring1, 3-4ring1, 7-8ring1, 4-4ring1<br> | ||
r=2: 1- | r=2: 1-16ring2, 1-8ring2, 3-16ring2, 1-4ring2, 5-16ring2, 3-8ring2, 7-16ring2, 2-4ring2, 5-8ring2, 3-4ring2, 7-8ring2, 4-4ring2<br> | ||
r=3: 1- | r=3: 1-16ring3, 1-8ring3, 3-16ring3, 1-4ring3, 5-16ring3, 3-8ring3, 7-16ring3, 2-4ring3, 5-8ring3, 3-4ring3, 7-8ring3, 4-4ring3<br> | ||
r=4: 1- | r=4: 1-16ring4, 1-8ring4, 3-16ring4, 1-4ring4, 5-16ring4, 3-8ring4, 7-16ring4, 2-4ring4, 5-8ring4, 3-4ring4, 4-4ring4<br> | ||
r=5: 1-8ring5, 3- | r=5: 1-8ring5, 3-16ring5, 1-4ring5, 5-16ring5, 3-8ring5, 2-4ring5, 3-4ring5, 4-4ring5<br> | ||
r=6: 1-16ring6, 1-8ring6, 3- | r=6: 1-16ring6, 1-8ring6, 3-16ring6, 1-4ring6, 3-8ring6, 7-16ring6, 2-4ring6, 5-8ring6, 3-4ring6, 4-4ring6<br> | ||
r=7: 1-8ring7, 3- | r=7: 1-8ring7, 3-16ring7, 1-4ring7, 5-16ring7, 3-8ring7, 7-16ring7, 2-4ring7, 3-4ring7, 4-4ring7<br> | ||
r=8: 1-16ring8, 1-8ring8, 3- | r=8: 1-16ring8, 1-8ring8, 3-16ring8, 1-4ring8, 5-16ring8, 3-8ring8, 7-16ring8, 2-4ring8, 3-4ring8, 7-8ring8, 4-4ring8<br> | ||
r=9: 1-16ring9, 1-8ring9, 3- | r=9: 1-16ring9, 1-8ring9, 3-16ring9, 1-4ring9, 5-16ring9, 3-8ring9, 7-16ring9, 2-4ring9, 3-4ring9, 7-8ring9, 4-4ring9<br> | ||
r=10: | r=10: 1-8ring10, 3-16ring10, 1-4ring10, 3-8ring10, 2-4ring10, 5-8ring10, 3-4ring10, 4-4ring10<br> | ||
r=11: 1-16ring11, 1-8ring11, 3-16ring11, 1- | r=11: 1-16ring11, 1-8ring11, 3-16ring11, 1-4ring11, 7-16ring11, 2-4ring11, 4-4ring11<br> | ||
r=12: 1-8ring12, 3-16ring12, 1- | r=12: 1-8ring12, 3-16ring12, 1-4ring12, 5-16ring12, 3-8ring12, 2-4ring12, 7-8ring12, 4-4ring12<br> | ||
r=13: 1-8ring13, 3-16ring13, 1- | r=13: 1-8ring13, 3-16ring13, 1-4ring13, 5-16ring13, 3-8ring13, 2-4ring13, 4-4ring13<br> | ||
r=14: 3-16ring14, 1- | r=14: 3-16ring14, 1-4ring14, 2-4ring14, 3-4ring14, 4-4ring14<br> | ||
r=15: 1- | r=15: 1-8ring15, 3-16ring15, 1-4ring15, 3-8ring15, 2-4ring15, 7-8ring15, 4-4ring15<br> | ||
r=16: 1-8ring16, 1- | r=16: 1-8ring16, 1-4ring16, 3-8ring16, 2-4ring16, 3-4ring16, 7-8ring16, 4-4ring16<br> | ||
r=17: 1- | r=17: 1-8ring17, 1-4ring17, 5-16ring17, 3-8ring17, 7-16ring17, 2-4ring17, 4-4ring17<br> | ||
r=18: 1-16ring18, 1- | r=18: 1-16ring18, 1-8ring18, 1-4ring18, 3-8ring18, 2-4ring18, 4-4ring18<br> | ||
r=19: 1-16ring19, 1- | r=19: 1-16ring19, 1-8ring19, 3-16ring19, 1-4ring19, 3-8ring19, 2-4ring19, 3-4ring19, 4-4ring19<br> | ||
r=20: 1- | r=20: 1-4ring20, 2-4ring20, 4-4ring20<br> | ||
r=21: 1-4ring21, 3-8ring21, 4- | r=21: 1-4ring21, 3-8ring21, 4-4ring21<br> | ||
r=22: 1-16ring22, 3-16ring22, 2- | r=22: 1-16ring22, 3-16ring22, 2-4ring22, 3-4ring22, 4-4ring22<br> | ||
r=23: 1-16ring23, 1- | r=23: 1-16ring23, 1-8ring23, 1-4ring23, 2-4ring23, 4-4ring23<br> | ||
r=24: 1-16ring24, 3-16ring24, 1- | r=24: 1-16ring24, 3-16ring24, 1-4ring24, 3-8ring24, 2-4ring24, 4-4ring24<br> | ||
r=25: 1-4ring25, 2- | r=25: 1-4ring25, 2-4ring25, 4-4ring25<br> | ||
r=26: 1-4ring26, 2-4ring26, 4- | r=26: 1-4ring26, 2-4ring26, 4-4ring26<br> | ||
r=27: 1-8ring27, 4-4ring27<br> | r=27: 1-8ring27, 4-4ring27<br> | ||
r=28: 1-8ring28, 1- | r=28: 1-8ring28, 1-4ring28, 2-4ring28, 4-4ring28<br> | ||
r=29: 1-4ring29, 3-8ring29, 2-4ring29, 3-4ring29, 4- | r=29: 1-4ring29, 3-8ring29, 2-4ring29, 3-4ring29, 4-4ring29<br> | ||
r=30: 2- | r=30: 2-4ring30, 4-4ring30<br> | ||
r=31: 2-4ring31, 4- | r=31: 2-4ring31, 4-4ring31<br> | ||
r=32: 1-8ring32, 2-4ring32, 4- | r=32: 1-8ring32, 2-4ring32, 4-4ring32<br> | ||
r=33: 1-8ring33, 1-4ring33, 4- | r=33: 1-8ring33, 1-4ring33, 4-4ring33<br> | ||
r=34: 1-8ring34, 1- | r=34: 1-8ring34, 1-4ring34, 4-4ring34<br> | ||
r=35: 1-8ring35, 4-4ring35<br> | r=35: 1-8ring35, 4-4ring35<br> | ||
r=36: 1-4ring36, 4- | r=36: 1-4ring36, 4-4ring36<br> | ||
r=37: 3-8ring37, 2-4ring37, 4- | r=37: 3-8ring37, 2-4ring37, 4-4ring37<br> | ||
r=38: 1- | r=38: 1-4ring38, 4-4ring38<br> | ||
r=39: 1-16ring39, 1- | r=39: 1-16ring39, 1-8ring39, 3-16ring39, 1-4ring39, 7-8ring39, 4-4ring39<br> | ||
r=40: 1-4ring40, 7- | r=40: 1-4ring40, 7-8ring40, 4-4ring40<br> | ||
r=41: 4-4ring41<br> | r=41: 4-4ring41<br> | ||
r=42: 2-4ring42<br> | r=42: 2-4ring42<br> | ||
r=43: 2-4ring43, 4- | r=43: 2-4ring43, 4-4ring43<br> | ||
r=44: 2-4ring44, 4- | r=44: 2-4ring44, 4-4ring44<br> | ||
r=45: 2-4ring45, 4- | r=45: 2-4ring45, 4-4ring45<br> | ||
r=46: 2-4ring46, 4- | r=46: 2-4ring46, 4-4ring46<br> | ||
r=47: 4- | r=47: 4-4ring47<br> | ||
r=48: 1- | r=48: 1-4ring48, 4-4ring48<br> | ||
r=49: 1- | r=49: 1-4ring49, 4-4ring49<br> | ||
r=50: 1- | r=50: 1-4ring50, 4-4ring50<br> | ||
r=51: 4- | r=51: 4-4ring51<br> | ||
r=52: 2- | r=52: 2-4ring52, 4-4ring52<br> | ||
r=53: 3-16ring53<br> | r=53: 3-16ring53<br> | ||
r=55: 2-4ring55<br> | r=55: 2-4ring55<br> | ||
r=57: 1-16ring57, 1-4ring57, 4- | r=57: 1-16ring57, 1-4ring57, 4-4ring57<br> | ||
r=61: 4-4ring61<br> | r=61: 4-4ring61<br> | ||
r=66: 1-4ring66, 4-4ring66<br> | r=66: 1-4ring66, 4-4ring66<br> | ||
Line 642: | Line 652: | ||
r=70: 1-16ring70, 1-8ring70, 3-16ring70, 2-4ring70, 4-4ring70<br> | r=70: 1-16ring70, 1-8ring70, 3-16ring70, 2-4ring70, 4-4ring70<br> | ||
r=71: 4-4ring71<br> | r=71: 4-4ring71<br> | ||
r=77: 4- | r=77: 4-4ring77<br> | ||
r=78: 4- | r=78: 4-4ring78<br> | ||
r=79: 1-4ring79, 4- | r=79: 1-4ring79, 4-4ring79<br> | ||
r=80: 3-16ring80<br> | r=80: 3-16ring80<br> | ||
r=81: 4-4ring81<br> | r=81: 4-4ring81<br> | ||
r=85: 4- | r=85: 4-4ring85<br> | ||
r=88: 4-4ring88<br> | r=88: 4-4ring88<br> | ||
r=95: 4-4ring95<br> | r=95: 4-4ring95<br> | ||
Line 654: | Line 664: | ||
<br> | <br> | ||
High resolution:<br> | High resolution:<br> | ||
r=1: 1-24ring1, 1- | r=1: 1-24ring1, 1-12ring1, 1-8ring1, 1-6ring1, 3-16ring1, 11-48ring1, 1-4ring1, 5-16ring1, 7-16ring1, 2-4ring1, 4-4ring1.dat<br> | ||
r=2: 1-24ring2, 1-16ring2, 1- | r=2: 1-24ring2, 1-16ring2, 1-12ring2, 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<br> | ||
r=3: 1- | r=3: 1-24ring3, 1-16ring3, 1-12ring3, 1-8ring3, 7-48ring3, 1-6ring3, 5-24ring3, 1-4ring3, 1-3ring3, 7-16ring3, 2-4ring3, 4-4ring3<br> | ||
r=4: 1- | r=4: 1-24ring4, 1-12ring4, 5-48ring4, 1-8ring4, 7-48ring4, 5-24ring4, 1-4ring4, 7-24ring4, 2-4ring4, 4-4ring4<br> | ||
r=5: 1- | r=5: 1-24ring5, 1-12ring5, 5-48ring5, 1-8ring5, 7-48ring5, 1-6ring5, 5-24ring5, 1-4ring5, 2-4ring5, 4-4ring5<br> | ||
r=6: 1- | r=6: 1-48ring6, 1-24ring6, 1-16ring6, 1-12ring6, 1-8ring6, 1-6ring6, 5-24ring6, 1-4ring6, 2-4ring6, 5-6ring6, 4-4ring6<br> | ||
r=7: 1- | r=7: 1-24ring7, 1-16ring7, 1-8ring7, 7-48ring7, 1-6ring7, 3-16ring7, 5-24ring7, 1-4ring7, 2-3ring7, 3-4ring7, 4-4ring7<br> | ||
r=8: 1- | r=8: 1-16ring8, 1-12ring8, 1-8ring8, 7-48ring8, 1-6ring8, 3-16ring8, 5-24ring8, 1-4ring8, 11-24ring8, 4-4ring8<br> | ||
r=9: 1- | r=9: 1-48ring9, 1-24ring9, 1-12ring9, 5-48ring9, 1-8ring9, 5-24ring9, 11-48ring9, 1-6ring9, 1-4ring9, 1-3ring9, 2-4ring9, 4-4ring9<br> | ||
r=10: 1-24ring10, 1-16ring10, 1-12ring10, 5-48ring10, 1-8ring10, 7-48ring10, 1-6ring10, 5-24ring10, 1- | r=10: 1-24ring10, 1-16ring10, 1-12ring10, 5-48ring10, 1-8ring10, 7-48ring10, 1-6ring10, 5-24ring10, 1-4ring10, 2-4ring10, 4-4ring10<br> | ||
r=11: 1-24ring11, 1-16ring11, 1-8ring11, 7-48ring11, 3-16ring11, 1- | r=11: 1-24ring11, 1-16ring11, 1-8ring11, 7-48ring11, 3-16ring11, 1-4ring11, 7-16ring11, 2-4ring11, 4-4ring11<br> | ||
r=12: 1-12ring12, 1-8ring12, 1-4ring12, 1- | r=12: 1-12ring12, 1-8ring12, 1-4ring12, 1-6ring12, 2-4ring12, 4-4ring12<br> | ||
r=13: 1-16ring13, 1-12ring13, 1-8ring13, 1- | r=13: 1-16ring13, 1-12ring13, 1-8ring13, 1-6ring13, 5-24ring13, 1-4ring13, 5-12ring13, 11-24ring13, 3-4ring13, 4-4ring13<br> | ||
r=14: 1-24ring14, 1-16ring14, 1-12ring14, 1- | r=14: 1-24ring14, 1-16ring14, 1-12ring14, 1-8ring14, 1-6ring14, 3-16ring14, 1-4ring14, 3-8ring14, 5-12ring14, 3-4ring14, 4-4ring14<br> | ||
r=15: 1-48ring15, 1-24ring15, 1-16ring15, 1-12ring15, 1-8ring15, 1-6ring15, 3-16ring15, 5-24ring15, 1- | r=15: 1-48ring15, 1-24ring15, 1-16ring15, 1-12ring15, 1-8ring15, 1-6ring15, 3-16ring15, 5-24ring15, 1-4ring15, 2-4ring15, 4-4ring15<br> | ||
r=16: 1-16ring16, 1- | r=16: 1-16ring16, 1-8ring16, 7-48ring16, 1-6ring16, 1-4ring16, 7-16ring16, 2-4ring16, 3-4ring16, 5-6ring16, 4-4ring16<br> | ||
r=17: 1-16ring17, 1-12ring17, 1- | r=17: 1-16ring17, 1-12ring17, 1-6ring17, 5-24ring17, 1-4ring17, 1-3ring17, 2-4ring17, 4-4ring17<br> | ||
r=18: 1-16ring18, 7-48ring18, 1- | r=18: 1-16ring18, 7-48ring18, 1-6ring18, 5-24ring18, 1-4ring18, 4-4ring18<br> | ||
r=19: 1-24ring19, 1-16ring19, 1-12ring19, 5-48ring19, 1-8ring19, 1- | r=19: 1-24ring19, 1-16ring19, 1-12ring19, 5-48ring19, 1-8ring19, 1-6ring19, 11-48ring19, 1-4ring19, 2-4ring19, 4-4ring19<br> | ||
r=20: 1-12ring20, 1- | r=20: 1-12ring20, 1-8ring20, 5-24ring20, 11-48ring20, 1-4ring20, 4-4ring20<br> | ||
r=21: 1-16ring21, 11-48ring21, 1- | r=21: 1-16ring21, 11-48ring21, 1-4ring21, 4-4ring21<br> | ||
r=22: 1-12ring22, 11-48ring22, 1- | r=22: 1-12ring22, 11-48ring22, 1-4ring22, 4-4ring22<br> | ||
r=23: 1- | r=23: 1-4ring23<br> | ||
r=24: 1-24ring24, 1-12ring24, 5-24ring24, 1- | r=24: 1-24ring24, 1-12ring24, 5-24ring24, 1-4ring24, 4-4ring24<br> | ||
r=25: 3-16ring25, 1- | r=25: 3-16ring25, 1-4ring25, 4-4ring25<br> | ||
r=26: 1- | r=26: 1-4ring26, 4-4ring26<br> | ||
r=27: 1- | r=27: 1-4ring27, 4-4ring27<br> | ||
r=28: 1- | r=28: 1-12ring28, 1-8ring28, 5-24ring28, 11-48ring28, 1-4ring28, 4-4ring28<br> | ||
r=29: 1-24ring29, 1-16ring29, 1-12ring29, 5-48ring29, 7-48ring29, 1-6ring29, 3-16ring29, 11-48ring29, 1- | r=29: 1-24ring29, 1-16ring29, 1-12ring29, 5-48ring29, 7-48ring29, 1-6ring29, 3-16ring29, 11-48ring29, 1-4ring29, 5-24ring29, 4-4ring29<br> | ||
r=30: 1-24ring30, 1-16ring30, 1- | r=30: 1-24ring30, 1-16ring30, 1-4ring30, 3-8ring30, 4-4ring30<br> | ||
r=31: 1- | r=31: 1-4ring31, 2-4ring31<br> | ||
r=32: 5-48ring32, 1- | r=32: 5-48ring32, 1-4ring32, 2-4ring32<br> | ||
r=33: 5-24ring33, 1- | r=33: 5-24ring33, 1-4ring33, 4-4ring33<br> | ||
r=34: 7-48ring34, 5-24ring34, 11-48ring34, 1- | r=34: 7-48ring34, 5-24ring34, 11-48ring34, 1-4ring34, 2-4ring34, 4-4ring34<br> | ||
r=35: 1-24ring35, 1-16ring35, 1- | r=35: 1-24ring35, 1-16ring35, 1-8ring35, 5-24ring35, 1-4ring35, 4-4ring35<br> | ||
r=36: 1-8ring36, 1- | r=36: 1-8ring36, 1-4ring36, 1-3ring36, 4-4ring36<br> | ||
r=37: 1-8ring37, 1- | r=37: 1-8ring37, 1-4ring37, 2-4ring37, 4-4ring37<br> | ||
r=38: 1-12ring38, 1-6ring38, 1- | r=38: 1-12ring38, 1-6ring38, 1-4ring38, 4-4ring38<br> | ||
r=39: 1-24ring39, 1-16ring39, 1-12ring39, 5-48ring39, 1- | r=39: 1-24ring39, 1-16ring39, 1-12ring39, 5-48ring39, 1-8ring39, 7-48ring39, 1-6ring39, 3-16ring39, 1-4ring39, 2-4ring39, 4-4ring39<br> | ||
r=40: 1- | r=40: 1-4ring40, 11-48ring40, 2-4ring40<br> | ||
r=41: 1-8ring41, 1- | r=41: 1-8ring41, 1-4ring41, 4-4ring41<br> | ||
r=42: 1-12ring42, 1-6ring42, 4- | r=42: 1-12ring42, 1-6ring42, 4-4ring42<br> | ||
r=43: 1-48ring43, 1-16ring43, 1-12ring43, 1-6ring43, 4-4ring43<br> | r=43: 1-48ring43, 1-16ring43, 1-12ring43, 1-6ring43, 4-4ring43<br> | ||
r=44: 4-4ring44<br> | r=44: 4-4ring44<br> | ||
r=45: 1- | r=45: 1-4ring45, 4-4ring45<br> | ||
r=46: 1-4ring46<br> | r=46: 1-4ring46<br> | ||
r=47: 1- | r=47: 1-6ring47, 1-4ring47, 4-4ring47<br> | ||
r=48: 7-48ring48, 1- | r=48: 7-48ring48, 1-4ring48, 2-4ring48<br> | ||
r=49: 1-24ring49, 1-16ring49, 1-4ring49, 4- | r=49: 1-24ring49, 1-16ring49, 1-4ring49, 4-4ring49<br> | ||
r=50: 1- | r=50: 1-6ring50, 3-16ring50, 4-4ring50<br> | ||
r=51: 1- | r=51: 1-4ring51<br> | ||
r=52: 11-24ring52, 4- | r=52: 11-24ring52, 4-4ring52<br> | ||
r=53: 1-8ring53, 3-16ring53, 4- | r=53: 1-8ring53, 3-16ring53, 4-4ring53<br> | ||
r=54: 4- | r=54: 4-4ring54<br> | ||
r=55: 2-4ring55<br> | r=55: 2-4ring55<br> | ||
r=56: 1-12ring56, 1- | r=56: 1-12ring56, 1-8ring56<br> | ||
r=57: 1-4ring57, 4-4ring57<br> | r=57: 1-4ring57, 4-4ring57<br> | ||
r=59: 1-24ring59, 1-16ring59, 1-12ring59<br> | r=59: 1-24ring59, 1-16ring59, 1-12ring59<br> | ||
r=60: 1-24ring60, 1-16ring60<br> | r=60: 1-24ring60, 1-16ring60<br> | ||
r=63: 1- | r=63: 1-4ring63<br> | ||
r=64: 1- | r=64: 1-4ring64<br> | ||
r=65: 1- | r=65: 1-4ring65<br> | ||
r=69: 5-24ring69<br> | r=69: 5-24ring69<br> | ||
r=70: 1- | r=70: 1-4ring70<br> | ||
r=71: 1- | r=71: 1-4ring71, 4-4ring71<br> | ||
r=77: 4-4ring77<br> | r=77: 4-4ring77<br> | ||
r=78: 1-12ring78<br> | r=78: 1-12ring78<br> | ||
Line 724: | Line 734: | ||
r=80: 7-48ring80, 1-6ring80<br> | r=80: 7-48ring80, 1-6ring80<br> | ||
r=81: 4-4ring81<br> | r=81: 4-4ring81<br> | ||
r=82: 1- | r=82: 1-4ring82<br> | ||
r=83: 1- | r=83: 1-4ring83<br> | ||
r=84: 1-8ring84<br> | r=84: 1-8ring84<br> | ||
r=85: 4-4ring85<br> | r=85: 4-4ring85<br> | ||
Line 732: | Line 742: | ||
r=95: 2-4ring95<br> | r=95: 2-4ring95<br> | ||
r=96: 1-4ring96<br> | r=96: 1-4ring96<br> | ||
r=97: 4- | r=97: 4-4ring97<br> | ||
r=99: 1-6ring99, 4-4ring99<br> | r=99: 1-6ring99, 4-4ring99<br> | ||
r=100: 1-24ring100, 4-4ring100<br> | r=100: 1-24ring100, 4-4ring100<br> | ||
Line 754: | Line 764: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
=== Three dimensional === | === Three dimensional === | ||
|- | |- | ||
Line 850: | Line 861: | ||
| '''1-4cylj2_1x2.dat''' || '''Cylinder Joint 1 to 2 Inverted 0.25''' | | '''1-4cylj2_1x2.dat''' || '''Cylinder Joint 1 to 2 Inverted 0.25''' | ||
|- | |- | ||
| [[File:1-4cylj2_1x2.png |200px|alt=1- | | [[File:1-4cylj2_1x2.png |x200px|alt=1-4cylj2_1x2]] | ||
|| | |||
|- | |||
| '''2-4cylj1x1.dat''' || '''Cylinder 0.5 Junction''' | |||
|- | |||
| [[File:2-4cylj1x1.png |200px|alt=2-4cylj1x1]] | |||
|| | |||
|- | |||
| '''2-4cylj1x1e.dat''' || '''Cylinder 0.5 Junction with Edge Lines''' | |||
|- | |||
| [[File:2-4cylj1x1e.png |200px|alt=2-4cylj1x1e]] | |||
|| | |||
|- | |||
| '''4-4cylj1x1e.dat''' || '''Cylinder Junction 1 to 1 with Intersection Lines 1.0''' | |||
|- | |||
| [[File:4-4cylj1x1e.png |200px|alt=4-4cylj1x1e]] | |||
|| | |||
|- | |||
| '''1-8tric.dat''' || '''Tri-Cylinder Intersection 0.125''' | |||
|- | |||
| [[File:1-8tric.png |200px|alt=1-8tric]] | |||
|| | || | ||
|- | |- | ||
Line 890: | Line 925: | ||
r=9: 3-16con9, 1-4con9, 3-8con9, 4-4con9<br> | r=9: 3-16con9, 1-4con9, 3-8con9, 4-4con9<br> | ||
r=10: 1-8con10, 3-8con10, 1-4con10, 2-4con10, 4-4con10<br> | r=10: 1-8con10, 3-8con10, 1-4con10, 2-4con10, 4-4con10<br> | ||
r=11: 1-4con11, 2-4con11, 4-4con11<br> | r=11: 1-4con11, 5-16con11, 2-4con11, 4-4con11<br> | ||
r=12: 1-8con12, 3-16con12, 1-4con12, 5-16con12, 3-8con12, 2-4con12, 4-4con12<br> | r=12: 1-8con12, 3-16con12, 1-4con12, 5-16con12, 3-8con12, 2-4con12, 4-4con12<br> | ||
r=13: 1-4con13, 2-4con13, 4-4con13<br> | r=13: 1-4con13, 2-4con13, 4-4con13<br> | ||
Line 1,051: | Line 1,086: | ||
''Currently available reverse ratio torus primitives:''<br> | ''Currently available reverse ratio torus primitives:''<br> | ||
Regular resolution:<br> | Regular resolution:<br> | ||
Inner:<br> | |||
::r04i1000<br> | |||
Outer:<br> | |||
::r04o1000, r04o1333, r04o1375, r04o1500, r04o2000, r04o2250, r04o3000, r04o3500, r04o4600<br> | ::r04o1000, r04o1333, r04o1375, r04o1500, r04o2000, r04o2250, r04o3000, r04o3500, r04o4600<br> | ||
::r08o1000, r08o1800<br> | ::r08o1000, r08o1800<br> | ||
Tube:<br> | |||
::r04q1000, r08q1000 | |||
<br> | <br> | ||
High resolution:<br> | High resolution:<br> | ||
Line 1,062: | Line 1,102: | ||
|- | |- | ||
| [[File:T04q4000.png |200px|alt=T04q4000]] | | [[File:T04q4000.png |200px|alt=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. | ||<s>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.</s> | ||
It is superceded by t04q4000.dat. | It is superceded by t04q4000.dat. | ||
Line 1,085: | Line 1,125: | ||
| '''n-fedgh.dat''' || '''Cylinder Helical Edge''' | | '''n-fedgh.dat''' || '''Cylinder Helical Edge''' | ||
|- | |- | ||
| [[File: | | [[File:edgh.png |200px|alt=edgh]] | ||
||This primitive represents ... | ||This primitive represents ... | ||
Line 1,095: | Line 1,135: | ||
| '''n-fcylh.dat''' || '''Cylinder Helical''' | | '''n-fcylh.dat''' || '''Cylinder Helical''' | ||
|- | |- | ||
| [[File: | | [[File:cyhl.png |200px|alt=cyhl]] | ||
||This primitive represents ... | ||This primitive represents ... | ||
Line 1,101: | Line 1,141: | ||
Regular resolution (n-f): 3-16, 1-8, 1-4<br> | Regular resolution (n-f): 3-16, 1-8, 1-4<br> | ||
|} | |} | ||
</div> | |||
{| style="text-align:right; width: 100%;" | {| style="text-align:right; width: 100%;" | ||
Line 1,107: | Line 1,149: | ||
==Technic primitives== | ==Technic primitives== | ||
<div class="mw-collapsible"> | |||
{| class="wikitable" style="width: 100%;" | {| class="wikitable" style="width: 100%;" | ||
Line 1,117: | Line 1,160: | ||
|- | |- | ||
| '''axle.dat''' || '''Technic | | '''axle.dat''' || '''Technic Axle Section''' | ||
|- | |- | ||
|style="width: 200px;"| [[File:Axle.png|200px|alt=Axle]] | |style="width: 200px;"| [[File:Axle.png|200px|alt=Axle]] | ||
Line 1,123: | Line 1,166: | ||
|- | |- | ||
| '''axleend.dat''' || '''Technic | | '''axlehol8.dat''' || '''Technic Axle Perimeter''' | ||
|- | |||
| [[File:Axlehol8.png|200px|alt=Axlehol8]] | |||
||This primitive is exclusively used for axles never for axle holes. | |||
|- | |||
| '''axlehol9.dat''' || '''Technic Axle Inner Edges''' | |||
|- | |||
| [[File:Axlehol9.png|200px|alt=Axlehol9]] | |||
||This primitive is exclusively used for axles never for axle holes. | |||
|- | |||
| '''axleho10.dat''' || '''Technic Axle Base Surface''' | |||
|- | |||
| [[File:Axleho10.png|200px|alt=Axleho10]] | |||
||This primitive is exclusively used for axles never for axle holes. | |||
|- | |||
| '''axleend.dat''' || '''Technic Axle End''' | |||
|- | |- | ||
| [[File:axleend.png|200px|alt=Axleend]] | | [[File:axleend.png|200px|alt=Axleend]] | ||
Line 1,159: | Line 1,220: | ||
| [[File:Axlehol3.png|200px|alt=Axlehol3]] | | [[File:Axlehol3.png|200px|alt=Axlehol3]] | ||
||This primitive produces the outer edges of the teeth of a technic axle hole. | ||This primitive produces the outer edges of the teeth of a technic axle hole. | ||
|- | |||
| '''axl5hol8.dat''' || '''Technic Axle Hole Rounded Perimeter''' | |||
|- | |||
| [[File:Axl5hol8.png|200px|alt=Axl5hol8]] | |||
|| | |||
|- | |||
| '''axl5hol9.dat''' || '''Technic Axle Hole Rounded Tooth Outer Edges''' | |||
|- | |||
| [[File:Axl5hol9.png|200px|alt=Axl5hol9]] | |||
|| | |||
|- | |||
| '''axl5ho10.dat''' || '''Technic Axle Hole Rounded Tooth Surface''' | |||
|- | |||
| [[File:Axl5ho10.png|200px|alt=Axl5ho10]] | |||
|| | |||
|- | |||
| '''axl5end.dat''' || '''Technic Axle Hole Rounded End Surface''' | |||
|- | |||
| [[File:Axl5end.png|200px|alt=Axl5end]] | |||
|| | |||
|- | |- | ||
Line 1,183: | Line 1,268: | ||
| [[File:Axlehol7.png|200px|alt=Axlehol7]] | | [[File:Axlehol7.png|200px|alt=Axlehol7]] | ||
||This primitive comprises a 1LDu long section of outer sides of a technic axle. It may be scaled in the {y} dimension. | ||This primitive comprises a 1LDu long section of outer sides of a technic axle. It may be scaled in the {y} dimension. | ||
|- | |- | ||
Line 1,325: | Line 1,392: | ||
{| class="wikitable" style="width: 100%;" | {| class="wikitable" style="width: 100%;" | ||
|+ | |+ | ||
=== | ===Technic axle hole Two-toothed=== | ||
|- | |- | ||
| ''' | |style="width: 200px;"|'''axl4hole.dat'''|| '''Technic Axle Hole Two-toothed Sliding''' | ||
|- | |- | ||
| [[File:Axl4hole.png|200px|alt=Axl4hole]] | |||
|| | || | ||
|- | |- | ||
| '''axlesphe.dat''' || '''Technic axle - truncated to fit ball joint''' | |'''axl4hol2.dat''' || '''Technic Axle Hole Two-toothed Sliding Side Edges''' | ||
|- | |||
| [[File:Axl4hol2.png|200px|alt=Axl4hol2]] | |||
|| | |||
|- | |||
|'''axl4hol3.dat''' || '''Technic Axle Hole Two-toothed Sliding Tooth Outer Edges''' | |||
|- | |||
| [[File:Axl4hol3.png|200px|alt=Axl4hol3]] | |||
|| | |||
|} | |||
{| style="text-align:right; width: 100%;" | |||
|[[#top|Return to top]] | |||
|} | |||
{| class="wikitable" style="width: 100%;" | |||
|+ | |||
===Special Technic axle primitive=== | |||
|- | |||
| '''axlebeam.dat''' || '''Technic Axle Truncated to fit Technic Beam End Surface''' | |||
|- | |||
|style="width: 200px;"|[[File:Axlebeam.png|200px|alt=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:<br> | |||
1 16 0 0 -10 9 0 0 0 0 -9 0 20 0 2-4cyli.dat<br> | |||
1 16 0 0 0 1 0 0 0 1 0 0 0 1 axlebeam.dat<br> | |||
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''' | |||
|- | |- | ||
| [[File:Axlesphe.png|200px|alt=Axlesphe]] | | [[File:Axlesphe.png|200px|alt=Axlesphe]] | ||
Line 1,971: | Line 2,065: | ||
| '''toothb14.dat''' || '''Tooth for 14-tooth Technic bevel gears''' | | '''toothb14.dat''' || '''Tooth for 14-tooth Technic bevel gears''' | ||
|- | |- | ||
| [[File:Toothb14.png| | | [[File:Toothb14.png|x200px|alt=Toothb14]] | ||
|| | || | ||
|- | |- | ||
Line 1,989: | Line 2,083: | ||
| '''tootb28s.dat''' || '''Short tooth for 28-tooth Technic bevel gears''' | | '''tootb28s.dat''' || '''Short tooth for 28-tooth Technic bevel gears''' | ||
|- | |- | ||
| [[File:Tootb28s.png| | | [[File:Tootb28s.png|x200px|alt=Tootb28s]] | ||
|| | || | ||
|- | |- | ||
Line 1,995: | Line 2,089: | ||
| '''toothb28d.dat''' || '''Single Tooth for Technic Double Bevel Gear 28 Tooth''' | | '''toothb28d.dat''' || '''Single Tooth for Technic Double Bevel Gear 28 Tooth''' | ||
|- | |- | ||
| [[File:Toothb28d.png| | | [[File:Toothb28d.png|x200px|alt=Toothb28d]] | ||
|| | || | ||
|- | |- | ||
Line 2,001: | Line 2,095: | ||
| '''toothd28.dat''' || '''Tooth for 28-tooth Technic Differential''' | | '''toothd28.dat''' || '''Tooth for 28-tooth Technic Differential''' | ||
|- | |- | ||
| [[File:Toothd28.png| | | [[File:Toothd28.png|x200px|alt=Toothd28]] | ||
|| | || | ||
|- | |- | ||
Line 2,029: | Line 2,123: | ||
|colspan="2"| | |colspan="2"| | ||
These primitives represent various components of the Duplo-scale technic parts. | These primitives represent various components of the Duplo-scale technic parts. | ||
|- | |||
| '''dhingesocket.dat''' || '''Duplo Hinge Socket''' | |||
|- | |||
|[[File:Dhingesocket.png|200px|alt=Dhingesocket]] | |||
|- | |- | ||
Line 2,078: | Line 2,177: | ||
|| | || | ||
|} | |} | ||
</div> | |||
{| style="text-align:right; width: 100%;" | {| style="text-align:right; width: 100%;" | ||
Line 2,084: | Line 2,185: | ||
==Stud primitives== | ==Stud primitives== | ||
<div class="mw-collapsible"> | |||
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. | 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. | ||
Line 2,339: | Line 2,441: | ||
| '''st4jfil2.dat''' || '''Stud Tube Open to Fillet Narrow (2LDu) Joint''' | | '''st4jfil2.dat''' || '''Stud Tube Open to Fillet Narrow (2LDu) Joint''' | ||
|- | |- | ||
| [[File:St4jfil2.png| | | [[File:St4jfil2.png|x200px|alt=St4jfil2]] | ||
|| | || | ||
|- | |- | ||
Line 2,345: | Line 2,447: | ||
| '''st4jfil2oc.dat''' || '''Stud Tube Open to Fillet Narrow (2LDu) Joint Off Centre''' | | '''st4jfil2oc.dat''' || '''Stud Tube Open to Fillet Narrow (2LDu) Joint Off Centre''' | ||
|- | |- | ||
| [[File:St4jfil2oc.png| | | [[File:St4jfil2oc.png|x200px|alt=St4jfil2oc]] | ||
|| | || | ||
|- | |- | ||
Line 2,351: | Line 2,453: | ||
| '''st4jfil3.dat''' || '''Stud Tube Open to Fillet Standard (3LDu) Joint''' | | '''st4jfil3.dat''' || '''Stud Tube Open to Fillet Standard (3LDu) Joint''' | ||
|- | |- | ||
| [[File:St4jfil3.png| | | [[File:St4jfil3.png|x200px|alt=St4jfil3]] | ||
|| | || | ||
|- | |- | ||
Line 2,357: | Line 2,459: | ||
| '''st4jfil4.dat''' || '''Stud Tube Open to Fillet Wide (4LDu) Joint''' | | '''st4jfil4.dat''' || '''Stud Tube Open to Fillet Wide (4LDu) Joint''' | ||
|- | |- | ||
| [[File:St4jfil4.png| | | [[File:St4jfil4.png|x200px|alt=St4jfil4]] | ||
|| | || | ||
|- | |- | ||
Line 2,625: | Line 2,727: | ||
|| | || | ||
|} | |} | ||
</div> | |||
{| style="text-align:right; width: 100%;" | {| style="text-align:right; width: 100%;" | ||
Line 2,631: | Line 2,735: | ||
==Stud group primitives== | ==Stud group primitives== | ||
<div class="mw-collapsible"> | |||
Stud groups are provided to reduce the size of part files with many regularly spaced studs. The naming convention is stug'''N'''-'''X'''x'''Z'''.dat, where: | Stud groups are provided to reduce the size of part files with many regularly spaced studs. The naming convention is stug'''N'''-'''X'''x'''Z'''.dat, where: | ||
Line 2,648: | Line 2,753: | ||
{| class="wikitable" style="width: 100%;" | {| class="wikitable" style="width: 100%;" | ||
| ''' | | '''stug-mxn.dat''' || '''Regular stud''' | ||
|- | |- | ||
|style="width: 200px;"|[[File:Stug-3x3.png|200px|alt=Stugmxn.dat]] | |style="width: 200px;"|[[File:Stug-3x3.png|200px|alt=Stugmxn.dat]] | ||
Line 2,772: | Line 2,877: | ||
1x11<br> | 1x11<br> | ||
|} | |} | ||
</div> | |||
{| style="text-align:right; width: 100%;" | {| style="text-align:right; width: 100%;" | ||
Line 2,778: | Line 2,885: | ||
==Logo primitives== | ==Logo primitives== | ||
<div class="mw-collapsible"> | |||
This section comprises various primitives of LEGO and non-LEGO logos mostly used on patterns and stickers. These might be used as primitives or inlined code to see fit. | This section comprises various primitives of LEGO and non-LEGO logos mostly used on patterns and stickers. These might be used as primitives or inlined code to see fit. | ||
{| class="wikitable" style="width: 100%;" | {| class="wikitable" style="width: 100%;" | ||
|+ | |||
===LEGO logo=== | |||
|- | |||
|style="width: 200px;"|'''logo.dat''' || '''LEGO Logo for Studs - Non-3D Thin Lines''' | |style="width: 200px;"|'''logo.dat''' || '''LEGO Logo for Studs - Non-3D Thin Lines''' | ||
Line 2,829: | Line 2,941: | ||
|[[File:Logo-lego-6.png|200px|alt=Logo-lego-6]] | |[[File:Logo-lego-6.png|200px|alt=Logo-lego-6]] | ||
||Exact dimensions X = 58; Z = 5.25 | ||Exact dimensions X = 58; Z = 5.25 | ||
|- | |} | ||
{| class="wikitable" style="width: 100%;" | |||
|+ | |||
===General logos=== | |||
|- | |||
| '''logo-audi-text.dat''' || '''Logo Audi Text''' | |||
|- | |||
|[[File:Logo-audi-text.png|200px|alt=Logo-audi-text]] | |||
||Exact dimensions X = 29.703; Z = 7.906 | |||
|- | |||
| '''logo-audi-text-box.dat''' || '''Logo Audi Text Outer Box''' | |||
|- | |||
|[[File:Logo-audi-text-box.png|200px|alt=Logo-audi-text-box]] | |||
||Exact dimensions X = 29.703; Z = 7.906 | |||
|- | |||
| '''logo-camaro-script.dat''' || '''Logo Camaro Script''' | |||
|- | |||
|[[File:Logo-camaro-script.png|200px|alt=Logo-camaro-script]] | |||
||Exact dimensions X = 20; Z = 9.39 | |||
|- | |||
| '''logo-camaro-script-box.dat''' || '''Logo Camaro Script Box''' | |||
|- | |||
|[[File:Logo-camaro-script-box.png|200px|alt=Logo-camaro-script-box]] | |||
||Exact dimensions X = 20; Z = 9.39 | |||
|- | |||
| '''logo-chevrolet-text.dat''' || '''Logo Chevrolet Text''' | | '''logo-chevrolet-text.dat''' || '''Logo Chevrolet Text''' | ||
Line 2,852: | Line 2,994: | ||
|- | |- | ||
|[[File:Logo-exxon-box.png|200px|alt=Logo-exxon-box]] | |[[File:Logo-exxon-box.png|200px|alt=Logo-exxon-box]] | ||
|| | |||
|- | |||
| '''logo-fire-badge-big-flame.dat''' || '''Logo Fire Badge Big Flame''' | |||
|- | |||
|[[File:Logo-fire-badge-big-flame.png|200px|alt=Logo-fire-badge-big-flame]] | |||
|| | |||
|- | |||
| '''logo-fire-badge-small-flame.dat''' || '''Logo Fire Brand Small Flame''' | |||
|- | |||
|[[File:Logo-fire-badge-small-flame.png|200px|alt=Logo-fire-badge-small-flame]] | |||
|| | |||
|- | |||
| '''logo-fire-badge-shield-background.dat''' || '''Logo Fire Badge Shield Background''' | |||
|- | |||
|[[File:Logo-fire-badge-shield-background.png|200px|alt=Logo-fire-badge-shield-background]] | |||
|| | |||
|- | |||
| '''logo-ford-box-quarter.dat''' || '''Logo Ford Outer Box - Quarter''' | |||
|- | |||
|[[File:Logo-ford-box-quarter.png|200px|alt=Logo-ford-box-quarter]] | |||
|| | |||
|- | |||
| '''logo-ford-oval.dat''' || '''Logo Ford Oval''' | |||
|- | |||
|[[File:Logo-ford-oval.png|200px|alt=Logo-ford-oval]] | |||
|| | |||
|- | |||
| '''logo-ford-oval-text.dat''' || '''Logo Ford Oval - Text''' | |||
|- | |||
|[[File:Logo-ford-oval-text.png|200px|alt=Logo-ford-oval-text]] | |||
|| | || | ||
|- | |- | ||
Line 3,143: | Line 3,321: | ||
|} | |} | ||
</div> | |||
{| style="text-align:right; width: 100%;" | {| style="text-align:right; width: 100%;" | ||
Line 3,149: | Line 3,328: | ||
==Miscellaneous primitives== | ==Miscellaneous primitives== | ||
<div class="mw-collapsible"> | |||
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. | 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. | ||
Line 3,664: | Line 3,844: | ||
|- | |- | ||
|[[File:Phandle1.png|200px|alt=Phandle1]] | |[[File:Phandle1.png|200px|alt=Phandle1]] | ||
|| | |||
|- | |||
| '''phandle2.dat''' || '''Bar Handle Attachment with 2 Open Sides''' | |||
|- | |||
|[[File:Phandle2.png|200px|alt=Phandle2]] | |||
|| | || | ||
|} | |} | ||
Line 3,714: | Line 3,900: | ||
|- | |- | ||
|[[File:Znap2.png|200px|alt=Znap2]] | |[[File:Znap2.png|200px|alt=Znap2]] | ||
|| | |||
|- | |||
| '''znap2a.dat''' || '''Znap Peghole Spacer - Half, One-Sided Flange''' | |||
|- | |||
|[[File:Znap2a.png|200px|alt=Znap2a]] | |||
|| | || | ||
|- | |- | ||
Line 3,726: | Line 3,918: | ||
|- | |- | ||
|[[File:Znap3b.png|200px|alt=Znap3b]] | |[[File:Znap3b.png|200px|alt=Znap3b]] | ||
|| | |||
|- | |||
| '''znap3c.dat''' || '''Znap Peghole Spacer with Angle - Half''' | |||
|- | |||
|[[File:Znap3c.png|200px|alt=Znap3c]] | |||
|| | || | ||
|- | |- | ||
Line 3,757: | Line 3,955: | ||
{| class="wikitable" style="width: 100%;" | {| class="wikitable" style="width: 100%;" | ||
|+ | |+ | ||
===Clikits primitives=== | ===Clikits primitives=== | ||
|- | |- | ||
Line 3,814: | Line 4,013: | ||
|| | || | ||
|} | |} | ||
</div> | |||
{| style="text-align:right; width: 100%;" | {| style="text-align:right; width: 100%;" | ||
|[[#top|Return to top]] | |[[#top|Return to top]] | ||
|} | |} |
Revision as of 17:10, 29 April 2024
LDraw Primitives Reference
Latest Update: 29.04.2024, added the LDraw 2024-03 primitives.
This page is a source of reference for the LDraw primitives in the \LDraw\p directory. Primitives are defined as highly re-usable components of LEGO parts modelled for LDraw. They serve several purposes :
- To speed up parts authoring by providing a library of components which can be incorporated into several parts
- To allow rendering software to make substitutions of curved components
Within this reference material the available primitives are categorised into:
Each section contains an overview of the characteristics common to all primitives within that category. Primitives are grouped into classes within each category - one class of primitive serving a similar purpose at different sizes or resolutions. For each class of primitive, a brief description of the purpose of the primitive is provided, with notes on its co-ordinate origin, default size and rules for scaling. A list of the available primitives is shown.
An understanding of the orientation of the co-ordinate axes is essential for authoring a part for LDraw. For reference within this page the axes and their direction is shown in this diagram.
Rectilinear primitives
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.
Do NOT rotate rect primitives outside of right angles: 90°, 180 ... on all axes.
Return to top |
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
Return to top |
Return to top |
Technic primitives
Return to top |
Return to top |
Return to top |
Return to top |
Return to top |
Return to top |
Return to top |
Return to top |
Return to top |
Return to top |
Return to top |
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].
Return to top |
Return to top |
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.
Return to top |
Logo primitives
This section comprises various primitives of LEGO and non-LEGO logos mostly used on patterns and stickers. These might be used as primitives or inlined code to see fit.
Return to top |
Miscellaneous 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.
Return to top |
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).
Return to top |
Duplo primitives
This section comprises primitives for Duplo parts, all of which have been modelled and released into the official library.
Return to top |
Joint-8 Ball 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.
joint8ball.dat | Joint-8 Ball with Straight Bar |
joint8socket1.dat | Joint-8 Socket with Friction |
joint8socket2.dat | Joint-8 Socket Free Square |
Return to top |
Minifig primitives
This section comprises primitives for minifig parts. 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.
knob1.dat | Minifig Arm Knob |
hipstud.dat | Stud for Minifig Hips |
hipstuda.dat | Stud for Minifig Hips without Base Edges |
hipstudh.dat | Stud for Minifig Hips with Hole |
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.
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.
Return to top |
Clip 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.
Return to top |
Wheel holding pin 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.
Return to top |
Handle 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.
handle.dat | Handle for Flat Shields |
handle2.dat | Handle for Bent Shields |
phandle1.dat | Bar Handle Attachment with Open Side |
phandle2.dat | Bar Handle Attachment with 2 Open Sides |
Return to top |
Hinge 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.
Return to top |
ZNAP parts primitives
This section comprises primitives for the ZNAP parts, all of which have been modelled and released into the official library.
Return to top |
Clikits 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.
clikitsstud.dat | Clikits Stud |
clikitshole.dat | Clikits Hole |
Return to top |
The rest of development
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.
Return to top |