Project to Plane
The Project to Plane tool flattens surface geometry by projecting all vertices (or a selected region) onto a specified plane. This operation creates a 2D representation of the surface while preserving the surface topology and connectivity.
Overview
Plane projection is a geometric operation that moves each vertex to the closest point on a defined plane, effectively "flattening" the surface. The result maintains the original mesh connectivity (triangles and edges) but with zero depth in the direction perpendicular to the plane.
Common applications include:
- Creating silhouettes: Generating flat outlines of 3D objects
- Template creation: Producing flat patterns or templates
- 2D representations: Converting 3D surfaces to planar views
- Cross-section visualization: Creating flat representations at specific locations
- CAD preparation: Generating 2D geometry from 3D models
Accessing the Tool
Navigate to the Surface ribbon tab and locate Project to Plane in the Edit section. Select one or more surfaces before activating the tool.
Plane Configuration
The projection plane is defined by an origin point and a normal vector:
Show Plane
Enable the Show plane checkbox to visualize the projection plane in the 3D view. This interactive plane display helps you:
- Understand the current plane orientation
- Verify plane placement relative to the surface
- Adjust the plane visually before applying
Plane Origin
The origin point defines a point through which the plane passes:
| Parameter | Description |
|---|---|
| X | X-coordinate of the origin (mm) |
| Y | Y-coordinate of the origin (mm) |
| Z | Z-coordinate of the origin (mm) |
The origin does not affect the projection direction—only the plane's position in space.
Plane Normal
The normal vector defines the direction perpendicular to the plane:
| Parameter | Description |
|---|---|
| X | X-component of the normal vector |
| Y | Y-component of the normal vector |
| Z | Z-component of the normal vector |
The normal vector is automatically normalized (scaled to unit length) for the projection calculation. A normal of (0, 0, 1) creates a horizontal plane at the specified Z position; (1, 0, 0) creates a vertical plane perpendicular to the X-axis.
Quick Alignment Buttons
For convenience, three buttons allow quick alignment to the principal axes:
| Button | Normal Vector | Plane Orientation |
|---|---|---|
| X-axis | (1, 0, 0) | Vertical plane, perpendicular to X |
| Y-axis | (0, 1, 0) | Vertical plane, perpendicular to Y |
| Z-axis | (0, 0, 1) | Horizontal plane |
These buttons set the normal direction while preserving the current origin position.
Reset
The Reset button recalculates the plane placement based on the bounding box of the target surface(s), providing a default starting position centered on the object.
Region Selection (Optional)
The integrated ROI (Region of Interest) tools allow selective projection:
- No selection: All surface vertices are projected
- With selection: Only selected triangles' vertices are projected
Partial projection creates hybrid surfaces with flat and 3D regions, useful for creating partial flattening or selective silhouettes.
Projection Mathematics
The projection operation for each vertex follows the formula:
Where:
- is the original vertex position
- is the projected position
- is the plane origin
- is the unit normal vector
- represents the dot product
This projects each vertex along the normal direction to the plane, regardless of where the plane is positioned.
Practical Applications
Creating a Flat Template
- Position the plane at the desired height or orientation
- Select the entire surface (or leave unselected to project all)
- Apply the projection
- Export the flattened result as a 2D format if needed
Generating a Silhouette
- Align the plane normal to the viewing direction (e.g., Z-axis for top view)
- Position the plane behind or in front of the object
- Project all vertices
- The result is the silhouette visible from that direction
Partial Flattening
- Select only the region you want to flatten
- Configure the plane appropriately
- Apply the projection
- Only the selected region becomes flat; the rest remains 3D
Creating Cross-Section Outlines
- Position the plane at the desired cross-section location
- Apply projection to get the flattened outline at that level
- Note: This creates a projection, not a true cross-section cut
Technical Considerations
Triangle Degeneration
When projecting 3D geometry to 2D, some triangles may become:
- Degenerate: Zero area when all vertices project to the same point or line
- Inverted: Flipped orientation due to projection crossing
The tool handles these cases, but post-processing with Diagnostics and Fixes may be helpful for cleaning up the result.
Overlapping Geometry
Surfaces with complex 3D shapes may project to overlapping 2D regions. The tool does not resolve these overlaps—the projected mesh will have self-overlapping triangles when viewed from the normal direction.
If you need a clean 2D outline without overlaps, consider:
- Projecting to create the flat geometry
- Using Boolean operations to resolve overlaps
- Or using silhouette extraction tools designed for 2D output
Preserving Topology
The projection operation preserves mesh topology (connectivity) even when the geometry becomes flat. All original triangles, edges, and vertex relationships remain intact.
Normal Vectors After Projection
After projection, all surface normals will be parallel to the plane normal (pointing in the same direction or its opposite). This is expected behavior for a planar surface.
Workflow Examples
Top-View Projection
- Set normal to (0, 0, 1) using the Z-axis button
- Set origin Z to match the bottom of the object
- Show the plane to verify position
- Apply the projection
Front-View Projection
- Set normal to (0, 1, 0) using the Y-axis button
- Adjust origin Y as needed
- Apply the projection
Arbitrary Angle Projection
- Enter custom normal vector components
- Position origin at the desired plane location
- Use Show plane to verify orientation
- Apply the projection
Common Issues and Solutions
| Issue | Likely Cause | Solution |
|---|---|---|
| Surface disappeared | Projecting to a distant plane | Check plane origin; use Reset |
| Self-overlapping result | Complex 3D geometry projected | Expected behavior; use Boolean if needed |
| Wrong projection direction | Incorrect normal vector | Use quick alignment buttons or verify values |
| Partial surface projected | ROI selection active | Clear selection or select all |
| Degenerate triangles | Triangles perpendicular to plane | Use Diagnostics and Fixes to clean up |