Fusion 360-style viewer for STEP / STP files in a Hydrogen webview. Components outline, smart-pick measure (mm + mils + angle), hover-inspect HUD, and geometry-based pin / contact detection that handles LGA, BGA, QFN, SOIC, and through-hole connectors — including chip-fetcher manufacturer STEPs. AI-drivable CLI for every UI verb.
49s feature tour, 5 staged clips: components outline tree, smart-pick measure (mm + mils + Δ), right-click reveal/isolate with Ctrl-Z, Babylon Inspector. v3 — real PickingInfo on measure (not bbox-fake), no faked interactions, no inspector teaching popovers.
💬Sample promptsPaste any of these into Claude Code to use this app
Open a STEP fileview this .step file in adom-step
Measure two facesmeasure between two faces and show mm + mils + angle
Isolate a partisolate U1 in the components outline
Strobe pinsstrobe each detected pin / contact
List pinslist all pin clusters with their centroids
⚡Install this app
Paste this into Claude Code (VS Code panel, Adom editor, or terminal) to install:
I want to install the "adom-step — STEP file viewer" app from the Adom Wiki (https://wiki-ufypy5dpx93o.adom.cloud/wiki/apps/adom-step). For the Docker CLI: curl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-step/adom-step -o /tmp/adom-step && chmod +x /tmp/adom-step && sudo install -m 0755 /tmp/adom-step /usr/local/bin/adom-step && adom-step install Then verify the install works.
A Fusion 360-style viewer for STEP (.step / .stp) files inside a
Hydrogen webview. Renders on the canonical Adom Babylon9 viewer.
What it does
Components outline — left-sidebar tree of every assembly node in
the STEP. Per-row eye-toggle (tri-state across subtrees), isolate,
zoom-to, search, right-click context menu.
Smart-pick measure — Fusion-style snap to vertex / edge / face /
body. Two clicks → distance in mm and mils, plus ΔX / ΔY / ΔZ and
the angle between picks. Multi-stage Esc to back off one click at
a time.
Pin / contact detection — two-mode clusterer that walks the
scene graph, groups meshes by inferred material role (body / pin /
contact / marker), and surfaces detected pins as individual outline
rows. Handles SOIC / QFP / QFN (per-side 1D), LGA / BGA / aQFN
(2D bimodal-gap union-find), and through-hole connectors (geometry-
based: tall-thin sub-meshes poking below the body's seating plane,
regardless of material color).
Strobe — flash each detected pin once at a configurable interval.
Auto-disables with an explanatory tooltip on STEPs where no pins or
contacts were found.
Right-click anywhere in the canvas — Reveal in Components Outline,
Isolate, Hide Others, Show, Hide, Zoom To, Copy Name, Properties.
All visibility actions are Ctrl+Z / Ctrl+Y undoable; "Hide" auto-
flashes the row in the outline so you can find the hidden item again.
Babylon Inspector — bundled (not CDN), one click opens the full
scene-graph debugger.
CLI mirrors every UI verb — drive the running viewer from the
shell or from Claude.
adom-step install deploys SKILL.md + completions to ~/.claude/skills/
and ~/.local/.
Quick start
# Open any STEP file:
adom-step view /path/to/design.step
# Open a KiCad library footprint by canonical name:
adom-step view-library Package_QFP/LQFP-64_10x10mm_P0.5mm
# Drive from the CLI / from Claude:
adom-step list-components # tree dump
adom-step isolate U1 # hide others + frame
adom-step show NAME / hide NAME / show-all
adom-step measure A B # mm + mils
adom-step pins list # detected clusters
adom-step pins isolate 3
adom-step pins strobe # flash each pin
adom-step view-cube iso # front | top | iso | home | ...
adom-step screenshot --out /tmp/x.png
adom-step eval "return Object.keys(window.adomStep)"
adom-step console -f # tail webview console
The conversion side uses OCCT XCAF + RWGltf_CafWriter, which preserves
the STEP product structure and per-face materials end-to-end. That's
why TI / Renesas / Nordic STEPs surface their named pin hierarchy
directly (no client-side STEP parsing).
See also
service-step2glb
— the OCCT-based converter that produces the GLBs.
70s feature tour: components outline tree, smart-pick measure (mm + mils + Δ), strobe through 17 LGA pads, right-click context menu → isolate one pad with Ctrl-Z undo, geometry-based THT pin detection on a WAGO terminal block.
73s feature tour: components outline, smart-pick measure with mm + mils, strobe through 17 LGA pads, right-click reveal/isolate/hide, geometry-based THT pin detection on a WAGO terminal block.
60s feature tour: components outline, smart-pick measure, strobe, right-click reveal-in-outline, geometry-based THT pin detection on a WAGO terminal block.
Sub-Skills
?
What are Sub-Skills?
Sub-skills are community-contributed AI skill extensions for this component.
They teach AI assistants about specific tools, configurators, or workflows.
Examples:
A manufacturer’s configuration tool for a motor controller
A community-written design guide for an amplifier circuit
An automated test/validation script for a sensor module
How to add one: Click Add Sub-Skill, provide the URL
to your skill and a brief description. Submissions are reviewed by the Adom team
before going live.
No sub-skills yet. Be the first to contribute one!
🔎
How Claude finds this page
(discovery snippet)
This page opts into Adom Wiki auto-discovery. When a user working in Claude Code mentions any of the trigger phrases below, Claude can proactively suggest this page. The pitch is exactly what Claude will say.
Pitch
"Drop a STEP file in and get a Fusion 360-feel viewer instantly: components outline (every assembly node), smart-pick measure tool with mm + mils + angle, hover-inspect, and per-pin / per-contact strobe that handles LGA, BGA, QFN, SOIC, and through-hole connectors — works on KiCad library STEPs and chip-fetcher manufacturer STEPs alike."
See all discovery snippets across the wiki at /discover — copy into your own Claude setup to teach it about Adom wiki items.
Recent activity
25 commits
⬆
Asset uploadedJohn Lauer25 days ago
binary v0.1.2
⬆
Asset uploadedJohn Lauer25 days ago
SKILL.md v0.1.2
✎
Editv0.1.2John Lauer25 days ago
v0.1.2 metadata bump
🏷
Releasev0.1.2John Lauer25 days ago
v0.1.2:
- fix: service-step2glb v1.2 compatibility — send X-Client/X-Job-Name identity headers and drive the new async job protocol (POST 202 -> poll /jobs/<id> -> GET /result). Restores STEP->GLB model loading (was failing with HTTP 400).
⬆
Asset uploadedJohn Lauer2 months ago
binary v0.1.1
⬆
Asset uploadedJohn Lauer2 months ago
SKILL.md v0.1.1
✎
Editv0.1.1John Lauer2 months ago
v0.1.1 metadata bump
🏷
Releasev0.1.1John Lauer2 months ago
v0.1.1 — header redesign + hover-popover
- Migrate to canonical Adom single-row header (44 px row, brand block + subject + state-pill, hover-popover surfaces version/engine/wiki link with 500 ms hover-intent per human-ui-patterns §1b)
- Real PickingInfo synthesis for window.adomStep.measurePick (replaces bbox-fake)
- Drop the strobe button (out of scope for a STEP file viewer)
- Fix wiki popover link from broken adom.inc/wiki path to wiki-ufypy5dpx93o.adom.cloud/apps/adom-step
- Hero refresh showing the new header, sidebar, and Babylon scene
⬆
Asset uploadedJohn Lauer2 months ago
v0.1.1 hero refresh — new header
✎
Editv0.1.0John Lauer2 months ago
v0.1.0 demo v4 — final 5-clip cut. Scope-trimmed: strobe + wago dropped per user feedback. Strobe removed from app entirely (chip-fetcher / chiplinter own per-pin verification). All clips real interactions: measure uses real PickingInfo, ctxmenu uses real openContextMenu, inspector via canonical-viewer fix that suppresses Fluent UI teaching popovers.
⬆
Asset uploadedJohn Lauer2 months ago
Hero image — first impression in the wiki digest and on the app page.
⬆
Asset uploadedJohn Lauer2 months ago
v0.1.0 demo v4 — final 5-clip cut, scope-trimmed: drop strobe (out of scope) + drop wago (orientation issue, deferred to new normalization app)
⬆
Asset uploadedJohn Lauer2 months ago
v0.1.0 hero v4 — measure-tool dimension HUD
✎
Editv0.1.0John Lauer2 months ago
v0.1.0 demo v3 — staged action across all 6 clips at 20-30 fps real motion (replaces frozen v1 + slideshow v2)
⬆
Asset uploadedJohn Lauer2 months ago
v0.1.0 demo v3 — proper staging: orbit always-painting via setInterval pump, real ctxmenu hold + click, staged measure (pick 1 → wait → pick 2 → emphasize delta)
⬆
Asset uploadedJohn Lauer2 months ago
v0.1.0 hero v3
⬆
Asset uploadedJohn Lauer2 months ago
v0.1.0 hero v2 — measure tool in action with real HUD readout
✎
Editv0.1.0John Lauer2 months ago
v0.1.0 — demo video v2 (real action across all 6 clips)
⬆
Asset uploadedJohn Lauer2 months ago
v0.1.0 demo video v2 — real action across all 6 clips (replaces frozen v1)
✎
Editv0.1.0John Lauer2 months ago
v0.1.0 — demo video + hero image attached
⬆
Asset uploadedJohn Lauer2 months ago
v0.1.0 hero image — VL53L8CX with components outline visible
⬆
Asset uploadedJohn Lauer2 months ago
v0.1.0 demo script for the 60s feature tour
⬆
Asset uploadedJohn Lauer2 months ago
v0.1.0 demo video — 6 sectioned clips, en-US-AndrewMultilingualNeural narration