Core Concepts¶
FiberPath terminology and key concepts for filament winding.
Wind Definition¶
JSON structure describing mandrel geometry, tow material properties, and a sequence of winding layers. Defines the complete winding pattern for a composite part.
See Wind Format Guide for full schema documentation.
Layer Strategies¶
Algorithms that compute toolpaths for different winding patterns:
- Hoop: Circumferential wraps perpendicular to mandrel axis (90° wind angle)
- Helical: Angled wraps that advance along mandrel (0° < angle < 90°)
- Skip: Helical patterns with controlled gaps between passes for specific coverage patterns
Each strategy calculates feed rates, mandrel rotation, and carriage movement to achieve the desired fiber placement.
See Planner Math for detailed formulas.
Dialects¶
Controller-specific G-code output formats. FiberPath currently supports Marlin dialects with plans for FANUC and GRBL.
Built-in Marlin dialect:
- XAB (Standard): Uses native rotational axes (A, B)
See Axis Mapping Guide for format details and migration notes.
Axis Mapping¶
Configurable mapping of logical planning axes to physical controller axes. Allows the same planning logic to produce G-code for different machine configurations.
Logical axes:
- Carriage: Linear motion along mandrel longitudinal axis (mm)
- Mandrel: Mandrel rotation (degrees)
- Delivery Head: Delivery head rotation (degrees)
Physical mapping varies by dialect - see Axis Mapping Guide and Axis System Architecture for details.
Pattern Parameters¶
Quick reference for the most frequently confused helical-layer terms:
| Term | Plain meaning | Practical check |
|---|---|---|
| Wind Angle | Fiber direction relative to mandrel axis (0° axial, 90° hoop) |
For helical layers: 0° < angle <= 90° |
| Pattern Number | Number of helical bands/circuits in one full repeating pattern | Positive integer; must divide the computed circuit count |
| Skip Index | Stride between bands on each pass | Positive integer; must be coprime with pattern number |
| Lock Degrees | Extra mandrel rotation at lock/turn boundaries | Must be a multiple of 180 / patternNumber (when patternNumber > 1); see Coverage Compatibility |
| Lead In / Lead Out | Entry/exit transition motions before/after main winding path | Keep non-negative; tune for smooth fiber transitions |
If patternNumber = 3 and skipIndex = 1, the path visits bands in order 0 -> 1 -> 2.
If patternNumber = 3 and skipIndex = 2, it visits 0 -> 2 -> 1.
If values are not coprime (for example patternNumber = 4, skipIndex = 2), some bands are never visited.
Wind Angle¶
Angle between fiber and mandrel axis (0° = longitudinal, 90° = hoop). Helical layers use wind angles between 0° and 90°.
Pattern Number¶
Number of equally-spaced helical bands that make up one complete winding pattern. All bands together cover the full mandrel circumference once. patternNumber determines how many circuits are wound before the start position repeats.
Coverage vs. ply count:
patternNumberdoes not control how dense the coverage is. Coverage is determined by the tow width relative to the mandrel circumference — the planner calculates the number of circuits needed so thatN × tow_arc_width ≥ circumference.patternNumbermust divide that circuit count evenly.
Skip Index¶
Controls the visit order of the patternNumber equally-spaced bands within each winding pattern. With skipIndex = 1, bands are visited in sequential order (0 → 1 → 2 → …). With skipIndex = 2, every other band is visited first (0 → 2 → 4 → … → 1 → 3 → 5 → …). Must be coprime with patternNumber to ensure all bands are visited.
Lock Degrees¶
Mandrel rotation added at each turn-around (lock) point. The net mandrel advance per complete circuit (out pass + return pass) is (2 × lockDegrees) mod 360°. This value controls how successive circuits are distributed around the mandrel circumference.
When patternNumber > 1, lockDegrees must satisfy two coverage-compatibility conditions:
- Divisibility:
(2 × lockDegrees) mod (360 / patternNumber)must equal 0. Equivalently,lockDegreesmust be a multiple of180 / patternNumber. - Non-aliasing: The intra-pattern slot stride must be coprime with
patternNumber— otherwise all in-pattern circuits overlap the same grooves.
The validator reports the nearest valid values when either condition is violated.
Lead In/Out¶
Transition movements at layer start (lead in) and end (lead out). Measured in mm (lead in) or degrees (lead out) to create smooth fiber placement.
Mandrel Parameters¶
- Diameter: Outer diameter of mandrel in mm
- Wind Length: Length of winding area along mandrel axis in mm
These define the cylindrical winding surface.
Tow Parameters¶
- Width: Fiber tow width in mm (perpendicular to fiber direction)
- Thickness: Fiber tow thickness in mm (normal to mandrel surface)
Width determines spacing between passes and coverage calculations.
Feed Rate¶
Speed of combined motion in mm/min or degrees/min depending on axis type. Balances production speed with fiber tension and machine capabilities.
- Default Feed Rate: Base speed for winding operations
- Layer-specific rates: Can be adjusted per layer for different wind angles
Terminal Layers¶
Special hoop layers at start or end of winding sequence. May have different handling for fiber attachment and termination.
Simulation Metrics¶
Estimates calculated from G-code without hardware execution:
- Commands Executed: Total G-code commands processed
- Moves: Movement commands (excludes setup/config)
- Estimated Time: Duration based on feed rates and distances
- Total Distance: Combined motion of all axes
- Tow Length: Total fiber material used
- Average Feed Rate: Mean speed across all moves