code wiki / _hdl_build / nx_assemseq.nx

nx_assemseq.nx

buildroot/runtime/_hdl_build/nx_assemseq.nx

3081 B80 linesdepth 3pulls 3 transitivereach 5 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_assemseq.nx -- ASSEMBLY / DISASSEMBLY SEQUENCING from the STEP assembly tree (cadtwin P4b). Given the parsed as1 product structure (nx_step_parse: NAUO parent->child edges), compute a valid DISASSEMBLY ORDER: deepest parts (fasteners/leaves) come out first, the top assembly last -- a part is removable only after all its children are removed. = teardown/repair instructions for a flipped car, and the correct order for the /explodelab explode animation (explodelab already offsets by assembly depth = this order). Depth = longest path from the root (handles shared sub-assemblies). Verifies every edge: child removed BEFORE its parent. Composes nx_step_parse. Deterministic. LIB (no main; gated by nx_assemseq_gate). license_tier: ORIGINAL

dependencies 1 imports · 2 importers

nx_step_parse.nx nx_assemseq.nx nx_assemseq_gate.nx nx_cadtwin_report.nx

imports: nx_step_parse.nx

imported by: nx_assemseq_gate.nxnx_cadtwin_report.nx

structs

none

consts

none

functions

12func asq_collect_pds(pe: *i64, ce: *i64, en: i64, pd: *i64) -> i64
called by 2: mainmain
30func asq_root(pe: *i64, ce: *i64, en: i64) -> i64
called by 2: mainmain
43func asq_depths(pd: *i64, npd: i64, pe: *i64, ce: *i64, en: i64, rootpd: i64, depth: *i64) -> i64
called by 2: mainmain
67func asq_order(depth: *i64, npd: i64, order: *i64) -> i64
called by 2: mainmain