Quickly control where your geometry lives: wrap curves cleanly onto 3D surfaces with Pull, or flatten them to a drawing plane with ProjectToCPlane.
When to use each:
- Pull: Map curves or points to the closest locations on a target surface or mesh. Best for engraving paths, panelization seams, and decals that must conform to freeform shapes.
- ProjectToCPlane: Instantly flatten selected objects to the current construction plane (CPlane). Ideal for creating clean 2D profiles for drafting, laser cutting, or tidying imported geometry with stray Z.
Pull essentials:
- Select source curves/points, then target surface(s) or mesh(es).
- Use on polished NURBS or meshes; the “closest point” method follows the shape’s undulations without needing a projection direction.
- After pulling, use Trim/Split/Project (for hatches) to convert curves into usable manufacturing or detailing edges.
- If a curve crosses folds or narrow necks, expect overlaps. Consider splitting the source curve before Pull, or refine the target with Rebuild/Refit to stabilize closest-point mapping.
- For SubD objects, convert a copy to a render mesh (or use the existing display mesh) and Pull to that mesh if the NURBS conversion is heavy.
ProjectToCPlane essentials:
- Works with curves, annotations, hatches, texts, and blocks; it sets object Z to the current CPlane’s Z=0 without changing XY.
- Use a dedicated CPlane (Top, named view CPlane, or a custom workplane) to control the flattening orientation.
- Great for cleaning DWG/DXF imports with tiny Z noise—flatten once, then Make2D or export for CAM.
- Prefer ProjectToCPlane over SetPt Z-only when you want to respect the active CPlane instead of world axes.
Directional projection vs Pull:
- Project (not ProjectToCPlane) sends geometry along a direction (CPlane Z or custom vector) onto target surfaces—great for silhouettes or embossing along a known axis.
- Pull ignores direction and uses geometric proximity, which better preserves curve intent over wavy forms.
Quality checks and best practices:
- Before Pull, validate targets with Check and inspect curvature (Zebra/CurvatureGraph) to avoid ambiguous closest points.
- After Pull/ProjectToCPlane, use SelDup and CrvEnd/CrvStart to catch micro-gaps before trimming or nesting.
- Lock reference layers and keep pulled/flattened results on new layers for non-destructive workflows.
- For repeat tasks, set aliases: “ptc” → ProjectToCPlane; “pl” → Pull. Save them in your Rhino template for consistency across teams.
Common pitfalls:
- Don’t confuse the Osnap “Project” toggle with the Project or ProjectToCPlane commands—Osnap “Project” only constrains snaps to the CPlane while drawing.
- When pulling to multiple overlapping surfaces, pre-join or limit the target set to avoid unpredictable shortest-path jumps.
Upgrade your workflow and licensing through NOVEDGE—explore Rhino options, add-ons, and expert advice on the Rhino collection at NOVEDGE. If you’re building a standardized toolkit for your team, consult NOVEDGE for bundles and deployment tips.






