6ef866d1dc
fix: 路径切换保留 lift 避免物体浮空,物体参数同步优先读 AABB 缓存
...
路径切换问题:
- 切换路径时 lift 被重置为 0,GetAnimatedObjectGroundContactHeight
用 correction 投影算出错误高度(~4.27m),物体浮空
- 改为保留 lift(离地高度不变),路径切换后物体保持正确位置
可视化宽度问题:
- 路径切换后物体参数同步(SyncAnimationViewObjectParameters)
调用 TryGetCurrentRouteRealObjectPlanarProjectedExtents,
用 correction 投影算失真尺寸覆盖正确值
- 改为优先读 AnimationControlViewModel 的 _autoAabbSx 缓存
(由 MeasureXAlignedAabbAndSetCache 实测得到)
- 新增 TryGetCachedAabbSizes 公开缓存给外部
2026-06-28 12:50:28 +08:00
ea0ea1c3ca
refactor: remove old 2-click installation point code
...
- Remove ExecuteSelectAssemblyInstallationPointAsync
- Remove OnAssemblyInstallationMouseClicked
- Remove BeginAssemblyInstallationSelection
- Remove BuildAndRenderAssemblyInstallationReference
- Single-click '选安装面' is now the only way
2026-06-09 02:57:45 +08:00
d3b2906169
feat: add FailureReason to FaceInferResult for specific error messages
...
- FaceInferToolPlugin now returns specific reasons: '未命中模型' or '表面过窄'
- ViewModel handlers show FailureReason instead of generic '未命中有效表面'
- Catch exceptions still pass through BuildFromFaceNormal error messages
2026-06-09 02:53:41 +08:00
cd05553dd9
fix: remove all generic/instructional text from error dialogs
...
- Keep only the actual error reason, no '请先...' guidance
- Each condition shows its specific cause, exceptions pass through raw
2026-06-09 02:48:33 +08:00
5be6dfdaf3
fix: split ambiguous failure message in OnInstallationFaceInferred
...
- Separate 'no terminal object' from 'invalid pick' case
- Remove misleading '请先取端面' from surface pick failure
2026-06-09 02:42:51 +08:00
6a1318602e
fix: pass through exception message directly instead of generic wrapper
...
- BuildFromFaceNormal already provides specific error like '面法向与光轴平行'
- Catch now shows raw ex.Message instead of prefixing with generic text
2026-06-09 02:40:35 +08:00
9e1056b92c
feat: add DialogHelper.ShowStatusAndDialog for unified status+dialog feedback
...
- Replaces scattered UpdateMainStatus + ShowAutoClosingMessageBox calls
- Accepts Action<string> callback for ViewModel status bar update
- Applied to all end face and installation face failure handlers
2026-06-09 02:36:21 +08:00
6b78b851db
refactor: rename to remove 'Quick' prefix after old method removal
...
- QuickAnalyzeAssemblyEndFaceCommand → AnalyzeAssemblyEndFaceCommand
- CanQuickAnalyzeAssemblyEndFace → CanAnalyzeAssemblyEndFace
- BeginAssemblyEndFaceQuickPick → BeginAssemblyEndFacePick
- OnQuickEndFaceInferred → OnEndFaceInferred
2026-06-09 02:06:44 +08:00
0fe7179494
refactor: replace 3-click end face detection with single-click FaceInferTool
...
- Remove '找端面' button and all 3-click logic
- Keep single-click '取端面' button only
- Remove: AnalyzeCurrentAssemblyEndFace, BeginAssemblyEndFaceSelection,
OnAssemblyEndFaceMouseClicked, ExecuteAnalyzeAssemblyTerminalFaceAsync
- Retain CleanupAssemblyEndFaceSelection (shared with quick pick)
2026-06-09 02:04:54 +08:00
01195434b7
fix: use ancestor chain check for pick item matching terminal object
...
- PickItemFromPoint returns leaf geometry, not the parent container
- Check if pickItem is terminalObject or its descendant via AncestorsAndSelf
2026-06-09 01:58:09 +08:00
16bf5cc10e
feat: integrate FaceInferToolPlugin with Rail assembly end face detection
...
- Add '快速取端面' button in Rail assembly workflow
- Single click → FaceInferToolPlugin → AssemblyEndFaceAnalyzer.Analyze(hitPoint, normal)
- Replaces 3-click manual seed point workflow
2026-06-09 01:53:36 +08:00
6b8bae2afc
fix: clear all IsSelected flags after export to prevent stale selections
...
- Added finally block to reset IsSelected on all PathRoutes
- Prevents multi-select state from leaking into subsequent single exports
2026-06-04 21:36:52 +08:00
897280bb3f
fix: show concatenated path names as dialog filename for multi-select export
...
- Single: path name as default filename (unchanged)
- Multi: semicolon-separated names as hint, each file still saved individually
2026-06-03 21:16:52 +08:00
1beaa7b24d
Revert "fix: use folder dialog for multi-select export, file dialog for single"
...
This reverts commit 6d14d1d26f .
2026-06-03 21:16:28 +08:00
6d14d1d26f
fix: use folder dialog for multi-select export, file dialog for single
...
- Single selection: SaveFileDialog with path name as default filename
- Multi selection: FolderBrowserDialog to pick output directory
- Export format: XML for multi (simpler UX), selectable for single
2026-06-03 21:11:41 +08:00
ac2de23e32
feat: support multi-select and batch export in path list
...
- DataGrid: SelectionMode Extended with RowStyle IsSelected binding
- PathRouteViewModel: add IsSelected property
- Export: iterates selected paths, saves each to separate file
- Ctrl/Shift+click to multi-select, then Export button batches them
2026-06-03 21:06:32 +08:00
0967f7a9bc
feat: show renamed count in import result dialog
...
- Add RenamedCount to ImportPathResult
- Track per-file and aggregate across multi-file imports
- Dialog now shows '重名自动重命名: N 个路径' when applicable
2026-06-03 20:29:28 +08:00
27ab485558
fix: use DialogHelper.ShowAutoClosingMessageBox for import result dialog
...
- 5s auto-close, test automation mode skips dialog
- Consistent with existing project patterns
2026-06-03 20:25:15 +08:00
ab0b5760d8
feat: show import result dialog after multi-file import
2026-06-03 20:22:58 +08:00
5692fde956
feat: rename export button, support multi-file import
...
- Rename '导出选中路径' to '导出', move before '导出全部'
- Import dialog: enable MultiSelect, loop through all selected files
- Aggregate import results across files
2026-06-03 20:17:19 +08:00
56a1ef55f4
0.15.3: misc fixes - rail helper cleanup, screenshot + button, database version
2026-05-30 19:15:34 +08:00
454f1e6584
Fix auto path grid restore and validation
2026-04-26 19:11:03 +08:00
e21e934705
Add rail preferred normal repair script
2026-04-04 10:58:29 +08:00
7058e5fd23
Add hoisting layer height editing
2026-04-02 22:37:16 +08:00
4ec4cf77ee
Refine path viewpoint behavior and config editing
2026-04-02 22:14:26 +08:00
e71ea81cdf
Fix rail assembly normals and tighten rail camera
2026-04-01 20:12:57 +08:00
2e0b26e032
Refine rail assembly workflow and viewpoint strategies
2026-04-01 10:47:34 +08:00
c3b103c159
Add explicit exit for rail assembly workflow
2026-03-31 23:38:47 +08:00
c9744699b1
Separate rail creation and edit assembly flows
2026-03-31 13:41:15 +08:00
1d71d36e5f
修复rail路径的编辑状态问题
2026-03-30 22:13:16 +08:00
115d70db66
Add rail start point repositioning
2026-03-28 14:45:24 +08:00
e4788c17a3
Improve rail path installation point editing
2026-03-28 13:54:48 +08:00
95500c9717
修改部分日志级别为Debug
2026-03-28 12:42:54 +08:00
7db5a7a201
Add path duplication workflow
2026-03-28 12:36:24 +08:00
a5d1db6416
Refine collision analysis dialog and rail assembly markers
2026-03-26 22:49:45 +08:00
2b6f54898a
Fix rail assembly anchor alignment
2026-03-26 13:37:33 +08:00
3a5693a453
Add rail mount placement controls and persistence
2026-03-26 01:01:01 +08:00
921dc07856
Fix ground real-object forward axis and compensation
2026-03-25 17:19:21 +08:00
1cf4fe5967
Align terminal rail normals and object space rendering
2026-03-23 12:25:00 +08:00
93ad55c725
Refine assembly installation workflow UI
2026-03-22 23:58:11 +08:00
70aaff10bf
Add assembly end-face guided optical axis
2026-03-22 19:45:09 +08:00
5e7f9bdf51
Finish assembly route generation cleanup
2026-03-22 13:06:08 +08:00
8f55b5e9a1
Fix YUp hoisting path rendering and finish sync
2026-03-22 12:21:25 +08:00
c53db7a6fd
Finalize canonical rail coordinate integration
2026-03-21 19:19:13 +08:00
3fd184934b
Establish canonical coordinate framework with tests
2026-03-21 06:10:34 +08:00
c9a926356c
修改终端安装仿真UI,升级数据库版本号
2026-03-20 15:22:58 +08:00
5847ba9ab3
Fix rail assembly pose and animation flow
2026-03-20 11:13:43 +08:00
9adf9b5baf
Fix assembly reference rod and start-point path creation
2026-03-19 23:12:49 +08:00
a55ef42f71
Add linear assembly reference path and rod alignment
2026-03-19 22:00:04 +08:00
0c83c73917
feat: add linear assembly rail path workflow
2026-03-19 00:18:24 +08:00