|
|
c2f0bfbece
|
fix: 自由路径上下偏移在位置解析统一应用
重构后真实物体走增量链、虚拟物体走平面链,都未应用 lift(仅兜底分支应用)。
改为在 Free 位置解析分支统一应用 ApplyGroundPathObjectLiftOffset,
各旋转/平移路径都使用带 lift 的起点位置。移除兜底分支重复应用。
257 单测全过
|
2026-08-01 12:35:48 +08:00 |
|
|
|
8ae28463b7
|
refactor: 分离虚拟物体平面姿态的路径对齐与角度修正
将两件事分开,修正始终生效、与路径几何无关:
- 新增 TryResolvePlanarVirtualObjectRotation:先尝试路径对齐+修正,
纯垂直路径(无水平方向)时无法对齐则仅把角度修正叠加到当前姿态
- 起点和帧两处虚拟物体平面姿态都改用它
- 修复:虚拟物体在纯垂直路径上角度修正被丢弃的问题
257 单测全过
|
2026-08-01 12:31:53 +08:00 |
|
|
|
2cce2f77c5
|
fix: 自由路径XYZ角度调整复用现成平面增量旋转链
此前自定义 Free 分支用 ApplyRotationCorrectionInPlace 应用角度修正,
旋转轴错误。改为复用现成方法:
- shouldUsePlanarPureIncrementStart 加入 Free → 真实物体走
TryApplyPlanarRealObjectStartIncrementalTransform(MoveItemCombinedAxisRotationAndTranslation)
- TryApplyPlanarRealObjectStartIncrementalTransform guard 接受 Free
- 平面姿态分支移除 Free 排除 → 虚拟物体走 TryCreatePlanarPathRotationAtStart
- 自定义 Free 分支降为兜底(仅纯垂直等失败场景保持姿态纯平移)
257 单测全过
|
2026-08-01 12:23:03 +08:00 |
|
|
|
0fa9562f4b
|
fix: 自由路径'调整物体'支持角度修正和上下偏移
- MoveObjectToPathStart Free 分支:应用 _objectRotationCorrection
(围绕物体中心旋转)后平移到起点;skipCadRestore 时修正已由调用方施加,仅平移
- 泛化 ApplyGroundPathObjectLiftOffset 支持 Free(原本仅 Ground)
- '调整物体'窗口对 Free 启用上下偏移输入
- 动画帧循环 Free 分支应用上下偏移
257 单测全过
|
2026-08-01 12:15:57 +08:00 |
|
|
|
0390c60c36
|
docs: 记录'调整物体'窗口姿态调整问题待办(明日处理)
起点姿态、动画已正确。记录调整物体窗口的角度/姿态调整功能
存在的问题作为明日待办,含排查方向。
|
2026-07-31 17:10:29 +08:00 |
|
|
|
bd7deea0e5
|
fix: 自由路径移动到起点时排除平面旋转分支,保持原始姿态
根因:MoveObjectToPathStart 中 'PathType != Rail && TryCreatePlanarPathRotationAtStart'
分支会捕获 Free(Free != Rail),应用基于路径方向(含与地面的夹角)的
平面旋转,导致物体姿态被修改。已将 Free 从该分支排除,使 Free 走
纯平移分支(ApplyTrackedTranslationOnly),保持物体原始姿态。
257 单测全过。
|
2026-07-31 17:05:08 +08:00 |
|
|
|
d3535fc5a0
|
fix: 自由路径保持物体原始姿态,起点不做自动旋转调整
真实物体(YUp)的自由路径自动对齐路径方向的旋转在宿主/几何姿态
解析上容易出错(对齐了错误前向、侧滚90°)。按用户要求,自由路径
改为保持物体原始姿态:
- MoveObjectToPathStart:自由路径纯平移(ApplyTrackedTranslationOnly),
不应用任何自动旋转
- ShouldPreservePathRotationForFrames:对 Free 始终返回 true,帧锁定
起点姿态,物体沿路径平移而保持朝向
- 移除废弃的 TryCreateFreePathRotationForFrame/AtStart(平面自动旋转)
257 单测全过。
|
2026-07-31 17:01:03 +08:00 |
|
|
|
ead8a35372
|
refactor: 部署脚本先普通权限部署,失败才提权,避免无谓UAC
deploy-plugin.bat 原为:非管理员直接 Start-Process RunAs 提权弹UAC。
但文件可写且 Roamer 可被当前用户关闭时根本不需要管理员。
重构:抽取部署主体到 deploy-body.ps1(关Roamer+等解锁+复制+校验+设写权限)。
deploy-plugin.bat 先以当前用户运行 deploy-body.ps1,成功则免UAC;
失败(如文件被管理员所有)才提权重试。
bat 用纯ASCII注释避免中文编码乱码问题。
|
2026-07-31 16:52:48 +08:00 |
|
|
|
84f67dbd79
|
fix: 自由路径姿态改为平面旋转(只绕垂直轴yaw,不绕前进轴滚动)
用户反馈:自由路径动画起点物体沿前进轴旋转90°(侧滚),
期望像地面路径一样只转向前进方向、仅绕垂直轴旋转。
根因:TryCreateFreePathRotationForFrame/AtStart 用了
CanonicalRailPoseBuilder(完整三维姿态,forward=3D切线),
会绕前进轴滚动。改为 CanonicalPlanarPoseBuilder
(forward=切线水平投影,up=世界up,只转yaw)。
撤销此前 ShouldPreservePathRotationForFrames 让 Free 保留姿态的改动。
同步更新 FreePathTests 断言(斜路径投影水平、纯垂直无水平方向返回false)。
257 单测全过。
|
2026-07-31 16:50:35 +08:00 |
|
|
|
4b6c3852cc
|
docs: MSI安装后deploy-plugin.bat权限冲突解决方案(Q7)
记录 MSI 安装的管理员文件阻塞 dev 部署、需提权 UAC 的问题。
根因:MSI 创建的文件对 BUILTIN\Users 只读,卸载不彻底会残留共享 DLL。
解决:一次性管理员授予目标目录及文件 Users FullControl 并解除继承保护。
同时 deploy-plugin.bat 部署成功后设置 Users 写权限,后续免 UAC。
|
2026-07-31 16:34:52 +08:00 |
|
|
|
20d66e9988
|
fix: 自由路径取点改用 ForceReinitializeToolPlugin 而非 StartClickTool
StartClickTool 会把 PathEditState 设为 AddingPoints,导致点击走 SetPreviewPoint
分支(白色半透明临时预览点,不保存)。改为与地面路径一致:用
ForceReinitializeToolPlugin 保持 Creating 状态,点击走 AddPathPointIn3D
正常保存路径点并渲染连线。
|
2026-07-31 16:27:15 +08:00 |
|
|
|
4f0723f56f
|
fix: 修正过弯检测测试期望值 + FreePathTests 加入csproj
过弯检测 CornerTurnCheckHelper 代码正确(maxLength 均为正),
但 6 个测试期望值与公式不符(7e71387 改算法时测试未同步)。
已按公式修正测试:补充 maxLength 断言,调整长度阈值。
另修复 FreePathTests 一处断言(斜路径 forward/up 分量)。
并将 FreePathTests.cs 显式加入 UnitTests.csproj(此前未编译运行)
|
2026-07-31 16:10:32 +08:00 |
|
|
|
002618f371
|
feat: 自由路径(Free Path)一级路径类型
- PathType 新增 Free=3,显示'自由'
- 动画:统一包围盒中心对齐,方案1姿态(forward=切线,up=世界up正交化)
复用 CanonicalRailPoseBuilder,新增 TryCreateFreePathRotationForFrame/AtStart
- 渲染:通行空间垂直偏移0(路径点即物体中心)
- 路径管理器:StartCreatingNewRoute/FinishEditing 支持 Free
- UI:PathEditingView 新增'自由'按钮 + NewFreePathCommand
- 数据库:枚举存 int 无需 schema 变更
- 迁移:加载时 IsTwoPointVertical 吊装路径 → Free
- 单测:新增 FreePathTests(6个全通过)
注:CornerTurnCheckHelperTests 6个失败为分支起点已存在的 pre-existing 问题,与本次无关
|
2026-07-31 16:02:25 +08:00 |
|
|
|
469f7efe2f
|
docs: 自由路径 - 确认决策点并标记步骤1实施中
|
2026-07-31 15:52:35 +08:00 |
|
|
|
8d7c2eacec
|
docs: 自由路径设计方案(含实施进度跟踪)
|
2026-07-31 15:52:27 +08:00 |
|
|
|
3aec23139f
|
docs: 过弯检测精度说明 - 工程对比数据修正为1-50mm/9个数量级
|
2026-07-31 15:52:25 +08:00 |
|
|
|
745f4c50e9
|
docs: 过弯检测精度说明 - 补充转角示意图和PDF版本
|
2026-07-27 23:09:13 +08:00 |
|
|
|
423360037f
|
docs: 过弯检测算法精度说明文档(含算法原理、精度分析、验证方法)
|
2026-07-27 23:08:08 +08:00 |
|
|
|
c3731316d4
|
fix: 恢复状态栏对齐,仅缩减帮助按钮右侧空间
|
2026-07-16 11:16:36 +08:00 |
|
|
|
a1bc23d1dc
|
chore: 状态栏右侧边距和padding继续缩减
|
2026-07-16 11:12:18 +08:00 |
|
|
|
a782e29dea
|
chore: 状态栏右侧边距减半
|
2026-07-16 11:11:24 +08:00 |
|
|
|
2fe3b495e7
|
fix: 帮助按钮前竖线改为 TextBlock | 风格,去掉中间列右边距
|
2026-07-16 11:09:56 +08:00 |
|
|
|
6d2778047c
|
fix: 竖线分隔改用 Rectangle 替代 Separator
|
2026-07-16 11:07:10 +08:00 |
|
|
|
b2481ffa5b
|
chore: 状态栏帮助按钮前加竖线分隔
|
2026-07-16 11:05:27 +08:00 |
|
|
|
cd615badb9
|
docs: 帮助窗口补充批处理任务页签说明
|
2026-07-16 11:00:24 +08:00 |
|
|
|
d7b5cf38f1
|
fix: 系统管理的实验特性区保持原名,不改高级
|
2026-07-16 10:56:35 +08:00 |
|
|
|
bbd58cdff0
|
chore: 关于按钮移至帮助窗口内,关闭按钮左侧
|
2026-07-16 10:43:16 +08:00 |
|
|
|
ce4b2a0c06
|
chore: 状态栏左侧空白缩小,显示更多信息
|
2026-07-16 10:38:09 +08:00 |
|
|
|
b179adb2a0
|
chore: 实验特性区改名为高级,移除emoji前缀
|
2026-07-16 10:34:11 +08:00 |
|
|
|
80bd7b7c65
|
chore: 预计算高亮按钮移至折叠的实验特性区
|
2026-07-16 10:30:29 +08:00 |
|
|
|
b00f0093ab
|
fix: 坐标系检测按钮移至快速取面的空位
|
2026-07-16 10:25:41 +08:00 |
|
|
|
5e0af1def7
|
chore: 功能测试区更名为实验特性,移除快速取面按钮
|
2026-07-16 10:22:30 +08:00 |
|
|
|
c35138ef25
|
feat: 坐标系检测按钮加入 Fragment 矩阵分析法(选一个水平物体后可用)
|
2026-07-16 10:14:07 +08:00 |
|
|
|
00afbeec73
|
chore: 坐标系检测按钮移至功能测试区
|
2026-07-16 10:06:44 +08:00 |
|
|
|
823c2de74d
|
refactor: 合并坐标系设置——FragmentUp 自动从 CoordinateSystemManager 派生,删除独立的 FragmentUp 控件和检测按钮
|
2026-07-16 10:03:03 +08:00 |
|
|
|
0629384639
|
feat: 包围盒按钮图标替换为线框立方体;过弯检测按钮图标增强为L形通道+方块
|
2026-07-16 09:41:47 +08:00 |
|
|
|
a0a0687bde
|
feat: 包围盒图标改为双立方体线框样式,与剖面盒图标风格统一
|
2026-07-16 09:09:38 +08:00 |
|
|
|
c379eb1bed
|
feat: 替换包围盒信息和过弯检测按钮图标为更合适的几何图形
|
2026-07-16 08:52:08 +08:00 |
|
|
|
86abf2bf8d
|
fix: 别名树重启后显示错误 — EnsurePathLoaded 硬编码 siblingIndex=0 导致同名兄弟节点映射到同一 key;SetDataStore 补刷别名;别名明细日志改为 DEBUG
|
2026-07-14 10:28:22 +08:00 |
|
|
|
69bf5d6e39
|
fix: 剖面盒聚焦按钮在无选中/无路径时不应清除或操作剖面盒,部署脚本加入管理员提权
|
2026-07-14 09:56:52 +08:00 |
|
|
|
9012461d59
|
feat: Ribbon 多语言支持,新增 en-US/zh-CN 本地化 XAML
|
2026-07-12 13:05:39 +08:00 |
|
|
|
6666d30413
|
fix: 别名树右键菜单移除冗余的「在视图中聚焦」,统一术语为「子树别名」
|
2026-07-12 11:34:23 +08:00 |
|
|
|
5341fa145d
|
fix: 别名树 _nodeMap key 格式不统一导致导入/粘贴后显示错误
|
2026-07-12 11:19:48 +08:00 |
|
|
|
ad4067cf1c
|
fix: 过弯检测公式判断方向、对话框文案、三分搜索方向
|
2026-07-08 13:18:32 +08:00 |
|
|
|
7e71387fce
|
fix: 过弯检测三分搜索方向错误, 文章公式 L(θ) = (C₁-W·cosθ)/sinθ + (C₂-W·sinθ)/cosθ
|
2026-07-08 13:06:17 +08:00 |
|
|
|
4f9206da2a
|
feat: 过弯检测工具(纯解析几何公式)
|
2026-07-08 12:55:47 +08:00 |
|
|
|
70fee3cf3a
|
fix: 碰撞报告容差单位错误 & 导入路径增量刷新; docs: AGENTS.md 构建脚本
|
2026-07-07 20:38:59 +08:00 |
|
|
|
ef22e49491
|
feat: 别名树子树别名导出/导入/复制/粘贴功能
|
2026-07-07 20:00:08 +08:00 |
|
|
|
b53471c022
|
chore: 移除状态栏临时性" 恢复剖面\按钮
|
2026-07-07 07:36:32 +08:00 |
|
|
|
809df425ee
|
fix: 剖面盒关闭时恢复 Planes 剖面不切换模式,修复 UI 指示器不显示
根因:ClearClipBox() 发送的是 Box 模式 JSON + Enabled:false,
将 ClipPlaneSet 模式从 Planes 切到 Box。后续再应用 Planes JSON
时模式又切回来,Navisworks 在该切换过程中未刷新 Planes 指示器。
修复:清除时不调用 ClearClipBox()(Box JSON),改为:
1. 发 Planes 模式 + Enabled:false(保持模式,仅禁用)
2. 发 Planes 模式 + Enabled:true(保持模式,仅切换启用)
全程模式不变,指示器正常显示。
移除已不需要的注释和调试日志。
|
2026-06-30 20:49:48 +08:00 |
|