Primitives Reference: Difference between revisions
Holly-Wood (talk | contribs) No edit summary |
Holly-Wood (talk | contribs) No edit summary |
||
Line 695: | Line 695: | ||
|- | |- | ||
| [[File:1-4tang.png|200px|thumb|alt=1-4tang]] | | [[File:1-4tang.png|200px|thumb|alt=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 | || 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:''<br> | ''Currently available primitives:''<br> | ||
Line 705: | Line 705: | ||
| [[File:1-8tndis.png|200px|thumb|alt=1-8tndis]] | | [[File:1-8tndis.png|200px|thumb|alt=1-8tndis]] | ||
|| This suite of primitives are used to ... | || This suite of primitives are used to ... | ||
Note that the bounding circle in the image is for context only - only the black segment is generated by the 1-8tndis primitive. | |||
''Currently available primitives:''<br> | ''Currently available primitives:''<br> | ||
Line 714: | Line 715: | ||
|- | |- | ||
| [[File:2-4aring.png|200px|thumb|alt=2-4aring]] | | [[File:2-4aring.png|200px|thumb|alt=2-4aring]] | ||
||This suite of primitives are used to interface between high resolution (48-segment) circular primitives and normal resolution (16-segment) circluar primitives. | ||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:''<br> | ''Currently available primitives:''<br> | ||
Regular resolution (n-f): 4-4<br> | Regular resolution (n-f): 4-4<br> |
Revision as of 15:57, 3 December 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
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.
triangle.dat | Triangle with all edges |
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 |
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 |
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. | |
box0.dat | Cuboid with no faces and edges |
This primitive is used to define the frame a cuboid. Its origin is the centre of the cuboid and by default has a size of 2LDu in each of the three dimensions. | |
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-5a.dat | Cuboid with 4 adjacent faces missing 5 edges |
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 |
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 |
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 |
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. | |
box3u2p.dat | Cuboid with 3 faces missing 2 edges |
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces and excludes the top edges of the left {-x} and right {+x} faces. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box3u4p.dat | Cuboid with 3 faces missing 4 parallel edges |
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces and excludes the topand bottom edges of the left {-x} and right {+x} faces. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box3u4a.dat | Cuboid with 3 adjacent faces missing all edges |
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces and excludes the edges of the missing top face. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box3u5p.dat | Cuboid with 3 faces missing 5 edges |
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces and excludes the top edge of the left {-x} face and all edges of the right {+x} face. Its origin is the centre of the (missing) top face and by default has a size of 2LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
box3u6.dat | Cuboid with 3 faces missing 6 edges |
This primitive represents a cuboid missing the top {-y} and left {-x} and right {+x} faces and excludes the top and 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 |
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 |
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) |
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) |
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 |
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 |
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 |
This primitive represents a cuboid missing the top {-y}, front {-z}, left {-x} and right {+x} faces and excludes all the edges which do not bound the included faces. Its origin is the centre of the cuboid and by default has a size of 2LDu in each of the {x}, {y} and {z} dimensions. | |
box2-7.dat | Cuboid with 2 adjacent faces missing 7 edges |
This primitive represents a cuboid missing the top {-y}, front {-z}, left {-x} and right {+x} faces and excludes all the edges except that at the join between the two faces and those along the left {-x} and right {+x} sides. Its origin is the centre of the cuboid and by default has a size of 2LDu in each of the {x}, {y} and {z} dimensions. | |
box2-9.dat | Cuboid with 2 adjacent faces missing 9 edges (all except those connected to the {+x}, {+y}, {+z} vertex) |
This primitive represents a cuboid missing the top {-y}, front {-z}, left {-x} and right {+x} faces and excludes all the edges except that at the join between the two faces and those along the right {+x} sides. Its origin is the centre of the cuboid and by default has a size of 2LDu in each of the {x}, {y} and {z} dimensions. | |
box2-9p.dat | Cuboid with 2 adjacent faces missing 9 edges (all except three parallel edges) |
This primitive represents a cuboid missing the top {-y}, front {-z}, left {-x} and right {+x} faces and excludes all the edges except that at the join between the two faces and those parallel to that. Its origin is the centre of the cuboid and by default has a size of 2LDu in each of the {x}, {y} and {z} dimensions. | |
box2-11.dat | Cuboid with 2 adjacent faces missing 11 edges |
This primitive represents a cuboid missing the top {-y}, front {-z}, left {-x} and right {+x} faces and excludes all the edges except that at the join between the two faces. Its origin is the centre of the cuboid and by default has a size of 2LDu in each of the {x}, {y} and {z} dimensions. | |
tri3.dat | Right-angled triangular prism with 3 faces |
This primitive represents a triangular prism missing the top {-y} and bottom {+y} faces but including all edges. The left {-x} and front {-z} faces are perpendicular. Its origin is the right-angle corner of the (missing) top face and by default has a size of 1LDu in each of the {x} and {z} dimensions and 1LDu in the {y} dimension. | |
tri3-1.dat | Right-angled triangular prism with 3 faces |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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. |
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
n-fedge.dat | Circular line segment |
This suite of primitives are used for edges which comprise an entire or part circle.
Currently available primitives: | |
n-fdisc.dat | Circular disc sector |
This suite of primitives are used for surfaces which comprise an entire or part circle.
Currently available primitives: | |
n-fndis.dat | Inverse of circular disc sector |
This suite of primitives pad their matching n-fdisc.dat primitives out to the bounding square. They are used to integrate circular elements into rectilinear elements.
Currently available primitives: | |
n-fchrd.dat | Circular disc segment |
This suite of primitives are used for surfaces which comprise part of a circle enclosed by the arc of its circumference and its chord. Note that the bounding circle in the image is for context only - only the grey segment is generated by the 1-4chrd primitive.
Currently available primitives: Note: The regular resolution 1-16chrd.dat and high resolution 1-48chrd are special cases, see Primitive Substitution Adapters below for more information | |
n-fringr.dat n-frinrr.dat n-ffrinr.dat n-ffrirr.dat nn-ffrir.dat ringr.dat (deprecated name) ringrr.dat (deprecated name) |
Circular ring segment |
This suite of primitives are used to generate circular rings or part rings. The numeric suffix r in the filename indicates the inner radius of the ring - the outer radius is 1LDu greater. For example a n-f4-4ring4 primitive would create a ring with an inner radius of 4LDu and an outer radius of 5LDu.
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: | |
1-16chrd.dat 1-48chrd.dat n-fering.dat |
Primitive Substitution Adapters |
This suite of primitives are used correct for gaps that form between curved primitives and normal geometry in editors that utilize primitive substitution. This is a special case used on the inside of a curved primitive where it joins geometry that cannot make use of a curved primitive. The chrd files themselves are simply a reference to empty.dat, which under normal circumstances does not draw anything. However, in tools that support primitive substitution, the curved primitive it is attached to would normally in this case create a gap when rendered using more than 16 points to form a circle. In that case, the substituted version of these normally empty primitives would fill in the gap between the curve and the other geometry.
To "see" these primitives, the editor in use must utilize primitive substitution. Then one of the following can be done:
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: | |
n-ftang.dat | Tangential ring segment |
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: | |
n-ftndis.dat | Disc negative truncated |
This suite of primitives are used to ...
Note that the bounding circle in the image is for context only - only the black segment is generated by the 1-8tndis primitive. Currently available primitives: | |
n-faring.dat | Circular adaptor ring segment |
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: |
n-fcyli.dat n-fcyli2.dat |
Circular cylinder |
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: Currently available primitives - without conditional lines: | |
n-fcylo.dat | Circular cylinder with Open End |
This suite of primitives are used to generate cylinders or part cylinders with edges around the lower and upper surfaces.
Currently available primitives: | |
n-fcylc.dat n-fcylc2.dat n-fcylc3.dat |
Circular cylinder with Closed End |
This suite of primitives are used to generate cylinders or part cylinders with the upper surface closed.
Currently available primitives - with conditional lines and top edge line: Currently available primitives - without conditional lines or top or bottom edge line: Currently available primitives - with conditional lines, but without top and bottom edge lines: | |
n-fcyls.dat n-fcyls2.dat |
Circular cylinder truncated by an angled plane |
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: | |
n-fcylse.dat | Circular cylinder truncated by an angled plane with angled edge included |
This suite of primitives are similar to the n-fcyls primitive, but with the edge along the angled plane included.
Currently available primitives: | |
cyljrxs.dat | Circular cylinder truncated by another cylinder |
This suite of primitives are used to model the intersection between two cylinders of different radii.
Currently available primitives: | |
n-fcylrsphs.dat | Circular cylinder truncated by a sphere |
This suite of primitives are used to model the intersection between a cylinder and a sphere of a different radius.
Currently available primitives: | |
n-fconr.dat n-fconrr.dat |
Circular cone |
This suite of primitives are used to generate circular cones or part cones. The numeric suffix r in the filename indicates the inner radius of the cone - the outer radius is 1LDu greater. By default the cone is 1LDu high in the {+y} dimension with the origin at the centre of the outer diameter. For example a n-fcone4 primitive would create a cone with an inner radius of 4LDu and an outer radius of 5LDu.
Currently available primitives: High resolution: |