Slice 3D models, manage print presets, upload to printer, and monitor print jobs on Elegoo Centauri Carbon
Control the complete 3D printing workflow: slicing models, managing presets, uploading to printer, and monitoring jobs.
Presets are stored in ~/.casterly/config/3d-printing.yaml. The configuration includes:
Use find_models to search for 3D model files:
find_models("/Users/name/Downloads", "benchy", recursive=true)
Supported formats: , ,
.stl.3mf.objList available presets:
list_presets("all")
Common filament presets:
pla_basic - Standard PLA settingspla_plus - Enhanced PLA for better layer adhesionpetg_standard - PETG with typical settingspetg_strong - Higher temp PETG for strengthabs_standard - ABS with enclosure settingstpu_flexible - TPU for flexible printsCommon quality presets:
draft - 0.3mm layer, fast printingstandard - 0.2mm layer, balancedfine - 0.12mm layer, detailedultra_fine - 0.08mm layer, maximum detailslice_model(
model_path="/path/to/model.stl",
filament_preset="pla_basic",
quality_preset="standard",
output_description="benchy test print"
)
This will:
~/.casterly/prints/YYYY-MM-DD_description/Upload the sliced gcode:
upload_to_printer("/path/to/output.gcode")
Start the print:
start_print("output.gcode")
Check status anytime:
check_print_status()
Returns:
save_preset(
preset_type="filament",
name="silk_pla",
settings={
"material": "PLA",
"nozzle_temp": 215,
"bed_temp": 60,
"flow_ratio": 0.98,
"retraction_length": 0.8,
"retraction_speed": 35,
"notes": "Silk PLA needs slightly higher temp"
}
)
save_preset(
preset_type="quality",
name="speed_draft",
settings={
"layer_height": 0.28,
"first_layer_height": 0.3,
"infill_percentage": 10,
"wall_loops": 2,
"top_layers": 3,
"bottom_layers": 3,
"print_speed": 150,
"travel_speed": 250,
"notes": "Fast draft for prototypes"
}
)
The printer is accessed via its network API. Configure in 3d-printing.yaml: