app
Adom Step2GLB - The Adom STEP Engine
Public Made by Adomby adom
The Adom STEP engine: fully manage STEP files. Convert to color-preserving GLB, render thumbnails and vector outlines, laser-etch MPNs, create and edit STEP geometry, extract features, and run molecule mode. One name for the thin Rust CLI and the shared OCCT service. Formerly 'step2glb' + 'service-step2glb'.
← Commit history
Document /laser-etch (flat floating Adom.LaserEtch default, cut mode, colour-safe)
2 files changed
+8−2
README.md+4@@ -96,8 +96,11 @@ curl -X POST "$SVC/create-chip" -d @chip_3d.json # parametric chip b curl -X POST "$SVC/create-footprint" -d @pads.json # pad array JSON to STEP curl -X POST "$SVC/bake" -F [email protected] -F [email protected] # bake transforms into the geometry curl -X POST "$SVC/compose-vias" -F [email protected] -F [email protected] # chip + named heatsink-via barrels, two toggleable solids+curl -X POST "$SVC/laser-etch?name=LAN7800&line2=MICROCHIP&mode=flat" --data-binary @chip.step # part number on the die, colours kept ``` +`/laser-etch` puts the part number on the die and keeps every source colour (the older `/name-emboss` is fuse-based and drops them, issue #7). `mode=flat` (default) writes the glyphs as thin 0.02 mm solids floating 0.01 mm above the top face in their own `Adom.LaserEtch` group beside `Adom.Chip`, so Fusion gives the mark an eye toggle like the via and solder-ball layers, with one straight extrusion of the outlines for a minimal triangle count. `mode=cut` engraves the text into the body instead (one body, cannot be toggled). Both centre a two-line block on the die and enforce a keep-out around the pin-1 dimple (`keepout=x,y,r`, default the top-left dimple), refusing to mark if the text would intrude.+ `/compose-vias` composes a chip STEP with a via layer into one STEP whose root assembly holds two named components: `Adom.Chip` (the input geometry, untouched) and `Adom.HeatsinkVias` (copper barrels at each via centre, 0.3 mm hole and 0.6 mm OD by default, from z=0 down through a 1.6 mm board). Fusion 360 imports them as separately toggleable bodies. This is a **review artefact** (wiki widgets, chipsmith, "what this part needs" views), not the STEP that ships in an EDA library: vias are board features the EDA tool creates from the footprint's through pads, so a via body inside the package STEP would duplicate board geometry and assume a stack-up (the response reports `purpose: review-artifact` and the assumed thickness). The one editing layer that legitimately stays in a library STEP is the laser etch, because it is part of the physical package. The same endpoint composes **solder balls**: pass adom-footprint's solder-balls JSON as the `vias` part (it carries a `balls` array, `ball.diameter`, and a KiCad Y-down origin, all handled) and the layer becomes `Adom.SolderBalls`, one solid hemisphere per ball with its flat face on the pad plane at z=0 and the dome pointing up into the package (`ball_dome: "down"` flips it). **Library binding** (decided 2026-08-30): each composed layer STEP is bound to its own device in the library deviceset, so a package ships as up to three variant STEPs, chip-only, chip + `Adom.HeatsinkVias`, chip + `Adom.SolderBalls`, never merged into one file; the group names are a stable contract that the fusion-bridge relies on to hide layers by name.@@ -165,6 +168,7 @@ The service lives at `https://step2glb-gmdoncpxdwx0.adom.cloud` (override with ` | `POST /create-footprint` | pads JSON | STEP | | `POST /bake` | multipart step + bake JSON | STEP | | `POST /compose-vias` | multipart step + vias JSON (or solder-balls JSON) | STEP with named solids Adom.Chip + Adom.HeatsinkVias (or Adom.SolderBalls) |+| `POST /laser-etch?name=&line2=&mode=flat\|cut` | STEP bytes | STEP with the part number on the die: floating Adom.LaserEtch group (flat) or engraved body (cut), colours preserved | | `GET /jobs/{id}` | | job status + stats (silkscreen, molecule, warnings, stage timings) | | `GET /jobs/{id}/result` | | the binary result | | `GET /jobs/{id}/footprint` `/symbol` | | molecule side artifacts |
SKILL.md+4−2@@ -1,6 +1,6 @@ --- name: step2glb-description: The Adom STEP engine, CLI + shared OCCT service under one name. FULLY MANAGE STEP FILES end to end. Convert STEP (.step/.stp) CAD files to color-preserving GLBs, render thumbnails (single + batch) and 16 vector outline styles, laser-emboss part numbers into the die, create/edit STEP geometry (create-chip, create-footprint, bake), extract features, and run FULL MOLECULE MODE (--molecule/--board: MP-marker anchoring, gold machine pins, footprint + symbol JSON with per-pad wire-attach Z). Thin ~3MB Rust CLI; the OCCT runtime stays on the service. Use when the user asks to convert a STEP to GLB, convert a molecule board, render a component with real materials, extract STEP features, make STEP thumbnails, etch a name onto a chip, or edit/generate STEP geometry. Triggers: heatsink vias step, thermal via layer, compose-vias, manage step files, step file management, step to glb, step2glb, convert step, cad to glb, molecule convert, kicad step to glb, occt gltf, occt service, step preview, step thumbnail, step features, edit step file, create chip step, emboss mpn.+description: The Adom STEP engine, CLI + shared OCCT service under one name. FULLY MANAGE STEP FILES end to end. Convert STEP (.step/.stp) CAD files to color-preserving GLBs, render thumbnails (single + batch) and 16 vector outline styles, laser-emboss part numbers into the die, create/edit STEP geometry (create-chip, create-footprint, bake), extract features, and run FULL MOLECULE MODE (--molecule/--board: MP-marker anchoring, gold machine pins, footprint + symbol JSON with per-pad wire-attach Z). Thin ~3MB Rust CLI; the OCCT runtime stays on the service. Use when the user asks to convert a STEP to GLB, convert a molecule board, render a component with real materials, extract STEP features, make STEP thumbnails, etch a name onto a chip, or edit/generate STEP geometry. Triggers: laser etch step, part number on die, heatsink vias step, thermal via layer, compose-vias, manage step files, step file management, step to glb, step2glb, convert step, cad to glb, molecule convert, kicad step to glb, occt gltf, occt service, step preview, step thumbnail, step features, edit step file, create chip step, emboss mpn. --- # adom-step2glb — the Adom STEP engine (CLI + shared OCCT service)@@ -89,7 +89,9 @@ never merged into the chip-only STEP: vias are board features the EDA tool makes and Fusion re-shows hidden bodies when placing a package on a board. Layer contract: HeatsinkVias = barrels only; board stock/pads, if ever emitted, go in their own default-off groups Adom.Board / Adom.Pads),-`/step-meta` (names/structure/units). All async: 202 + job_id,+`/laser-etch?name=&line2=&mode=flat|cut` (part number on the die, colours+preserved; flat = floating toggleable Adom.LaserEtch group, the library default;+cut = engraved body), `/step-meta` (names/structure/units). All async: 202 + job_id, poll `/jobs/{id}`, download `/jobs/{id}/result`. POSTs need `X-Client` + `X-Job-Name` headers.