-
Notifications
You must be signed in to change notification settings - Fork 0
01 pick geometry
The first step is to select a Brep, surface, or mesh in the active Rhino document. The plugin's 1. Slice button (or the inline picker triggered by it) handles this — you don't pick separately.
📷 Rhino viewport with a Brep/mesh selected, and the CCL_Clay3DP panel docked on the right showing the workflow buttons unlocked.
-
Brep (NURBS solids, surfaces, polysurfaces) — sliced via
ContourSlicer.SliceBrep -
Mesh — sliced via
ContourSlicer.SliceMesh - Surface — wrapped as a single-face Brep internally
Whichever you pick must be closed at the layer heights you slice at — open surfaces produce open contours and the spiral interpolator can't close the loop.
When you click Slice, the plugin moves the selected geometry so its bbox bottom-center sits on world origin (0, 0, 0). This matches the commercial-slicer convention (PrusaSlicer, Cura, etc.) and ensures the toolpath, skirt, build-volume preview, and Print Position marker all share the same frame of reference.
- The move is on the actual selected object — not a hidden copy. You'll see your part jump in the Rhino viewport.
- The move is undoable with
Ctrl+Z. - Subsequent slices on the same object are no-ops (it's already at origin).
- The status line reports the distance moved, e.g. "Geometry translated 31.8 mm to origin for printing."
📷 Before/after split-screen of a part being auto-translated to origin.
Before the slice runs, two checks run on the picked geometry:
-
Layer height ≤ bead diameter. If
LayerHeight > BeadDiameterthe slice is rejected with an explanatory popup. Clay can't span a vertical gap larger than itself. - Outer Wall Bracing requires ruled geometry. If you've enabled Bracing in Layer mode but picked a free-form (organic) Brep, the slice is rejected. Bracing only behaves on cylinders, prisms, cones, and planar extrusions.
📷 The "layer height too large" popup, with the bead-diameter and layer-height values from settings shown.
After the first slice, the plugin subscribes to Rhino's geometry-change event. If you transform the selected object (move, scale, rotate, gumball drag), the slice re-runs automatically. A 500 ms debounce coalesces a continuous gumball drag into one rebuild on release, so you get smooth interactive editing without the slice firing per-frame.
The auto-rebuild is suppressed during the auto-translate above (recursion guard), and it falls back to "click Slice" when the user is in Layer + Bracing mode (because that mode prompts mid-slice for flip + offset).
Next: 2. Open Settings.