三维建模拉伸
OCCT中拉伸的框架分析
如何创建二维图形,并通过拉伸二维图形生成三维物体。
首先得由它的坐标系创建特征点,这些点将支持几何轮廓的定义。除此之外,还要确定它的轮廓被定位在笛卡尔坐标系的原点。
用来描述 3D 坐标点:
(1) 初等几何 gp_Pnt 类
(2) 瞬时的 Geom_CartesianPoint 类,它由一个 handle 来进行操作
Handle 是智能指针的一种类型,提供自动化的记忆管理。
创建一个实体,首先需要一个指定的能实现 3D 几何对象的数据结构。GEOM 包只提供几何实体的数据结构,可以直接使用属于它的类来创建一个实例,但是如果要更容易的计算曲线和表面要素,最好使用 GC 包,建立轮廓的操作来说更为精确。
(1) GC_MakeSegment 类在 3D 空间里对一个线段执行构造运算。运算结果为Geom_TrimmedCurve 类型的曲线。
(2) GC_MakeArcOfCircle 类在 3D 空间里对一段弧执行构造运算。运算结果为Geom_TrimmedCurve 类型的曲线。
创建完轮廓的一部份几何结构,但此时这些曲线之间没有任何关联。可以把这些曲线当作几个单一的实体来处理。可以用 TOPODS 包里的拓扑数据结构,它的作用是定义能形成复杂外形的几何实
间的关系。
3D 几何转换特征是由 gp_Trsf 类定义的。用 gp::OX 可以得到 X 轴
当用 BRepBuilderAPI_Transform 类去进行转换时,应符合下面两个条件:
(1) 转换的外形必须是可实用的
(2) 必须是几何转换
BRepBuilderAPI_Transform 不会修改原始外形:反射线框的结果保持着线框的外形,当需要一个将反射结果转换为线框的方法时,TOPODS 的功能将提供这方面的服务,计算转换的线框应该用 TopoDS::Wire。
轮廓基本完成后,这时已经创建了两个线框:一个线框和一个镜像的线框。需要把它们连接起来用以计算一个单独的外形。选择使用BRepBuilderAPI_MakeWire。
BRepPrimAPI 包提供所有的类来创建拓扑初等结构,立方体,圆锥体,圆柱体,球体等。它们是用类 BRepPrimAPI_MakePrism 创建的。
1.通过 gp_Pnt 确定特征点由点
2.确定线段或圆弧(GC_MakeSegmet 或GC_MakeArcOfCircle)
3.将线段或圆弧作为 BRepBuilderAPI_MakeEdge的变量,生成拓扑型边
4.由 拓 扑 型 边 生 成 拓 扑 型 线 框(BRepBuilderAPI_MakeWire)
5.由 拓 扑 型 线 框 生 成 拓 扑 型 面(BRepBuilderAPI_MakeFace)
6.定义一个顶点,它的 Z 轴坐标为拉伸后的高度(gp_Vec)
7.得 到 拉 伸 后 的 图 形 ( TopoDS_ShapemyBody=BRepPrimAPI_MakePrism)
布尔运算
BRepAlgoAPI 包含各种布尔操作的功能。这个类库应用交、差、并、补计算来演示布尔操作
创建新的实体。