Primitives Reference: Difference between revisions
Holly-Wood (talk | contribs) No edit summary |
Holly-Wood (talk | contribs) No edit summary |
||
Line 111: | Line 111: | ||
| '''box5-1.dat''' || '''Cuboid with 5 faces without 1 edge''' | | '''box5-1.dat''' || '''Cuboid with 5 faces without 1 edge''' | ||
|- | |- | ||
| [[File:box5-1.png|200px|thumb|alt=Box5]] | | [[File:box5-1.png|200px|thumb|alt=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. | || 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. | ||
|- | |- | ||
Line 118: | Line 118: | ||
| '''box5-2p.dat''' || '''Cuboid with 5 faces without 2 parallel edges''' | | '''box5-2p.dat''' || '''Cuboid with 5 faces without 2 parallel edges''' | ||
|- | |- | ||
| [[File:box5-2p.png|200px|thumb|alt=Box5]] | | [[File:box5-2p.png|200px|thumb|alt=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. | || 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. | ||
|- | |- | ||
Line 125: | Line 125: | ||
| '''box5-4a.dat''' || '''Cuboid with 5 faces without top edges''' | | '''box5-4a.dat''' || '''Cuboid with 5 faces without top edges''' | ||
|- | |- | ||
| [[File:box5-4a.png|200px|thumb|alt=Box5]] | | [[File:box5-4a.png|200px|thumb|alt=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. | || 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. | ||
|- | |- | ||
Line 132: | Line 132: | ||
| '''box5-12.dat''' || '''Cuboid with 5 faces missing all edges''' | | '''box5-12.dat''' || '''Cuboid with 5 faces missing all edges''' | ||
|- | |- | ||
| [[File:box5-12.png|200px|thumb|alt=Box5]] | | [[File:box5-12.png|200px|thumb|alt=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. | || 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. | ||
|- | |- | ||
Line 139: | Line 139: | ||
| '''box4.dat''' || '''Cuboid with 4 parallel faces and all edges''' | | '''box4.dat''' || '''Cuboid with 4 parallel faces and all edges''' | ||
|- | |- | ||
| [[File:box4.png|200px|thumb|alt= | | [[File:box4.png|200px|thumb|alt=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. | || 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. | ||
|- | |- | ||
Line 146: | Line 146: | ||
| '''box4o4a.dat''' || '''Cuboid with 4 parallel faces without bottom edges''' | | '''box4o4a.dat''' || '''Cuboid with 4 parallel faces without bottom edges''' | ||
|- | |- | ||
| [[File:box4o4a.png|200px|thumb|alt= | | [[File:box4o4a.png|200px|thumb|alt=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. | ||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. | ||
|- | |- | ||
Line 153: | Line 153: | ||
| '''box4o8a.dat''' || '''Cuboid with 4 parallel faces without top and bottom edges''' | | '''box4o8a.dat''' || '''Cuboid with 4 parallel faces without top and bottom edges''' | ||
|- | |- | ||
| [[File:box4o8a.png|200px|thumb|alt= | | [[File:box4o8a.png|200px|thumb|alt=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. | || 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. | ||
|- | |- | ||
Line 160: | Line 160: | ||
| '''box4t.dat''' || '''Cuboid with 4 adjacent and all edges''' | | '''box4t.dat''' || '''Cuboid with 4 adjacent and all edges''' | ||
|- | |- | ||
| [[File:box4t.png|200px|thumb|alt= | | [[File:box4t.png|200px|thumb|alt=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. | || 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. | ||
|- | |- | ||
Line 167: | Line 167: | ||
| '''box4-1.dat''' || '''Cuboid with 4 adjacent faces missing 1 edge''' | | '''box4-1.dat''' || '''Cuboid with 4 adjacent faces missing 1 edge''' | ||
|- | |- | ||
| [[File:box4-1.png|200px|thumb|alt= | | [[File:box4-1.png|200px|thumb|alt=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. | ||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. | ||
|- | |- | ||
Line 174: | Line 174: | ||
| '''box4-2p.dat''' || '''Cuboid with 4 faces without two opposite top edges''' | | '''box4-2p.dat''' || '''Cuboid with 4 faces without two opposite top edges''' | ||
|- | |- | ||
| [[File:box4-2p.png|200px|thumb|alt= | | [[File:box4-2p.png|200px|thumb|alt=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. | || 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. | ||
|- | |- | ||
Line 181: | Line 181: | ||
| '''box4-3p.dat''' || '''Cuboid with 4 faces without three parallel edges''' | | '''box4-3p.dat''' || '''Cuboid with 4 faces without three parallel edges''' | ||
|- | |- | ||
| [[File:box4-3p.png|200px|thumb|alt= | | [[File:box4-3p.png|200px|thumb|alt=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. | || 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. | ||
|- | |- | ||
Line 188: | Line 188: | ||
| '''box4-4a.dat''' || '''Cuboid with 4 adjacent faces missing 4 edges''' | | '''box4-4a.dat''' || '''Cuboid with 4 adjacent faces missing 4 edges''' | ||
|- | |- | ||
| [[File:box4-4a.png|200px|thumb|alt= | | [[File:box4-4a.png|200px|thumb|alt=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. | ||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. | ||
|- | |- | ||
Line 195: | Line 195: | ||
| '''box4-7a.dat''' || '''Cuboid with 4 adjacent faces missing 7 edges''' | | '''box4-7a.dat''' || '''Cuboid with 4 adjacent faces missing 7 edges''' | ||
|- | |- | ||
| [[File:box4-7a.png|200px|thumb|alt= | | [[File:box4-7a.png|200px|thumb|alt=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. | ||This primitive represents a cuboid missing the top {-y} and front {-z} faces and all the edges of both missing faces. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | ||
|- | |||
|- | |||
| '''box3-3.dat''' || '''Cuboid with 3 adjacent faces missing 3 edges''' | |||
|- | |||
| [[File:box3-3.png|200px|thumb|alt=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''' | |||
|- | |||
| [[File:box3-5a.png|200px|thumb|alt=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''' | |||
|- | |||
| [[File:box3-7a.png|200px|thumb|alt=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''' | |||
|- | |||
| [[File:box3-9a.png|200px|thumb|alt=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''' | |||
|- | |||
| [[File:box3-12.png|200px|thumb|alt=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. | |||
|-} | |-} |
Revision as of 14:10, 27 November 2023
LDraw Primitives Reference
This page is a source of reference for the LDraw primitives in the \LDraw\p directory. Primitives are defined as highly re-usable components of LEGO parts modelled for LDraw. They serve several purposes :
* To speed up parts authoring by providing a library of components which can be incorporated into several parts * To allow rendering software to make substitutions of curved components
Within this reference material the available primitives are categorised into:
Each section contains an overview of the characteristics common to all primitives within that category. Primitives are grouped into classes within each category - one class of primitive serving a similar purpose at different sizes or resolutions. For each class of primitive, a brief description of the purpose of the primitive is provided, with notes on its co-ordinate origin, default size and rules for scaling. A list of the available primitives is shown.
An understanding of the orientation of the co-ordinate axes is essential for authoring a part for LDraw. For reference within this page the axes and their direction is shown in this diagram.
Rectilinear primitives
These rectilinear elements may be scaled in the {x}, {y} and {z} dimensions to make elements of any size. For example
1 16 0 0 0 40 0 0 0 1 0 0 0 20 rect.dat
would generate a 80LDu x 40LDu rectangle in the {x,z} plane.
Although the default orientation of the rect.dat primitive is in the {x,z} plane the LDraw language allows for this to be transformed
1 16 0 0 0 0 1 0 40 0 0 0 0 20 rect.dat
would generate a 80LDu x 40LDu rectangle in the {y,z} plane.
1 16 0 0 0 40 0 0 0 0 20 0 1 0 rect.dat
would generate a 80LDu x 40LDu rectangle in the {x,y} plane.
rect.dat | Rectangle with all edges |
This primitive represents a rectangle in the {x,z} plane and the four edges that bound it. Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions. To avoid matrix arithmetic problems in some renderers, the third dimension ({y} in the default orientation) must be given a non-zero scaling factor.
1 16 0 0 0 5 0 0 0 1 0 0 0 20 rect.dat | |
rect3.dat | Rectangle with 3 edges |
This primitive represents a rectangle in the {x,z} plane but excludes one edge {-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 |
This primitive represents a rectangle in the {x,z} plane but excludes two parallel edges ({+x} and {-x}). Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions. | |
rect2a.dat | Rectangle with 2 adjacent edges |
This primitive represents a rectangle in the {x,z} plane but excludes two adjacent edges ({-x} and {-z}). Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions. | |
rect1.dat | Rectangle with 1 edge |
This primitive represents a rectangle in the {x,z} plane but include only the one {+x} edge. Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions. | |
recte3.dat | Empty rectangle with three edges |
This primitive represents three edges of a rectangle in the {x,z} plane. Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions. | |
recte4.dat | Empty rectangle with all edges |
This primitive represents the four edges of a rectangle in the {x,z} plane. Its origin is at its centre and by default has a size of 2LDu in each of the {x} and {z} dimensions. |
box.dat | Cuboid with all faces and edges |
This primitive is used to define a cuboid. Its origin is the centre of the cuboid and by default has a size of 2LDu in each of the three dimensions. | |
box5.dat | Cuboid with 5 faces and all edges |
This primitive represents a cuboid missing the top {-y} face. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box5-1.dat | Cuboid with 5 faces without 1 edge |
This primitive represents a cuboid missing the top {-y} face and one edge {-z} of that. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box5-2p.dat | Cuboid with 5 faces without 2 parallel edges |
This primitive represents a cuboid missing the top {-y} face and two of the four edges surrounding that. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box5-4a.dat | Cuboid with 5 faces without top edges |
This primitive represents a cuboid missing the top {-y} face and the four edges surrounding that. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box5-12.dat | Cuboid with 5 faces missing all edges |
This primitive represents a cuboid missing the top {-y} face and all edges. Its primary use is for sticker parts. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box4.dat | Cuboid with 4 parallel faces and all edges |
This primitive represents a cuboid missing the top {-y} and bottom {+y} faces. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box4o4a.dat | Cuboid with 4 parallel faces without bottom edges |
This primitive represents a cuboid missing the top {-y} and bottom {+y} faces, and missing the edges of the bottom face. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box4o8a.dat | Cuboid with 4 parallel faces without top and bottom edges |
This primitive represents a cuboid missing the top {-y} and bottom {+y} faces, and missing the edges of the top and bottom face. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box4t.dat | Cuboid with 4 adjacent and all edges |
This primitive represents a cuboid missing the top {-y} and front {-z} faces, but with all its edges. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box4-1.dat | Cuboid with 4 adjacent faces missing 1 edge |
This primitive represents a cuboid missing the top {-y} and front {-z} faces and the edge between those faces. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box4-2p.dat | Cuboid with 4 faces without two opposite top edges |
This primitive represents a cuboid missing the top {-y} and bottom {+y} faces, and missing two edges of the top face - the intersection of the two missing faces and the opposite edge. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box4-3p.dat | Cuboid with 4 faces without three parallel edges |
This primitive represents a cuboid missing the top {-y} and bottom {+y} faces, and missing three edges of the missing faces. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box4-4a.dat | Cuboid with 4 adjacent faces missing 4 edges |
This primitive represents a cuboid missing the top {-y} and front {-z} faces and all the edges of the missing front face. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box4-7a.dat | Cuboid with 4 adjacent faces missing 7 edges |
This primitive represents a cuboid missing the top {-y} and front {-z} faces and all the edges of both missing faces. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box3-3.dat | Cuboid with 3 adjacent faces missing 3 edges |
This primitive represents a cuboid missing the top {-y} 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 |
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 |
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 |
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 |
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. |