Open CASCADE学习|创建拓朴

目录

1、创建点gp_Pnt

2、创建向量gp_Vec

3、创建边TopoDS_Edge

4、线网络TopoDS_Wire

5、面TopoDS_Face

6、体TopoDS_Shape


OpenCascade中的拓朴实体如下图所示,其中Compound可以包含很多Solid;Solid由Shell包围而成;Shell由相连的Face组成;Wire由相连的Edge组成;Edge对应一条曲线,且曲线的端点处由Vertex组成;Vertex对应空间中一个点。

shape为基类;

Vertex顶点: 一种0维形状对应于几何中的点;

edge边: 一种形状对应一条曲线,并在每个末端通过一个顶点来约束;

wire线框:一个通过顶点互连的边的序列;

face面:部分(二维)平面或者(三维)表面,被一个闭合线框约束;

shell壳(qiao):线框边界线的边连接的面的集合;

solid实体:与一个壳绑定的三维空间的一部分;

Compound solid复合实体:实体的集合;

 

1、创建点gp_Pnt

gp_Pnt(0., 0., 0.) ; 

三维坐标构建一个点

gp_Pnt::X(); 

gp_Pnt::Y(); 

gp_Pnt::Z(); 

可以取得已知点的X、Y、Z坐标

gp_Pnt::SetX(); 

gp_Pnt::SetY(); 

gp_Pnt::SetZ(); 

gp_Pnt::SetCoord(); 

可以设置三维点的坐标

2、创建向量gp_Vec

可以用两个顶点来生成一个向量。

比如:

gp_Pnt P1(0,0,0);

gp_Pnt P2(5,0,0);

gp_Vec V1 (P1,P2);

3、创建边TopoDS_Edge

BRepBuilderAPI_MakeEdge(const gp_Pnt& P1, const gp_Pnt& P2); 

通过两个点构造边

BRepBuilderAPI_MakeEdge(const gp_Lin& L); 

通过射线构造边

gp_Circ::gp_Circ(const gp_Ax2& A2, const Standard_Real Radius);

中心轴和半径构建一个圆。

此外gp_Elips(椭圆)、gp_Hypr(双曲线一支)、gp_Parab(抛物线)、Geom_Curve(弧线)、Geom2d_Curve(二维弧线)等亦可构建边

4、线网络TopoDS_Wire

BRepBuilderAPI_MakeWire创建线

BRepBuilderAPI_MakeWire::Add 添加线

BRepBuilderAPI_MakeWire::IsDone 判断添加边是否有效

BRepBuilderAPI_MakeWire::Error 返还构建结果状态

BRepBuilderAPI_MakeWire::Wire 返还构建的网格

BRepBuilderAPI_MakeWire::Edge 返还构建网格的最后一边(与原始边可能不同)

BRepBuilderAPI_MakeWire::Vertex 返还构建网格的最后一边的顶点?

目前已知,添加多条边时,若边之间不相交,会出现不可预知的错误。

5、面TopoDS_Face

BRepBuilderAPI_MakeFace创建面

可通过gp_Pln、gp_Cylinder、gp_Cone、gp_Sphere、gp_Torus等构造面

BRepBuilderAPI_MakeFace::Add 添加线

BRepBuilderAPI_MakeFace::IsDone 构成一个有效面则返还true

BRepBuilderAPI_MakeFace::Error 返还构建结果状态

BRepBuilderAPI_MakeFace::Face返回构建的面

6、体TopoDS_Shape

BRepPrimAPI_MakeBox

可创建矩形体

BRepPrimAPI_MakeWedge

创建楔形体(楔形体就是带斜面的长方体,即带角度的长方体。)

BRepPrimAPI_MakeOneAxis

创建旋转体(基类)

BRepPrimAPI_MakeCylinder

创建圆柱体

BRepPrimAPI_MakeCone

创建圆锥体

BRepPrimAPI_MakeSphere

创建球体

BRepPrimAPI_MakeTorus

创建圆环体

BRepPrimAPI_MakeRevolution

创建旋转体

BRepPrimAPI_MakeSweep

创建扫掠体(基类)

BRepOffsetAPI_MakePipe 

创建管道

BRepOffsetAPI_MakePipeShell

BRepPrimAPI_MakePrism

创建拉伸体

BRepPrimAPI_MakeRevol

创建旋转体

TopoDS_Compound

复合体

BRep_Builder builder;

TopoDS_Compound Comp;

TopoDS_Shape S1, S2;

builder.Add(Comp, S1);

builder.Add(Comp, S2);

参考文献

1、Open CASCADE Technology - Open CASCADE Technology Documentation

 2、Quaoar / lessons · GitLab

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值