-
released this
2026-10-20 09:51:50 +08:00 | 0 commits to main since this release✨ New features
Language switching
- Pick English, 繁體中文 or 简体中文 from View → Language or the language box on the quick toolbar. The whole interface switches instantly — menus, dialogs, status messages, and even measurements already on screen — and your choice is remembered next time.
- On first launch STPViewer follows your Windows display language (Traditional Chinese regions → 繁體中文, other Chinese → 简体中文, everything else → English).
Add your own language — no update needed
- Languages are plain JSON files in the
i18nfolder next toSTPViewer.exe. Copyen.json, translate it, save it under a new name, and restart — the new language appears in the menu. Anything not yet translated falls back to English. See Adding a Language in the README.
Simplified Chinese README
- The README is now also available in 简体中文.
🙏 Thanks
- Multi-language support was contributed by @CarmJos in #1 — thank you!
📦 Downloads
Build Needs .NET Runtime? Notes STPViewer_v0.8.0 (Standard) ✅ Requires .NET 8 Desktop Runtime Smaller download STPViewer_v0.8.0_portable (Portable) ❌ Runtime included Unzip and run anywhere, no admin Run
STPViewer v0.8.0.exe. Keep thei18nfolder next to it — that's where the languages live.🔗 Links
Full changelog: v0.7.1...v0.8.0
Downloads
-
released this
2026-07-14 14:20:36 +08:00 | 5 commits to main since this release✨ New features
Large STL files open in a blink
- Opening big STL meshes (tens of MB, millions of triangles) is now near-instant instead of a multi-minute wait. A 75 MB / 1.5-million-triangle STL that used to take ages now shows in under a second.
- STL is now parsed directly instead of going through the CAD kernel's importer, which used to build a full B-rep face per triangle (100k triangles: ~41 s → ~11 ms). Both binary and ASCII STL are detected and read automatically.
Customizable menu bar & quick toolbar
- A full menu bar groups every feature into categorized dropdowns, and a quick toolbar lets you tick just the buttons you use most — your selection is remembered between sessions.
About dialog with a changelog
- Help → About now shows a per-version, plain-language changelog so you can see what each release brought.
🐛 Bug fixes
STL geometry no longer leaks into STEP export
- STL is pure mesh (no B-rep), so STL parts are now correctly excluded from STEP export — earlier versions wrongly mixed STL shells into the exported STEP. Rigid transforms and measurement on STL parts are unaffected.
📦 Downloads
Build Needs .NET Runtime? Notes STPViewer_v0.7.1 (Standard) ✅ Requires .NET 8 Desktop Runtime Smaller download STPViewer_v0.7.1_portable (Portable) ❌ Runtime included Unzip and run anywhere, no admin Run
STPViewer v0.7.1.exe.🔗 Links
Full changelog: v0.6.0...v0.7.1
Downloads
-
released this
2026-07-04 09:17:06 +08:00 | 7 commits to main since this release✨ New features
Menu bar
- Every feature is now in a menu, grouped by File / View / Measure / Transform / Tools — no more hunting through one long row of buttons.
Quick toolbar you can customize
- The toolbar now holds only the buttons you use most. Pick which ones under Quick Bar → Customize; your choice is remembered next time.
Tidier section controls
- The section axis/position bar only appears while section view is on, so it no longer takes up space.
About dialog
- Help → About shows the version and a plain-language history of what each release brought.
📦 Downloads
Source only — no prebuilt binaries were published for this version. For a ready-to-run build, grab the latest release.
🔗 Links
Full changelog: v0.6.0...v0.7.0
Downloads
-
v0.6.0 — Export to STL Stable
released this
2026-07-04 08:44:43 +08:00 | 9 commits to main since this release✨ New features
STL export with a settings dialog
- Save the parts on screen — including any alignment or rotation you applied — as an STL mesh for 3D printing or other software.
- Before exporting you choose: one merged file or one file per input, Binary or ASCII, mm / inch / custom scale, and mesh quality (current or fine).
- The dialog shows the triangle count and estimated file size live, so you know what you'll get before you hit export.
📦 Downloads
Source only — no prebuilt binaries were published for this version. For a ready-to-run build, grab the latest release.
🔗 Links
Full changelog: v0.5.0...v0.6.0
Downloads
-
released this
2026-07-03 09:00:57 +08:00 | 11 commits to main since this release✨ New features
Measure hole-to-hole pitch in two clicks — snap to circle centers
- Point / Distance / Align picks now snap to the center of a circular edge when you click near
a hole or a round boss — measure connector pin pitch by simply clicking two hole rims. - Vertex snapping still works; whichever feature is closest to your click wins.
Keyboard shortcuts and Esc
- Measure modes now have hotkeys: P point, D distance, E edge, F face, C circle,
A angle, M face-to-face. Press the same key again to go back to browsing. - Esc cancels an in-progress multi-step measurement first (keeping the mode), then exits the
mode, then closes the manipulator — no more re-clicking toolbar buttons after a mis-pick.
Standard views and orthographic projection
- One-click Iso / Front / Top / Right view buttons (Z-up, mechanical convention).
- New orthographic ⇄ perspective toggle — check dimensions without perspective distortion.
The 3-axis manipulator stays perfectly aligned in both projections.
Assembly tree: search, isolate, volume
- A search box above the tree filters nodes by name (ancestors and children of a match stay
visible, branches auto-expand) — find one part in a hundred instantly. - Right-click any node: Isolate (show only this node), Invert visibility, Show all.
- Right-click Volume / centroid: closed solids get mesh-based volume, a centroid marker in the
view, and overall L×W×H. Node tooltips now show each part's bounding size too.
Cut along any plane — 3-point section + numeric position
- The section axis picker gains a "3-pt" option: click three points on the model to define an
arbitrary cutting plane, then sweep it with the position slider as usual. - The position value is now also an editable number field (0–100 %).
Interference check across 3+ files
- The check now accepts two or more visible files and tests every pair, reporting each
pair's result (intersection lines or minimum gap) plus a summary of how many pairs collide.
Hand off your alignment — export the scene as STEP
- New 📤 STEP button writes all visible parts at their current aligned positions into a
brand-new STEP file — mate connectors in STPViewer, then hand the assembly to any CAD.
Original files are never modified.
Quality of life
- Window size/position, mm ⇄ inch choice and the last 10 opened files (▾ next to Import) are
remembered between sessions. - The tree and measurement panels are now resizable with drag splitters.
📦 Downloads
Two builds are produced:
Build Needs .NET 8 Desktop Runtime? Notes Standard ( STPViewer_v0.5.0)✅ Yes Smaller; for machines that already have the runtime Portable ( STPViewer_v0.5.0_portable)❌ No Runtime bundled — unzip and run, no install / admin needed Run
STPViewer v0.5.0.exe.Full changelog: v0.4.0...v0.5.0
Downloads
- Point / Distance / Align picks now snap to the center of a circular edge when you click near
-
released this
2026-07-02 15:25:48 +08:00 | 15 commits to main since this release✨ Improvements
Section slider stays responsive on big files
- Dragging the section slider on large assemblies no longer freezes the screen — the cut is computed in the background and shown as soon as it's ready.
Faster placement after moving parts
- After dragging or using the gizmo, the part settles into its new position much faster. The interference check's gap calculation is faster too.
🐛 Bug fixes
Errors no longer close the app
- If something goes wrong, you now get a message and the app keeps running instead of shutting down. Details are logged to
%LOCALAPPDATA%\STPViewer\error.log. - Import, rotate and interference buttons are disabled while a long task is running, so they can't be triggered twice by accident.
📦 Downloads
Source only — no prebuilt binaries were published for this version. For a ready-to-run build, grab the latest release.
🔗 Links
Full changelog: v0.3.2...v0.4.0
Downloads
-
released this
2026-06-18 16:58:40 +08:00 | 18 commits to main since this release🐛 Bug fixes
Smooth orbit while measuring large models
- Fixed: with a large assembly loaded, switching to any measurement tool
(Distance, Edge, Face, Circle, Angle, Face-distance) and then rotating the
view used to lag badly — it hitched every time the view came to rest. Plain
browsing stayed smooth; only measuring was affected. - Measuring now rotates just as smoothly as browsing, at any model size.
- Picking accuracy is unchanged — circles/holes, faces, edges, angles and
face-distance all read exactly as before, including inner hole walls. - Section-mode measurement is unaffected.
📦 Downloads
Two builds are produced:
Build Needs .NET 8 Desktop Runtime? Notes Standard ( STPViewer_v0.3.2)✅ Yes Smaller; for machines that already have the runtime Portable ( STPViewer_v0.3.2_portable)❌ No Runtime bundled — unzip and run, no install / admin needed Run
STPViewer v0.3.2.exe.Full changelog: v0.3.1...v0.3.2
Downloads
- Fixed: with a large assembly loaded, switching to any measurement tool
-
released this
2026-06-13 21:50:00 +08:00 | 23 commits to main since this release✨ 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 - Architecture & design:
ARCHITECTURE.md
Full changelog: first public release — commit history
Downloads
- Import multiple CAD files at once (STEP / STL / DXF) via the toolbar, drag-and-drop,
-
released this
2026-06-13 18:17:19 +08:00 | 24 commits to main since this release✨ New features
Gizmo manipulator
- Select a file in the tree and a gizmo appears at its center: drag the X/Y/Z arrows to move exactly along one axis, or the rotation rings to spin it by any angle — from any viewing angle.
- Selecting another file moves the gizmo to it.
⚠️ Known limitation
- The gizmo can be hidden inside solid parts. (Fixed in v0.3.1 — the gizmo now always stays on top.)
📦 Downloads
Source only — no prebuilt binaries were published for this version. For a ready-to-run build, grab the latest release.
🔗 Links
Full changelog: v0.2.1...v0.3.0
Downloads
-
released this
2026-06-13 13:55:58 +08:00 | 25 commits to main since this release🐛 Bug fixes
No more crash after using drag mode
- Clicking anywhere in the view after dragging a part could crash the app. Fixed — you can drag, then measure or select as usual.
📦 Downloads
Source only — no prebuilt binaries were published for this version. For a ready-to-run build, grab the latest release.
🔗 Links
Full changelog: v0.2.0...v0.2.1
Downloads