Skip to main content

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:

ParameterDescription
XX-coordinate of the origin (mm)
YY-coordinate of the origin (mm)
ZZ-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:

ParameterDescription
XX-component of the normal vector
YY-component of the normal vector
ZZ-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:

ButtonNormal VectorPlane 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:

v=v((vo)n)n\mathbf{v}' = \mathbf{v} - ((\mathbf{v} - \mathbf{o}) \cdot \mathbf{n})\mathbf{n}

Where:

  • v\mathbf{v} is the original vertex position
  • v\mathbf{v}' is the projected position
  • o\mathbf{o} is the plane origin
  • n\mathbf{n} is the unit normal vector
  • \cdot 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

  1. Position the plane at the desired height or orientation
  2. Select the entire surface (or leave unselected to project all)
  3. Apply the projection
  4. Export the flattened result as a 2D format if needed

Generating a Silhouette

  1. Align the plane normal to the viewing direction (e.g., Z-axis for top view)
  2. Position the plane behind or in front of the object
  3. Project all vertices
  4. The result is the silhouette visible from that direction

Partial Flattening

  1. Select only the region you want to flatten
  2. Configure the plane appropriately
  3. Apply the projection
  4. Only the selected region becomes flat; the rest remains 3D

Creating Cross-Section Outlines

  1. Position the plane at the desired cross-section location
  2. Apply projection to get the flattened outline at that level
  3. 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:

  1. Projecting to create the flat geometry
  2. Using Boolean operations to resolve overlaps
  3. 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

  1. Set normal to (0, 0, 1) using the Z-axis button
  2. Set origin Z to match the bottom of the object
  3. Show the plane to verify position
  4. Apply the projection

Front-View Projection

  1. Set normal to (0, 1, 0) using the Y-axis button
  2. Adjust origin Y as needed
  3. Apply the projection

Arbitrary Angle Projection

  1. Enter custom normal vector components
  2. Position origin at the desired plane location
  3. Use Show plane to verify orientation
  4. Apply the projection

Common Issues and Solutions

IssueLikely CauseSolution
Surface disappearedProjecting to a distant planeCheck plane origin; use Reset
Self-overlapping resultComplex 3D geometry projectedExpected behavior; use Boolean if needed
Wrong projection directionIncorrect normal vectorUse quick alignment buttons or verify values
Partial surface projectedROI selection activeClear selection or select all
Degenerate trianglesTriangles perpendicular to planeUse Diagnostics and Fixes to clean up