Skip to main content

Crate u_nesting_cutting

Crate u_nesting_cutting 

Source
Expand description

Cutting path optimization for 2D nesting results.

Given a nesting solve result (placed parts with positions and rotations), this module computes an optimized cutting path that minimizes:

  • Non-cutting (rapid) travel distance
  • Number of pierce points
  • Heat accumulation (optional)

§Algorithm

  1. Contour extraction: Extract cut contours from placed geometries
  2. Hierarchy construction: Build a DAG of precedence constraints (holes before exteriors, inner parts before outer parts)
  3. Pierce point selection: Choose optimal entry points on each contour
  4. Sequence optimization: TSP-based ordering with precedence constraints (Nearest Neighbor + constrained 2-opt)
  5. Path assembly: Combine into final cutting path with rapid moves

§References

  • Dewil et al. (2016), “A review of cutting path algorithms for laser cutters”
  • Hu, Lin & Fu (2023), “Optimizing Cutting Sequences for Common-Edge Nested Parts”

Re-exports§

pub use config::CuttingConfig;
pub use contour::ContourType;
pub use path::optimize_cutting_path;
pub use result::CutDirection;
pub use result::CutStep;
pub use result::CuttingPathResult;

Modules§

bridge
Bridge/tab (micro-joint) placement for cut contours.
common_edge
Common-edge detection for nested parts.
config
Configuration for cutting path optimization.
contour
Contour extraction from nesting results.
cost
Cost functions for cutting path optimization.
gtsp
Generalized TSP (GTSP) formulation for cutting path optimization.
hierarchy
Precedence constraint DAG for cutting order.
kerf
Kerf (cutting tool width) compensation.
leadin
Lead-in and lead-out path generation.
path
Final cutting path assembly and public API.
pierce
Pierce point selection and optimization.
result
Result types for cutting path optimization.
sequence
Cutting sequence optimization.
thermal
Thermal model for heat-affected zone (HAZ) management.