Tool options are only relevant for CAM mode. If you aren't using CAM mode, this section can be ignored.
Each CAM Operation has a tool parameter, which is a
refrence to a tool ID in the tool list (not to be confused with the tool number).
the setTools function accepts an array of objects with the following parameters:
| Parameter | Default Value |
|---|---|
| id | 1000 |
| number | 1 |
| type | "endmill" |
| name | "end 1/4" |
| metric | false |
| shaft_diam | 0.25 |
| shaft_len | 1 |
| flute_diam | 0.25 |
| flute_len | 2 |
| taper_tip | 0 |
| order | 5 |
The process options for a given mode determine the global parameters for how an object is processed. Some process options are mode-specific, and some are shared between modes.
| Parameter | Default Value | Param Type | Short Description |
|---|---|---|---|
| processName | default | string | Name of the slicing process profile |
| sliceAngle | 45 | number | Angle of slicing fill pattern (degrees) |
| sliceHeight | 0.25 | number | Layer height in millimeters |
| sliceShells | 3 | number | Number of perimeter shells |
| sliceShellOrder | in-out | string | Shell printing order (e.g., inside-out) |
| sliceLayerStart | last | string | Starting layer for slicing |
| sliceLayerStartX | 0 | number | X offset for slice start |
| sliceLayerStartY | 0 | number | Y offset for slice start |
| sliceLineWidth | 0 | number | Line width for slicing (0 = auto) |
| sliceFillGrow | 0 | number | Offset to expand fill area |
| sliceFillAngle | 45 | number | Fill pattern angle (degrees) |
| sliceFillWidth | 1 | number | Width of fill lines |
| sliceFillOverlap | 0.35 | number | Overlap ratio of fill to shells |
| sliceFillSparse | 0.25 | number | Fill sparsity (density fraction) |
| sliceFillRepeat | 1 | number | Number of fill pattern repetitions |
| sliceFillRate | 0 | number | Fill print speed multiplier (0 = default) |
| sliceSolidRate | 0 | number | Solid fill print speed multiplier |
| sliceFillType | hex | string | Type of fill pattern |
| sliceSupportDensity | 0.1 | number | Density of support material |
| sliceSupportOffset | 1 | number | Distance between support and model |
| sliceSupportGap | 1 | number | Gap between supports |
| sliceSupportSize | 5 | number | Size of support elements |
| sliceSupportArea | 0.1 | number | Minimum area for support generation |
| sliceSupportSpan | 5 | number | Span length for supports |
| sliceSupportGrow | 0 | number | Extra growth around supports |
| sliceSupportExtra | 0 | number | Additional support material (unclear) |
| sliceSupportAngle | 50 | number | Max overhang angle for supports (degrees) |
| sliceSupportNozzle | 0 | number | Nozzle index for support extrusion |
| sliceSupportEnable | false | bool | Enable or disable support generation |
| sliceSupportOutline | true | bool | Print outline for supports |
| sliceZInterleave | false | bool | Interleave support layers in Z |
| sliceSolidMinArea | 1 | number | Minimum area to treat as solid |
| sliceBottomLayers | 3 | number | Number of solid bottom layers |
| sliceTopLayers | 3 | number | Number of solid top layers |
| firstSliceHeight | 0.25 | number | Height of first layer |
| firstLayerRate | 30 | number | First layer print speed |
| firstLayerFillRate | 35 | number | First layer fill print speed |
| firstLayerPrintMult | 1 | number | Multiplier for first layer print speed |
| firstLayerLineMult | 1 | number | Multiplier for first layer line width |
| firstLayerYOffset | 0 | number | Y offset for first layer |
| firstLayerNozzleTemp | 0 | number | First layer nozzle temperature (°C) |
| firstLayerBedTemp | 0 | number | First layer bed temperature (°C) |
| firstLayerBrim | 0 | number | Number of brim lines |
| firstLayerBrimIn | 0 | number | Brim inset (distance) |
| firstLayerBrimTrig | 0 | number | Brim trigger flag (unclear) |
| firstLayerBrimGap | 0 | number | Gap between brim and model |
| firstLayerBeltLead | 3 | number | Belt lead distance (unclear, likely for bed movement) |
| firstLayerBeltBump | 0 | number | Belt bump parameter (unclear) |
| firstLayerFanSpeed | 0 | number | Fan speed during first layer (0-255) |
| firstLayerFlatten | 0 | number | Flatten first layer flag (unclear) |
| outputRaft | false | bool | Enable raft printing |
| outputRaftSpacing | 0.2 | number | Spacing between raft lines |
| outputDraftShield | false | bool | Enable draft shield around print |
| outputTemp | 200 | number | Nozzle temperature (°C) |
| outputBedTemp | 60 | number | Bed temperature (°C) |
| outputFeedrate | 50 | number | Printing feedrate (mm/s) |
| outputFinishrate | 50 | number | Finishing move speed (mm/s) |
| outputSeekrate | 80 | number | Seek (travel) speed (mm/s) |
| outputShellMult | 1.25 | number | Speed multiplier for shell printing |
| outputFillMult | 1.25 | number | Speed multiplier for infill printing |
| outputSparseMult | 1.25 | number | Speed multiplier for sparse infill |
| outputFanLayer | 1 | number | Layer to start fan |
| outputFanSpeed | 255 | number | Fan speed (0-255) |
| outputRetractDist | 1.5 | number | Retraction distance (mm) |
| outputRetractSpeed | 40 | number | Retraction speed (mm/s) |
| outputRetractWipe | 0 | number | Wipe distance during retraction (unclear) |
| outputRetractDwell | 20 | number | Dwell time after retraction (ms) |
| outputBrimCount | 2 | number | Number of brim loops |
| outputBrimOffset | 2 | number | Offset distance for brim |
| outputShortPoly | 100 | number | Minimum polygon length to consider (units unclear) |
| outputMinSpeed | 10 | number | Minimum print speed (mm/s) |
| outputCoastDist | 0 | number | Coasting distance before end of extrusion |
| outputPurgeTower | 0 | number | Enable/size of purge tower (unclear) |
| outputBeltFirst | false | bool | Use belt before print (unclear) |
| outputAvoidGaps | true | bool | Avoid gaps in extrusion paths |
| outputAlternating | false | bool | Alternate print directions/layers |
| outputLayerRetract | false | bool | Retract filament at layer changes |
| outputLoops | 0 | number | Number of loops to print (unclear) |
| outputInvertX | false | bool | Invert X axis |
| outputInvertY | false | bool | Invert Y axis |
| sliceDetectThin | off | string | Enable thin feature detection |
| sliceMinHeight | 0 | number | Minimum slice height |
| sliceAdaptive | false | bool | Enable adaptive slicing |
| zHopDistance | 0.2 | number | Z-hop height during travel moves |
| arcTolerance | 0 | number | Arc approximation tolerance |
| antiBacklash | 0 | number | Compensation for backlash |
| ranges | [] | array | Ranges for slicing layers or regions (unclear) |
"processName": "default"
"camFlipAxis": "X"
"camFlipOther": ""
"camLaserEnable":[ "M321" ]
"camLaserDisable": ["M322" ]
"camLaserOn": ["M3" ]
"camLaserOff": ["M5" ]
"camLaserSpeed": 100
"camLaserPower": 1
"camLaserAdaptive": false
"camLaserAdaptMod": false
"camLaserFlatten": false
"camLaserFlatZ": 0
"camLaserPowerMin": 0
"camLaserPowerMax": 1
"camLaserZMin": 0
"camLaserZMax": 0
"camTabsWidth": 5
"camTabsHeight": 5
"camTabsDepth": 5
"camTabsMidline": false
"camDepthFirst": false
"camEaseDown": false
"camEaseAngle": 10
"camOriginTop": true
"camZAnchor": "middle"
"camZOffset": 0
"camZTop": 0
"camZBottom": 0
"camZClearance": 1
"camZThru": 0
"camFastFeed": 6000
"camFastFeedZ": 300
"camFlatness": 0.001
"camContourBridge": 0
"camStockX": 5
"camStockY": 5
"camStockZ": 5
"camStockOffset": true
"camStockClipTo": false
"camStockIndexed": false
"camStockIndexGrid": true
"camIndexAxis": 0
"camIndexAbs": true
"camConventional": false
"camOriginCenter": false
"camOriginOffX": 0
"camOriginOffY": 0
"camOriginOffZ": 0
"outputInvertX": false
"outputInvertY": false
"camExpertFast": false
"camTrueShadow": false
"camForceZMax": false
"camFirstZMax": false
"camToolInit": true
"camFullEngage": 0.8
"ops": []
"op2": []
CAM operations are global functions that generate gcode based on your CAM mesh