code wiki / _hdl_build / nx_contour_print.nx
nx_contour_print.nx
buildroot/runtime/_hdl_build/nx_contour_print.nx
about
nx_contour_print.nx -- LIB: the UNIFIED multi-material contour emitter (3D-printing R1b). Generalises from a
hardcoded rectangle to ANY closed polygon contour, so arbitrary geometry (not just a wall) prints in any
material through ONE function. (Production contours come from the mature nx_slice_* pipeline; this proves the
emitter accepts arbitrary polygons + makes the R-ECO cistern ROUND.) Material family selects the deltas:
FILAMENT = hot hotend (M104/M109), METAL = arc (M3/M5) + inter-layer cooling dwell (G4), PASTE = cold; the
contour-tracing + layering is shared. No float: a 12-point integer circle table + Newton integer sqrt for
path length. CARDINAL 26: motion + extrusion/arc/hotend-temp only; no firmware/EEPROM. license_tier: ORIGINAL
dependencies 4 imports · 2 importers
imports: nx_print_material.nxnx_food_science.nxnx_seg_store.nxnx_syscalls.nx
imported by: nx_contour_print_gate.nxnx_slice_bridge.nx
structs
| none |
consts
| none |
functions
| 14 | func cp_um_to_mm(dst: *u8, off: i64, um: i64) -> i64 |
| 25 | func cp_isqrt(nn: i64) -> i64 called by 1: cp_seglen |
| 32 | func cp_seglen(x0: i64, y0: i64, x1: i64, y1: i64) -> i64 |
| 37 | func cp_move(out: *u8, off: i64, x: i64, y: i64, e: i64) -> i64 |
| 47 | func cg_rect(xs: *i64, ys: *i64, w: i64, d: i64) -> i64 called by 1: main |
| 55 | func cg_circle(xs: *i64, ys: *i64, cx: i64, cy: i64, r: i64) -> i64 |
| 76 | func cp_emit_prism(prefix: *u8, mat_id: *u8, xs: *i64, ys: *i64, npts: i64, h: i64, out: *u8) -> i64 called by 2: maincb_emit_polygon calls 9: sys_mmappm_field_strpm_streqpm_field_intas_appendfd_apnum+3 |