Printer profiles¶
An optional feature. By default b123d-print is in generic mode: no printer assumed, 0.8 mm minimum wall, 45° overhang limit, no build-volume check. Setting a printer only adds facts that change how a part is modeled; no slicer tuning (speeds, elephant foot, bridges, first layer).
b123d-print printer list bambu a1 # search 405 printer models
b123d-print printer use bambu_lab_a1_mini --material petg
- Parts must then fit the build volume in print orientation (
fitcheck; it fails otherwise, and warns when the part only fits turned 90°). - Minimum wall becomes 2 line widths of your nozzle; the overhang limit comes from the printer; material notes (PLA vs PETG vs ASA …) reach the model.
b123d-print printer hole-comp 0.4stores your coupon result for that printer + material;b123d-print printer calibrate <key> <value>stores any other coupon result (fits, overhang and bridge limits; see Settings).b123d-print printer showshows the active printer;b123d-print printer use genericgoes back.- Over MCP: the
use_printertool searches and sets them;list_partsshows the active ones.
What a profile holds¶
- Printer: build volume (round beds by diameter), nozzle, layer height (0.2 unless set),
overhang limit (45° unless set), bridge limit (
max_bridge, 10 mm unless set). Derived: line width ≈ 1.125 × nozzle (the thin check fails below one line), minimum wall = 2 lines. - Material: label, notes for the model, optional clearance, density (g/cm³, from the maker's datasheet; the design review's filament estimate uses it). Built-in: pla, petg, asa, abs, tpu.
- Calibration: what the coupons measured, per printer + material (
printer calibrate, orprinter hole-compfor hole compensation), kept in~/.config/b123d-print/calibration.toml:hole_comp,hole_comp_h,clearance,press_fit,free_fit,pip_clearance,max_overhang,max_bridge. A key missing for the material falls back to<printer>/any.
Your own printer or material¶
Not listed, or modified? Add ~/.config/b123d-print/printers/<name>.toml:
label = "My Ender 3 with 0.6 nozzle"
bed_x = 220
bed_y = 220
height = 250
nozzle = 0.6
# round_bed = true # deltas: bed_x is the diameter
# layer_height = 0.2
# max_overhang = 50
# max_bridge = 15
Materials work the same way in ~/.config/b123d-print/materials/<name>.toml (label, notes,
optional clearance and density).
Sources¶
- Built-in printers:
src/b123d_print/data/printers_orca.json, generated bytools/sync_orca_printers.pyfrom OrcaSlicer's printer profiles (one source; other slicers' libraries overlap heavily). Only facts are extracted; the OrcaSlicer commit is recorded, and a monthly job refreshes it when OrcaSlicer's printer data changes. See Credits and licenses. - Custom printers and materials: TOML files in
~/.config/b123d-print/{printers,materials}/. - Slicer importers (Bambu Studio, PrusaSlicer, Cura) were considered and dropped: a short TOML file covers any printer not in the table.
Effects¶
fitcheck (fails) per printable part; warns when it only fits turned 90°.- Wall and thin checks default to the printer's minimum wall and line width; the overhang check to its limits.
printer(__file__)in part scripts returns the active profile (orNonein generic mode);hole_comp(__file__)picks up the calibration.- MCP:
list_partsshows the printer/material,use_printersearches and sets them. design_metricsuses the printer's nozzle and layer height and the material's density for its rough filament and time estimates.