腾讯家的AI软件有好几拨,之前一直用WorkBuddy,6月份的时候出了一个软件叫Marvis(马维斯)
每天有1千万Token免费使用。模型不能选,但大概率是Hy3
用它做了一个3D模型分割工具,全AI生成,我比较熟悉C#,所以让他生成的脚本是C#代码。
开源在这里【https://gitee.com/xa87/step-splitter】
有需要的可以下载
一个轻量、自包含的 Windows 桌面应用,用于可视化浏览、筛选并分割导出 STEP 3D 模型文件。
核心功能- 可视化 STEP 文件解析:加载标准 STEP/STP 文件,解析实体结构
- 双视图树形浏览:
- 产品结构视图(按装配层次)
- 实体类型视图(按几何/拓扑类型)
- 3D 线框实时预览:
- 纯 GDI+ 自绘 3D 线框渲染(无第三方 3D 引擎依赖)
- 支持旋转/平移/缩放交互
- 勾选过滤显示(勾几个显示几个)
- 智能实体筛选:勾选任意节点,自动包含其所有几何依赖
- 一键分割导出:导出勾选的实体及其完整依赖链为独立 STEP 文件
- 完全离线运行:无需网络,无需安装大型 CAD 软件
🚀 快速开始系统要求- Windows 10/11
- .NET 8.0 Desktop Runtime(如未安装会自动提示)
- 无需安装 CAD 软件
下载与运行自行下载编译 首次使用- 点击 浏览 按钮选择 STEP 文件(支持 .stp、.step 扩展名)
- 点击 加载 解析文件
- 在左侧树形结构中勾选要导出的实体
- 点击 预览导出 查看导出详情
- 确认无误后点击 导出选中的实体
🎮 操作指南主界面布局┌─────────────────────────────────────────────────────────────┐│ [文件路径输入框] [浏览] [加载] │├─────────────┬───────────────────────────────────────────────┤│ │ 3D 线框预览区 ││ │ ┌───────────────────────────────────────────┐ ││ 左侧树形 │ │ 旋转/平移/缩放 │ ││ 结构浏览器 │ │ [刷新] │ ││ │ └───────────────────────────────────────────┘ ││ │ ││ │ 实体详情/导出预览 │└─────────────┴───────────────────────────────────────────────┘
3D 预览操作操作说明
左键拖拽旋转视角(Yaw/Pitch)
右键拖拽绕视向轴旋转(Roll)
Shift + 左键拖拽平移视图
鼠标滚轮缩放视图
R 键重置视角到初始位置
刷新按钮应用当前勾选状态到预览(勾选时不实时刷新,避免卡顿)树形浏览器- 产品结构:按 STEP 文件中的装配层次显示(PRODUCT → PRODUCT_DEFINITION → ...)
- 按类型分组:按实体类型分组(EDGE_CURVE、CARTESIAN_POINT、LINE、CIRCLE 等)
- 勾选逻辑:
- 勾选父节点自动勾选所有子节点
- 部分勾选时父节点显示为「部分选中」状态
- 勾选后点击 刷新 按钮更新 3D 预览
导出流程- 勾选目标:在树形结构中勾选要导出的实体(可多选)
- 预览检查:点击 预览导出 查看:
- 用户勾选实体数量
- 含依赖的总实体数量
- 预估文件大小
- 按类型统计的实体分布
- 导出保存:点击 导出选中的实体,选择保存路径
🔧 技术特性轻量级架构- 纯 C# .NET 8 WinForms:无外部 C++ 运行时依赖(如 300MB+ 的 OCCT)
- 自研 3D 渲染:GDI+ 双缓冲线框绘制,性能优化
- 内存友好:流式解析,支持大型 STEP 文件
精确的几何提取- 完整线框提取:从 MANIFOLD_SOLID_BREP 到 EDGE_CURVE 的完整引用链解析
- 支持曲线类型:
- LINE(直线段):使用 VERTEX_POINT 精确端点
- CIRCLE(圆弧/整圆):支持弧段角度计算
- 几何诊断:内置详细解析统计,便于调试
智能依赖收集- 递归依赖分析:自动收集勾选实体的所有几何依赖(点、方向、向量、放置等)
- 避免数据丢失:确保导出的 STEP 文件可被其他 CAD 软件正确打开
- 引用完整性:保持实体间的 ID 引用关系不变
📁 项目结构StepSplitter/├── StepSplitter.csproj # 项目文件├── Program.cs # 应用入口├── Forms/│ └── MainForm.cs # 主界面(树形浏览+3D预览+导出)├── Services/│ ├── StepParser.cs # STEP 文件解析器│ ├── StepTreeBuilder.cs # 双视图树形构建器│ ├── StepWireframeExtractor.cs # 3D线框几何提取器│ ├── StepExportService.cs # 智能导出服务│ └── StepParameterParser.cs # 参数解析工具├── Models/│ └── StepEntity.cs # STEP 实体数据模型├── Controls/│ └── WireframeViewer.cs # 3D线框预览控件└── README.md # 本文档
🛠️ 开发者指南构建要求- Visual Studio 2022 或 .NET 8 SDK
- Windows 10/11 开发环境
编译命令# 克隆项目git clone https://gitee.com/xa87/step-splitter.gitcd StepSplitter# 还原依赖dotnet restore# 调试构建dotnet build -c Debug# 发布构建(自动输出到 publish/ 目录)dotnet publish -c Release -o publish
项目特点- 自动发布:每次修改源码后执行 dotnet publish 到 publish 目录
- 无第三方依赖:所有几何计算和渲染均为手写 C# 实现
- UTF-8 无 BOM:导出文件使用标准 UTF-8 编码,兼容性最佳
- 跨会话状态:支持拖放文件、窗口布局记忆
📊 支持的 STEP 实体类型类型说明数量示例
CARTESIAN_POINT三维坐标点3,357
DIRECTION方向向量3,270
VECTOR带模长的向量1,908
LINE无限直线定义1,908
CIRCLE圆/圆弧定义512
EDGE_CURVE边界曲线(引用 LINE/CIRCLE)812
VERTEX_POINT曲线端点引用1,624
ORIENTED_EDGE有向边1,624
EDGE_LOOP边环406
ADVANCED_FACE高级曲面203
CLOSED_SHELL封闭壳1
MANIFOLD_SOLID_BREP流形边界表示实体1❓ 常见问题Q: 导出的文件在其他 CAD 软件中打不开?A: 确保勾选了完整的几何结构。建议勾选顶层 PRODUCT 或 MANIFOLD_SOLID_BREP 节点,系统会自动包含所有依赖实体。 Q: 3D 预览中有些线段显示不正常?A: 点击状态栏查看诊断信息。常见原因: - 缺失 VERTEX_POINT 引用:使用 LINE 的 VECTOR 方向作为替代
- 圆弧显示为整圆:EDGE_CURVE 未提供起止点,按完整圆渲染
Q: 加载大型文件时卡顿?A: 应用采用流式解析,但 3D 预览需要提取所有几何数据。对于超大型文件(>50MB),建议先勾选部分实体再预览。 Q: 如何只导出模型的某个局部?A: 在「按类型分组」视图中找到对应的 EDGE_CURVE 实体,勾选后导出。系统会自动包含这些曲线所需的点、方向等依赖实体。 📄 许可证🤝 贡献指南欢迎提交 Issue 和 Pull Request! - Fork 本仓库
- 创建功能分支 (git checkout -b feature/amazing-feature)
- 提交更改 (git commit -m 'Add amazing feature')
- 推送到分支 (git push origin feature/amazing-feature)
- 开启 Pull Request
📮 联系与支持
|