topods专题

opencascade 判断两个TopoDS-Shape 是否相同

我们使用opencascade提取实体时,经常会出现实体重复,例如从正方体实体中提取Edge,我们会发现能提取出24个Edge,但正方体只有12条边,这是因为每条边有两个面,进行了重复提取。         如果我们想去掉重复的边,可以通过判断两条边是否相等实现(实际上不需要通过此方法),但是通过 == 运算符进行判断通常是无效的,即两条重合的边在运算符 == 下会被判定为否,那

OCC笔记:选择TopoDS_Shape顶点、边、面等等

1、通过AIS_InteractiveContext的函数访问当前选择的图形 hAISContext->InitSelected(); hAISContext->MoreSelected(); hAISContext->NextSelected(); hAISContext->SelectedShape(); 其中hAISContext->SelectedShape()通过StdSelect_

OCCT几何内核开发-TopoDS_Shape

如果要基于OCCT几何内核搞建模算法,特别是想开发自己的算法,需要深刻理解拓扑与几何的关系、相关的数据结构,TopoDS_Shape、TopoDS_TShape、BRep_TFace、Tolerances等。 一个简单Box的数据结构 两个面缝合(Sewing)后的运行结果: 最近做一些开发工作: 1、插件化开发平台整合。将几何内核算法研究平台与OpenCV算法平台整合

Open CASCADE学习|在给定的TopoDS_Shape中查找与特定顶点 V 对应的TopoDS_Edge编号

enum TopAbs_ShapeEnum{TopAbs_COMPOUND,TopAbs_COMPSOLID,TopAbs_SOLID,TopAbs_SHELL,TopAbs_FACE,TopAbs_WIRE,TopAbs_EDGE,TopAbs_VERTEX,TopAbs_SHAPE}; 这段代码定义了一个名为 TopAbs_ShapeEnum 的枚举类型,它包含了表示不同几何形状类型的常

Open CASCADE学习|刚体( TopoDS_Shape)按某种轨迹运动,停在指定位置上

今天实现如下功能:刚体做做螺旋运动,轨迹已知,求刚体在每个位置上的所占据的空间,就是把刚体从初始位置变换到该位置。 这里的刚体是一个砂轮截面,螺旋运动轨迹由B样条曲线拟合,通过Frenet标架确定运动轨迹上的局部坐标系,据此计算变换矩阵,将砂轮截面变换到指定位置。 目前可以实现平面刚体的运动,还无法实现三维刚体的运动。 1、起始位置空间的确定 #include <Geom_Cylindri

Open CASCADE学习|TopoDS_Vertex与gp_Pnt相互转化

目录 gp_Pnt TopoDS_Vertex 关系和转换 使用场景 在Open CASCADE Technology (OCCT)中,TopoDS_Vertex和gp_Pnt是两种不同的数据类型,用于表示三维空间中的点。它们有不同的用途和特性: gp_Pnt gp_Pnt是OCCT几何库(Geom)中的一个类,它代表一个三维空间中的精确点。这个类包含三个坐标值(X, Y,