Skip to content

01 pick geometry

Christophe Barlieb edited this page May 3, 2026 · 1 revision

1. 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.

What's accepted

  • 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.

Auto-translate to origin

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.

Gates that fire on Pick → Slice

Before the slice runs, two checks run on the picked geometry:

  1. Layer height ≤ bead diameter. If LayerHeight > BeadDiameter the slice is rejected with an explanatory popup. Clay can't span a vertical gap larger than itself.
  2. 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.

Geometry-change auto-rebuild

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.

Clone this wiki locally