# v0.3.1 — First public release: 3D STEP viewer with measurement & assembly fit-check A lightweight Windows desktop viewer for STEP / STL / DXF — open a part, measure it, and check how two parts fit together, without firing up a heavyweight CAD suite. ## ✨ New features **View & assembly tree** * Import multiple CAD files at once (STEP / STL / DXF) via the toolbar, drag-and-drop, or the command line (`STPViewer.exe a.stp b.stp`). * STEP product structure is rebuilt into an **assembly tree** — toggle visibility, recolor (cascades to children), and zoom-to any node; whole-file remove and outline-edge toggle. * Smooth orbit / zoom / pan even on large assemblies (hundreds of thousands of triangles). **Measurement** (pick a mode, click the model) * Point (snaps to nearby vertices), two-point distance + ΔX/ΔY/ΔZ, edge length (line / curve / arc with radius), face area + surface type, circle center / radius / diameter / circumference, angle between two faces or edges, and face-to-face minimum gap. * Edge length, radius and angle use **exact B-rep values**; area and gap are mesh-based. * Switch units **mm ⇄ inch** anytime — existing measurements and 3D labels convert live. **Assembly fit-check** (mate a male/female pair and verify) * **Two-point align** — click a point on the part to move, then the target point, to slide the whole file into place. * **Three-point align** — pick 3 feature points on each file to solve a full rotate+translate in one shot, for parts that aren't already oriented the same way. * **Axis rotate** — rotate the selected file ±90° about X / Y / Z to square it up. * **Drag mode** (hand cursor) — left-press a part and drag it along the screen plane. * **Gizmo** — XYZ arrows to move along an axis (independent of view angle, ideal for pushing along a mating axis) and rings to rotate any angle. The gizmo always renders on top, so it is never hidden inside a solid part. * **Interference check** — for two visible files, shows red intersection lines where they collide, or the minimum gap when they don't (gap ≈ 0 means a clean fit). **Section & export** * Section view along X / Y / Z with a position slider and flip, to inspect mating internals. * Export measurements to CSV (opens cleanly in Excel) and save a 2× PNG screenshot of the view. ## 📦 Downloads Two builds are produced: | Build | Needs .NET 8 Desktop Runtime? | Notes | |-------|-------------------------------|-------| | **Standard** (`STPViewer_v0.3.1`) | ✅ Yes | Smaller; for machines that already have the runtime | | **Portable** (`STPViewer_v0.3.1_portable`) | ❌ No | Runtime bundled — unzip and run, no install / admin needed | Run `STPViewer v0.3.1.exe`. ## 🔗 Links * Overview & usage: [README.md](https://github.com/ETWen/STPViewer/blob/main/README.md) * Architecture & design: [ARCHITECTURE.md](https://github.com/ETWen/STPViewer/blob/main/ARCHITECTURE.md) **Full changelog:** first public release — [commit history](https://github.com/ETWen/STPViewer/commits/v0.3.1)