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
- Contour extraction: Extract cut contours from placed geometries
- Hierarchy construction: Build a DAG of precedence constraints (holes before exteriors, inner parts before outer parts)
- Pierce point selection: Choose optimal entry points on each contour
- Sequence optimization: TSP-based ordering with precedence constraints (Nearest Neighbor + constrained 2-opt)
- 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.