tools/cad/cem/*.json | CEM manifests — the Git-SSOT parameter inputs (kind discriminator: ti_coin, anchor_zone1, mechanical_lock, cathode_flange, radome, zone2_sleeve, anchor_assembly, anchor_axial_stack) |
tools/cad/src/SilkenCad/Program.cs | CLI dispatch (smoke/build/verify/scan/draw/render/section) + RunHeadless (the Library.Go wrapper); draw is pure-managed (no Library.Go), render/section drive the native viewer |
tools/cad/src/SilkenCad/Cem.cs | CEM records + JSON parse (snake_case). Engineering-drawing PMI lives here: optional ToleranceSpec (fits / Lamé-µm / GD&T datums) + NotesSpec (material/process/post-process/surface/coating-restriction/lattice-spec/inspection) on each part record — Noyron-native SSOT, fed to draw |
tools/cad/src/SilkenCad/Drawing.cs | CEM-native engineering drawings (draw <cem>): SVG (human) + DXF via netDxf (CAD-native factory deliverable, opens in AutoCAD/Fusion) — no PDF (never built; drawings_program §3). Pure-managed string/entity build, no Library.Go. Consumes the CEM ToleranceSpec/NotesSpec (zero hard-coded eng-text); DrawingStandard param (ISO 1st-angle default / ASME). Shipped kinds = ti_coin + cathode_flange (§7 rest deferred — docs/drawings_program.md). ⚠️ gotcha #11 |
tools/cad/src/SilkenCad/TiCoin.cs | Ti-coin coupon — BaseCylinder disc + BaseRing eyelet, BoolAdd |
tools/cad/src/SilkenCad/Zone1Anode.cs | Zone-1 anode + CartesianGyroid:IImplicit (the from-scratch SDF) + Anode() render path |
tools/cad/src/SilkenCad/Validation.cs | golden-metrics via Voxels.CalculateProperties (porosity needs an envelope ref) + reuses LEAP Measure.fGetSurfaceArea |
tools/cad/src/SilkenCad/Connectivity.cs | ARCH.25 two-phase topological audit — SDF-sample + 6-conn flood-fill (open/closed-pore, percolation, solid-island, specific-surface); pure-managed, display-less xUnit |
tools/cad/src/SilkenCad/MechanicalLock.cs | §4.3 mechanical lock — MechanicalLockShank asymmetric ratchet-barb + DIN-471 groove SDF on the shank (Zone-1 solid monolithic / Zone-3 channelled); render = solid voxConstruct + thin barb-ridge BoolAdd; self-support metric (Noyron manufacturing-awareness) |
tools/cad/src/SilkenCad/CathodeFlange.cs | Деталь 3 — Zone-3 cathode flange (Ø25): reuses the §4.3 shank/barbs via ShankCem + radial bayonet lugs + bus channel + O-ring groove |
tools/cad/src/SilkenCad/Radome.cs | Деталь 4 — PEEK radome v2c (Ø25): hollow dome + shield bell + bayonet socket + PCB cavity + O-ring groove (gotcha #9 INVERTED — hollow is intended) |
tools/cad/src/SilkenCad/Assembly.cs | Capsule-end mate-audit (Деталь 3↔4, 02_02 §4.4) — bayonet datum via voxApplyTransformation lift + Z/MATE-Ø/RF mismatch + skirt/inboard candidates; pure mate-math (xUnit) + render interference (verify) |
tools/cad/src/SilkenCad/Zone2Sleeve.cs | Деталь 2 — Zone-2 PEEK sleeve (bore Ø11 / OD Ø15 / 50 mm): plain hollow tube via BasePipe (smooth bore; hex + flange-shoulder deferred, bench-gated) |
tools/cad/src/SilkenCad/AxialStack.cs | Full axial stack mate-audit (Зони 1↔2↔3↔4, 02_02 §4.5) — press-fit interference + insertion budget + span; reuses Assembly.Build + Zone-1 envelope; pure mate-math (xUnit) + render (verify) |
tools/cad/src/SilkenCad.Leap/ | vendored LEAP source compiled in (ImplicitUsings ON, warnings relaxed — not ours) |
tools/cad/extern/LEAP71_{ShapeKernel,LatticeLibrary} | git submodules (source-only; not on NuGet) |