Use when slicing rocket parts for FDM printing, or when choosing print orientation and settings for a specific part
Slicing converts STEP files into printer-ready gcode. Settings vary significantly by part — structural components need full infill and strong layer orientation; fairings and nose cones can use partial infill to save mass.
Core principle: Mass is the enemy of apogee. Use the minimum infill and wall count that still meets structural requirements for each part.
Verify all parts listed in <project_dir>/gui/component_tree.json have corresponding STEP files in <project_dir>/cadsmith/step/. If any are missing, use rocketsmith:generate-structures (Pass 1) and rocketsmith:modify-structures (Pass 2) to produce them from the manifest.
| Part | Orientation | Infill | Perimeters | Notes |
|---|---|---|---|---|
| Body tubes (all sections) | Vertical (tube axis = Z) | 40–60% | 4–6 | Layer lines along stress axis |
| Motor mount | Vertical | 60–80% | 4–6 | High thermal load near motor |
| Centering rings | Flat (ring in XY) | 100% | 4 | Print ×2 |
| Nose cone | Tip-up or tip-down | 20–40% | 3–4 | No supports if shoulder at base |
| Lower airframe with fins | Vertical | 40–60% | 4–6 | Fins will have cross-grain layers — acceptable at model scale |
For parts with unusual geometry (thin walls, overhanging fin tips, large bridges), query rag_reference(action="search", collection="print_gotchas", query=f"{part_name} {distinctive_feature}", n_results=3). Fall back to the heuristic table above if no results; proceed silently on errors. Skip for simple parts that match the table cleanly.
prusaslicer_slice(model_file_path=<step_path>)
If out_path is omitted, gcode saves alongside the STEP file with .gcode extension.
Slice parts one at a time. Batch slicing with different settings per part isn't supported in a single call.
After each slice, confirm the gcode file was created:
ls <project_dir>/parts/*.gcode
Report the file path and estimated print time/mass to the user if PrusaSlicer returns that information.
Once every part is sliced, the filament_used_g values are the real printed weights. Feed them back into the OpenRocket design as mass overrides and re-run the simulation to confirm stability still holds — printed parts routinely weigh 2–4× OpenRocket's material defaults. Use the rocketsmith:mass-calibration skill to close this loop. Do not treat the design as flight-ready until this step passes.
PETG (recommended for all structural parts):
PLA (acceptable for nose cones and non-structural fairings):
Thick PETG walls carry 3–4× the mass of equivalent fiberglass parts. If the simulated apogee is marginal, consider: