code wiki / (root) / nx_underridge_cleaner.nx

nx_underridge_cleaner.nx

buildroot/runtime/nx_underridge_cleaner.nx

7978 B140 linesdepth 7pulls 13 transitivereach 8 importersview sourcekind librarytopic underridge
docsdependenciesstructsconstsfunctions

about

nx_underridge_cleaner.nx -- the UNDER-RIDGE toilet-bowl cleaner head, GENERATED OUT OF THE TEAM as a sovereign N-primitive CSG scene (nx_csg_scene) -> watertight NxMesh -> nx_stl_write_mesh -> slicer -> G-code. No 3rd-party CAD anywhere in the path. Design (a FLAT paddle = prints with zero supports; the strong, never-break geometry): * rounded head plate (every glaze-facing edge filleted = never-break NB2) * a recessed POCKET that holds a glaze-SAFE scour/melamine pad -- the pad stands proud of the printed lip, so the ONLY thing that ever touches the porcelain is the soft pad (never-break NB1: the tool cannot scratch the glaze) * two strap slots to clamp the pad (zip-tie / rubber band) * a neck for reach + two MOUNT HOLES to HOOK ONTO a handle ("hookable on") * power vs the black biofilm = pad pressure under the rim + reach, not hard abrasion Axis-aligned v1 (SDF has no rotation yet -> the candy-cane hook tilt is a later rung; the flat paddle is the strongest, most printable starting geometry). All dims Q14-mm (1mm = 16384). The never-break gate reads these same numbers. license_tier: ORIGINAL

dependencies 5 imports · 8 importers

nx_syscalls.nx nx_mesh.nx nx_sdf.nx nx_csg_scene.nx nx_stl_write.nx nx_underridge_cleaner.nx nx_mesh_decimate_gate.nx nx_underridge_cleaner_gate.nx nx_underridge_gcode_gate.nx nx_underridge_gel_gate.nx nx_underridge_hook_gate.nx nx_underridge_hook_gcode_gate.nx nx_underridge_hook_petg_gate.nx nx_underridge_master_gate.nx

imports: nx_syscalls.nxnx_mesh.nxnx_sdf.nxnx_csg_scene.nxnx_stl_write.nx

imported by: nx_mesh_decimate_gate.nxnx_underridge_cleaner_gate.nxnx_underridge_gcode_gate.nxnx_underridge_gel_gate.nxnx_underridge_hook_gate.nxnx_underridge_hook_gcode_gate.nxnx_underridge_hook_petg_gate.nxnx_underridge_master_gate.nx

structs

none

consts

23const UC_MM: i64 = 16384
78const UC_HOOK_ANG: i64 = 43 // ~15 deg up (1024*15/360)

functions

27func nx_uc_build(drop_slot: i64) -> *NxCsgScene
58func nx_uc_lox() -> i64 { return 0 - 85*16384 }
59func nx_uc_loy() -> i64 { return 0 - 20*16384 }
60func nx_uc_loz() -> i64 { return 0 - 2*16384 }
61func nx_uc_hix() -> i64 { return 40*16384 }
62func nx_uc_hiy() -> i64 { return 20*16384 }
63func nx_uc_hiz() -> i64 { return 9*16384 }
called by 1: nx_uc_mesh
66func nx_uc_mesh(res: i64) -> *NxMesh
79func nx_uc_heel_x() -> i64 { return 0 - (75*16384)/2 } // -37.5mm = head heel (neck weld)
80func nx_uc_heel_z() -> i64 { return 3*16384 } // mid-plate pivot height
82func nx_uc_build_hook(drop_slot: i64) -> *NxCsgScene
109func nx_uc_mesh_hook(res: i64) -> *NxMesh
121func nx_uc_build_hook_gel(drop_slot: i64) -> *NxCsgScene
136func nx_uc_mesh_hook_gel(res: i64) -> *NxMesh