znlgis 博客

GIS开发与技术分享

第06章:Part 工作台与几何内核

1. Part 工作台定位

Part 工作台直接面向 OpenCASCADE 提供的边界表示几何能力。它不是基于 Body 的特征建模,而是创建和操作 Shape:盒、球、圆柱、圆锥、线、面、壳、实体、布尔结果等。

Part 工作台适合:

  • 快速创建基本体。
  • 布尔融合、切割、相交。
  • 修复和检查形状。
  • 从边、线框、面构造实体。
  • 处理导入的 STEP/IGES 几何。
  • 用 Python 直接生成几何。

2. B-Rep 基础

OpenCASCADE 使用边界表示:实体由壳组成,壳由面组成,面由线框围成,线框由边组成,边由顶点限定。理解拓扑层级有助于排查错误:

  • Vertex:点。
  • Edge:边,可是直线、圆弧、曲线。
  • Wire:有序边集合。
  • Face:由闭合 Wire 形成的面。
  • Shell:多个面形成的壳。
  • Solid:封闭壳形成的实体。
  • Compound:多个形状组合。

当布尔失败时,常见原因是面不封闭、边缝隙、非流形拓扑、自交或容差问题。

3. 基本体

Part 可创建盒、圆柱、球、圆锥、环面等。每个对象有尺寸、Placement 等属性。基本体常用于:

  • 作为布尔运算工具体。
  • 快速验证空间关系。
  • 脚本生成批量模型。
  • 与 PartDesign Body 组合使用。

如果目标是完整参数化零件,优先用 PartDesign;如果目标是几何运算或导入体处理,Part 更直接。

4. 布尔运算

布尔操作包括:

  • Fuse:融合。
  • Cut:切除。
  • Common:交集。
  • Section:截交曲线。
  • Slice:切片。
  • Fragments:分割并保留片段。

布尔稳定性建议:

  • 避免两个面完全共面但只部分重叠。
  • 避免工具体刚好与目标体相切。
  • 给切割体留出穿透余量。
  • 对导入模型先检查 Shape。
  • 布尔后必要时执行 refine 去除多余分割边,但要注意下游引用变化。

5. Shape 检查与修复

Part 工作台提供检查几何、缝合、创建实体、转换为实体等工具。导入 STEP 或 IGES 后,如果后续布尔失败,应先:

  1. 检查形状有效性。
  2. 查找开放边和非流形区域。
  3. 尝试缝合面。
  4. 将封闭 Shell 转换为 Solid。
  5. 降低下游特征对具体边编号的依赖。

6. Part 与 PartDesign 协作

两者可以协作,但要保持边界清晰:

  • PartDesign Body 的最终 Shape 可用于 Part 布尔。
  • Part 结果可作为 BaseFeature 引入 Body。
  • ShapeBinder/SubShapeBinder 可引用外部几何。
  • 不要在没有规划的情况下交叉引用太多对象。

当模型需要可编辑历史,优先 PartDesign;当模型来自外部或需要几何算法处理,优先 Part。

7. Python 中的 Part

Part 模块是脚本建模的重要入口。常见思路:

  • 创建几何:点、线、圆、边、线框、面。
  • 创建基本体:box、cylinder、sphere。
  • 执行布尔:fuse、cut、common。
  • 设置对象 Shape 并加入文档。
  • 重计算后导出。

脚本建模适合规则化模型,如参数化支架、阵列零件、管道、格栅、夹具和批量导出。