Connector
Hinge
Brackets
Placement
Lock
Machining
Fastener
Slides
Mapping
Spatial Operation Mapper
Maps colliding hardware operations onto sheets via Solid-Solid intersection.
Details
ID
toolbox-mapping-spatial-operation-mapper
Name
Spatial Operation Mapper
Group
Mapping
Package
Toolbox
Keywords
Input ports
| Name | Type | Description | Default Value |
|---|---|---|---|
| Sheets | Solid | Tree of sheet solids produced by SheetFactory. | |
| Items | Any | Tree of placed hardware items (output of PlaceHardware). |
Output ports
| Name | Type | Description |
|---|---|---|
| Sheets | Solid | Input sheets with meta.machiningOps populated by colliding operations. |
spatial, mapper, mapping, collision, intersect.Maps machining operations from placed hardware items onto the sheets they physically intersect. For every operation produced by upstream Place Hardware nodes the mapper builds a cutting tool solid in world coordinates and runs a Solid–Solid intersection against each input sheet. When the intersection is non-empty a copy of the operation is recorded in that sheet's meta.machiningOps with its depth re-derived from the cropped (sheet ∩ tool) solid — i.e. an op that originally cuts 10 mm deep through the air becomes an op of just 5 mm if only 5 mm of the tool actually sits inside the sheet. Other op parameters (diameter, width, height, position, direction) are preserved as-is. A single operation that crosses several sheets is recorded on every sheet it touches with depth re-derived per sheet; an operation that does not collide with any sheet is dropped.
| Port | Type | Description |
| --- | --- | --- |
| Sheets | Solid tree | Tree of sheet solids produced by SheetFactory. The tree is flattened internally before mapping. |
| Items | Any tree | Tree of placed hardware items (output of Place Hardware). Each item must carry machiningOps in world coordinates. |
| Port | Type | Description |
| --- | --- | --- |
| Sheets | Solid | The input sheets (geometry untouched). Each output sheet's meta.machiningOps is replaced with the array of colliding operations, each with depth adjusted to match the portion of the tool that lies inside the sheet (empty if none). |
Sheets input to the output of one or more SheetFactory nodes.Items input to the placedItem output(s) of one or more Place Hardware nodes.Sheets output as input for downstream nodes that consume meta.machiningOps (for example to drive CAM, BOM or visualisation).intersection between the sheet and each operation's cutting tool, so the result is geometrically exact (not a bounding-box approximation).depth is computed by projecting the AABB of the cropped solid onto the op's normalized direction. For axis-aligned directions (the common sheet-normal case) this projection is exact; for arbitrary directions it is an upper bound.primitive is unsupported by buildCuttingTool (i.e. anything other than cylinder, box or cone) are silently skipped — they cannot contribute a collision.meta.machiningOps is replaced on every output sheet, not merged with previous values. Chain multiple mappers carefully if you intend to accumulate.