B-rep 是什么?
B-rep(Boundary Representation,边界表示法) 是一种三维几何模型的表示方法,它通过描述物体的边界(如面、边、顶点)来定义其形状。核心思想:一个实体(Solid)由其表面(Faces)、边(Edges)和顶点(Vertices)的拓扑关系及几何信息完全定义。
B-rep是“用边界定义实体”的数学方法,不是文件格式。
B-rep 的数据结构
B-rep 模型通常包含以下两类信息:
(1) 拓扑信息(Topology)
定义几何元素之间的连接关系,类似“骨架”:
- 顶点(Vertex):空间中的一个点(如立方体的角点)。
- 边(Edge):连接两个顶点的曲线(如直线、圆弧)。
- 环(Loop):一组首尾相连的边,构成一个面的闭合边界。
- 面(Face):由环界定的曲面(如平面、圆柱面)。
- 壳(Shell):一组相连的面,构成一个封闭的“皮”(如立方体的6个面)。
- 体(Body):一个或多个壳组成的完整实体。
(2) 几何信息(Geometry)
定义几何元素的具体形状:
- 顶点坐标(如 (x, y, z))。
- 边的几何类型(如直线、B样条曲线)。
- 面的几何类型(如平面、NURBS曲面)。
B-rep 的常见文件格式
B-rep 是一种模型表示方法,不是文件格式,但许多3D文件格式支持B-rep存储:
格式 | 是否支持B-rep | 特点 |
---|---|---|
.STEP/.STP | ✅ 是 | 国际标准(ISO 10303),通用性强,B-rep是其主要表示方式之一。 |
.IGES | ✅ 是 | 较老的格式,支持B-rep,但拓扑信息可能不完整。 |
.BREP | ✅ 是 | OpenCASCADE等CAD内核的专用B-rep格式。 |
.SAT | ✅ 是 | ACIS内核的B-rep格式。 |
.STL | ❌ 否 | 仅存储三角网格,无拓扑关系,非B-rep。 |
.OBJ | ❌ 否 | 多边形网格,无严格拓扑,非B-rep。 |
需要注意的是:.STP(STEP)不一定是B-rep。
STEP文件可以包含多种表示方式:
- B-rep(最常见):存储边界信息。
- CSG(构造实体几何):通过布尔运算组合基本几何体。
- 混合表示:部分B-rep + 部分CSG。