A position such as x = 20 is incomplete until you answer one question: 20 units relative to what? Every Rig Cad node has a local coordinate system, a transform relative to its parent, and a final placement in world space.
This article explains how those frames affect position, rotation, and scale. It builds on Constructive Solid Geometry in Rig Cad. If the panels are unfamiliar, begin with Rig Cad Editor Guide: The Five Core Panels.
What you will learn: how to distinguish local, parent, and world space; predict transform inheritance; and debug geometry that moves in an unexpected direction.
Local, parent, and world space
- Local space contains the node’s own origin, axes, and dimensions.
- Parent space is the coordinate system that interprets the node’s transform.
- World space is the final placement after all ancestor transforms are applied.
A node begins in local space. Its transform maps that geometry into its parent’s frame, and every ancestor contributes another transform:
local geometry → node transform → parent frame → ancestor transforms → world placement
Rig Cad uses +Z as world up, the XY plane as the base plane, and degrees for rotation. A rotated child or parent may have local axes that no longer align with world X, Y, and Z.
Position is an offset in the parent frame
A child with position.x = 20 is offset 20 units along its parent’s local X axis. If the parent is world-aligned, that is also a world-X offset. If the parent is rotated, the same value follows the rotated parent axis.
This is why changing X does not always move an object left or right on screen: the viewport, world frame, and parent frame may point in different directions.
Reparenting changes the frame that interprets the node’s local transform. After moving a node to a different parent, verify its world placement and adjust its local transform when necessary.
Rotation redirects the local axes
Rotation changes the directions of a node’s local axes within its parent frame. A directional dimension—such as a cutter’s length—rotates with the node. Extend it along the node’s documented local cutting axis, not whichever world direction looks vertical.
Descendants inherit that redirected frame. A child can have rotation.z = 0 and still appear rotated in world space because an ancestor is rotated.
When rotations become confusing, work outward: interpret the node relative to its parent, then each parent above it, and finally the accumulated world result.
Scale changes geometry and inherited spacing
Scale multiplies a node’s local result. Scaling a parent affects both its descendants and the spacing created by their local offsets.
Uniform scale is useful when an entire feature should resize proportionally. Non-uniform scale can turn circles into ellipses and distort walls, holes, and clearances. Prefer explicit dimension variables when a physical size must remain controlled.
Ancestor transforms compose
A child’s world placement includes its own transform and every transform above it. Walk upward through the tree and identify what each ancestor contributes.
In the mounting-tab project:
- moving Rounded end moves only that cylinder;
- moving Union: Body moves the base and rounded end, but not the sibling hole cutter; and
- moving Finished mounting tab moves the retained body and cutter together.
Choose the lowest parent that contains everything that should move together—and nothing that should remain behind. A group can provide a deliberate local frame; an operation can serve the same purpose when it already represents the complete movable result.
Try the inheritance chain
- Move Union: Body slightly. The base and rounded end move while the hole cutter remains in its sibling frame.
- Undo, then move Finished mounting tab by the same amount. The body and cutter stay aligned because both inherit the root transform.
- Undo, then rotate the root slightly around Z. Every descendant follows the rotated frame.
- Change
baseLengthand inspect which placements remain aligned because they derive from project dimensions. - Reset the article session when finished.
Before each edit, predict which nodes will move. The goal is to read inheritance from the tree before seeing the result.
Why parent rotation can look like orbiting
Rotating a parent turns both a child and the direction of the child’s offset. If the child sits far from the parent origin, it travels through a large arc and appears to orbit.
The child’s local rotation may not change; its world orientation and position change because the parent frame changed. Inspect the parent origin, the child’s local offset, and every rotated ancestor.
Parametric transforms preserve placement
A fixed coordinate can be correct for one size and wrong for every other size. Derive important placements from the dimensions they depend on:
transform.position.x = baseLength / 2
transform.position.z = partThickness / 2
transform.rotation.z = tabAngle
Rig Cad accepts expressions on position, rotation, and scale axes. Use them for centered placement, equal margins, symmetric offsets, and other relationships that must survive parameter changes.
Debugging misplaced geometry
| Symptom | Likely frame problem | First check |
|---|---|---|
| X moves the node in an unexpected world direction | The parent frame is rotated | Inspect the parent axes |
| A cutter separates from its feature | The branches do not share the moved ancestor | Find their lowest common parent |
| A child looks rotated although its rotation is zero | Rotation is inherited | Walk upward through the tree |
| A child swings through a large arc | It is offset from the rotating parent origin | Inspect the origin and local offset |
| A circular feature becomes elliptical | An ancestor has non-uniform scale | Inspect scale along the ancestor chain |
| A feature drifts when its host resizes | Placement uses fixed coordinates | Derive the transform from host variables |
| Placement changes after reparenting | The parent reference frame changed | Verify local and world placement |
Start with the hierarchy, then inspect the selected node and its ancestors. Change dimensions only after identifying which frame diverges from the intended relationship.
Transform checklist
Before approving a transformed feature, ask:
- What are the node’s local origin and axes?
- Which parent frame interprets its transform?
- Which ancestors add position, rotation, or scale?
- Does the chosen parent contain everything that should move together?
- Are important offsets derived from their dependent dimensions?
- Does non-uniform scale distort a controlled physical size?
Next steps
Transforms preserve relationships when geometry moves, rotates, repeats, or changes size. Local space defines a feature, parent space provides its immediate frame, and the ancestor chain produces its world placement.
Continue with Post-Processing in Rig Cad to see how planes, offsets, and shells act on a solved result. Use Oversize the Cutter when a transformed subtractive feature must keep crossing its host reliably. Return to Constructive Solid Geometry in Rig Cad for operation-tree structure.
Comments
Loading comments...