feat: Initial release v0.1.0
STP/STEP 3D viewer (WPF, .NET 8) - CADability + HelixToolkit.Wpf: - Multi-file import (STEP/STL/DXF) with STEP assembly tree (per-node visibility/color cascade, zoom-to) - Measurements: point / distance / edge / face / circle / angle / face-to-face distance (B-rep exact where available) - Assembly verification: two-point align (translate), 3-point align (rotate+translate via RigidAlign), axis rotate 90, interference check (tri-tri intersection + min gap) - Section view (CPU mesh clipping, originals preserved) - mm/inch toggle, CSV export (UTF-8 BOM), 2x PNG screenshot - Performance: per-file merged edge lines, per-leaf merged mesh in browse mode, no BackMaterial on closed solids, edge suspend during camera interaction, parallel leaf triangulation with retry - SmokeTest CLI: import pipeline, --tree, --clip-test, --interference-test, --align-test (all passing) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# secret/ — 本機敏感資料集中地
|
||||
|
||||
本資料夾除 `README.md` 與 `*.example` 外全部 gitignored(規則見根目錄 `.gitignore`)。
|
||||
|
||||
## 內含物件
|
||||
|
||||
| 檔案 | git | 用途 |
|
||||
|---|---|---|
|
||||
| `README.md` | ✅ committed | 本說明 |
|
||||
| `run-STPViewer.ps1.example` | ✅ committed | Windows 啟動腳本範本 |
|
||||
| `run-STPViewer.sh.example` | ✅ committed | Git Bash 啟動腳本範本 |
|
||||
| `run-STPViewer.ps1` / `.sh` | 🚫 ignored | 從範本複製後的本機實值版 |
|
||||
|
||||
> STPViewer 為離線桌面工具,目前**沒有任何 DB 密碼 / ApiKey**;
|
||||
> 腳本僅做 build + run。未來若加入需要 secret 的功能(雲端授權、回報伺服器等),
|
||||
> 依範本內註解加上 env var 注入。
|
||||
|
||||
## 第一次使用
|
||||
|
||||
```powershell
|
||||
cd secret
|
||||
Copy-Item run-STPViewer.ps1.example run-STPViewer.ps1
|
||||
.\run-STPViewer.ps1
|
||||
```
|
||||
@@ -0,0 +1,31 @@
|
||||
# ══════════════════════════════════════════════════════════════════
|
||||
# run-STPViewer.ps1 範本
|
||||
#
|
||||
# 第一次 clone 下來:
|
||||
# cd secret
|
||||
# Copy-Item run-STPViewer.ps1.example run-STPViewer.ps1
|
||||
# .\run-STPViewer.ps1
|
||||
#
|
||||
# 若 PowerShell 擋執行 script,執行一次:
|
||||
# Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
|
||||
#
|
||||
# secret/ 下除 README.md 和 .example 外皆已 gitignore。
|
||||
# ══════════════════════════════════════════════════════════════════
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
# ─── secret(本專案目前無 DB / ApiKey;未來需要時在此加 env var) ──
|
||||
# $env:SomeService__ApiKey = '__CHANGE_ME__'
|
||||
|
||||
# ══════════════════════════════════════════════════════════════════
|
||||
|
||||
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
$RepoRoot = Resolve-Path (Join-Path $ScriptDir '..')
|
||||
|
||||
Push-Location $RepoRoot
|
||||
try {
|
||||
dotnet run --project src/STPViewer
|
||||
}
|
||||
finally {
|
||||
Pop-Location
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
# ══════════════════════════════════════════════════════════════════
|
||||
# run-STPViewer.sh 範本(Git Bash on Windows)
|
||||
#
|
||||
# 第一次 clone 下來:
|
||||
# cd secret
|
||||
# cp run-STPViewer.sh.example run-STPViewer.sh
|
||||
# chmod +x run-STPViewer.sh
|
||||
# ./run-STPViewer.sh
|
||||
#
|
||||
# secret/ 下除 README.md 和 .example 外皆已 gitignore。
|
||||
# ══════════════════════════════════════════════════════════════════
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# ─── secret(本專案目前無 DB / ApiKey;未來需要時在此 export) ────
|
||||
# export SomeService__ApiKey="__CHANGE_ME__"
|
||||
|
||||
# ══════════════════════════════════════════════════════════════════
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
REPO_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
||||
|
||||
cd "${REPO_ROOT}"
|
||||
exec dotnet run --project src/STPViewer
|
||||
Reference in New Issue
Block a user