主要改进: - 添加 Navisworks Progress API 支持到 ExtractTriangles 方法 - 实时显示片段处理进度(百分比) - 支持用户取消操作(IsCanceled 检查) - 移除批量日志输出,改用进度条展示 - 统一 ExtractTriangles 方法,移除单个项目的重复实现 - 在 finally 块中确保进度条正确关闭 文档更新: - 扩展 NavisworksAPI使用方法.md 中的进度条章节 - 添加详细的 Progress API 使用指南 - 包含实际应用案例、最佳实践和常见陷阱 - 提供完整的代码示例和性能优化建议 性能改进: - 每个片段更新一次进度(3516次调用,可接受) - 移除频繁的日志写入(每100个片段),减少 I/O 开销 - 保留关键日志(开始、结束、取消、错误) 用户体验提升: - 可视化进度反馈,避免假死感 - 支持随时取消长时间操作 - 优雅的错误处理和资源清理 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .kiro/specs | ||
| .serena | ||
| .vscode | ||
| doc | ||
| Properties | ||
| src | ||
| UnitTests | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| clean_database.bat | ||
| compile.bat | ||
| config.toml.example | ||
| deploy-plugin.bat | ||
| NavisworksTransport.sln | ||
| NavisworksTransport.UnitTests.csproj | ||
| NavisworksTransportPlugin.csproj | ||
| nuget.exe | ||
| packages.config | ||
| QWEN.md | ||
| README.md | ||
| run-unit-tests.bat | ||
| TestRunner.cs | ||
| VERSION.md | ||
| WARP.md | ||
NavisworksTransport
Navisworks 2017运输冲突检测插件,专用于物流路径规划。
功能特性
已实现功能(第一阶段)
- ✅ 类别属性分配:为模型项目添加物流类别属性(门、电梯、楼梯、通道、障碍物)
- ✅ 批量处理:支持同时为多个选中项目设置属性
- ✅ 用户友好界面:简洁的按钮式对话框
- ✅ COM API集成:使用Navisworks COM API确保属性正确添加
计划功能(后续阶段)
- 🔄 模型分层转换和可见性控制
- 🔄 导航地图构建
- 🔄 A*路径规划算法
- 🔄 动态碰撞检测
- 🔄 动画和时间线集成
- 🔄 DELMIA数据导出
系统要求
- Windows 7 或更高版本
- Navisworks Manage 2017
- .NET Framework 4.6.2
安装说明
- 编译项目生成NavisworksTransportPlugin.dll
- 插件会自动安装到Navisworks插件目录:
[Navisworks安装路径]\Plugins\NavisworksTransportPlugin\ - 重启Navisworks即可在"附加模块"选项卡中找到插件
使用方法
- 在Navisworks中选择要设置属性的模型项目
- 点击"附加模块"选项卡中的"Transport Plugin"
- 在弹出窗口中点击相应的类别按钮
- 在属性面板中查看添加的"物流分类"属性
详细使用说明请参阅:使用说明文档
开发文档
技术架构
NavisworksTransportPlugin/
├── MainPlugin.cs # 插件主类和用户界面
├── LogisticsCategories.cs # 物流类别定义
├── CategoryAttributeManager.cs # COM API封装和属性管理
└── Properties/
└── AssemblyInfo.cs # 程序集信息
版本历史
v1.0 (2025-01-11)
- 实现基础的类别属性分配功能
- 支持5种预定义物流类别
- 提供批量处理能力
- 完整的错误处理和用户反馈
原始需求概述
本插件旨在简化 Navisworks Manage 中移动模型沿确定路径进行物理碰撞或干涉检测的流程。通过自动化 Animator 动画创建、Clash Detective 碰撞测试配置与运行,并提供直观的图形化碰撞结果显示,本插件将大大提高工作效率,并为用户提供一个快速验证施工物流和设备移动可行性的工具。
完整的目标功能包括:
- 在 Navisworks Ribbon 界面添加自定义按钮
- 用户选择一个要移动的模型
- 用户通过选择一系列模型元素来定义非直线路径点
- 插件自动在 Animator 中创建基于这些路径点的对象动画
- 插件自动配置并运行一个链接到该动画的动态碰撞测试
- 当检测到碰撞时,插件将通过颜色覆盖直观地高亮显示碰撞的物体,并弹出明确的提示信息