Page 44 - FDMAsia Sep/Oct 2026
P. 44
42 DESIGN SEP/OCT 2026 FDM ASIA | www.fdmasia.com
Getty Images lines are constructed and color-coded by line type.
For a cylinder, the maximum, median, and minimum
y-values are computed from the mesh bounds, a circle with
its diameter line is placed at each of the three heights, four
vertical lines connect the top and bottom circles along the
side, and the result is color-coded by line type.
Once the outlines are in place, each object's dimensions
are displayed, again per shape: for a box, the length of each
edge where the outline coincides with the collider; for a sphere,
releases its joint information, then generates an outline and a only the diameter; and for a cylinder, the circle diameter and
dimension label around each object and arranges the objects, the vertical-line length.
sorted by volume, on the designated plane. The true volume of each part is then computed from its
Releasing the alignment reverses these steps, restoring each outline, and the parts are laid out in descending order of
object's position, rotation, physics, and joints and removing the volume so that no two outlines overlap; rather than filling
outlines. Objects are detected with a spatial query restricted a single row, the layout wraps to a new row whenever the
to objects within ten scene units of the target plane's centre next part would exceed the plane's right edge, keeping the
that carry a Rigidbody and belong to the designated layer. arrangement legible and organised.
Because alignment only moves objects rather than Once parts have been aligned, the system photographs
deleting them, material and collider data need not be cached; them and compiles the results into a PDF blueprint. Because
physics state is cached so that motion can be frozen during Unity has no built-in PDF export, this function uses iTextSharp,
alignment, and the layer is cached because aligned objects a C# PDF-generation library.
are temporarily moved to a dedicated layer—both to avoid For each aligned object, the pipeline reads its outline
being redetected by the layer query and to mark which objects dimensions, computes the minimum board size and the
should later be exported. corresponding cost, and captures images from six directions;
The FixedJoints released during alignment can be fully once every object has been processed, the total cost is
restored afterward because every object independently tracks computed and written out together with the per-object results.
its own joint list. The pipeline differs slightly between platforms: on the PC
Each aligned part is wrapped in an outline. Because every each object's results are written to the PDF incrementally,
cut object becomes a MeshCollider regardless of its original whereas on the Meta Quest 3—which cannot comfortably
shape, the outline's form is taken from the object's cached interleave incremental PDF writes with frequent object show/hide
original shape data rather than its current collider; otherwise, toggling—all image capture and cost calculation are performed
wrapping, say, a box and a cylinder in the same outline would first and the PDF is written in a single pass at the end.
introduce large visual errors. The export targets only objects that have passed through
The three primitive types are handled separately. For a box, part alignment. For each, the outline dimensions give the
the eight corner vertices are computed from the full mesh, minimum board volume needed to cut the part.
the twelve connecting edges are defined, and the outline is This volume is substituted into a cost formula calibrated
color-coded by face. against a wood custom-cut ordering service: because real
For a sphere, three circumferential rings and three diameter material prices vary by type, a base price per unit volume

