gp_Pnt类,三维描述一个点。 Geom_BezierCurve类,描述有理或非有理贝塞尔曲线。(不懂) gp_Circ类,描述三维的一个圆。 BRepOffsetAPI_MakePipe类,描述构建管道的函数。管道通过扫掠沿线(称为脊柱)构建基本形状(称为轮廓)。轮廓不得包含实体。 主要代码如下:...
TColgp_Array1OfPntNodes(1,6); Nodes.SetValue(1, gp_Pnt(0,0,0)); Nodes.SetValue(2, gp_Pnt(1,0,0)); Nodes.SetValue(3, gp_Pnt(1,1,0)); Nodes.SetValue(4, gp_Pnt(0,1,1)); Poly_Array1OfTriangleTriangles(1,2); Triangles.SetValue(1, Poly_Triangle(1,2,3)); Triangles....
接下来想要通过笔记的方式来记录、回顾OCC的知识点,温故知新,提供熟练度,了解原理。刚开始可能会比较零散,主要是平时会使用到的一些东西,希望积少成多,逐渐成体系。使用了以下一些内容: 基础数据结构: 拓扑:TopoDS_Shape(Vertex,Edge,Wire,Face,Shell,Solid,CompSolid,Compound) 几何:gp_Pnt目前使用和研究的较少。
角度的默认值为 2*PI,这意味着一个闭合的旋转。 BRepPrimAPI_MakeRevol构造器最后一个参数用来声明复制或共享原始形状。以下代码使用面、轴和角度创建完整和部分旋转扫掠体。 TopoDS_Face F = ...; // the profile gp_Ax1 axis(gp_Pnt(0,0,0),gp_Dir(0,0,1)); Standard_Real ang = PI/3; TopoDS_...
builder2.MakeBox(gp_Pnt(5,5,5),gp_Pnt(15,15,15),Standard_Real(1), &shape2); //进行布尔交集运算 BRepTools::PerformBooleanOperation(shape1, shape2, Standard_True, Standard_True,Standard_Real(0.001), &shape3); 在这个例子中,我们创建了两个盒子形状的BRep对象,然后使用BRepTools::PerformBoole...
几何:gp_Pnt目前使用和研究较少。参数表示:目前还没有研究过。基础数据结构设计值得研究。就使用而言,一般是对拓扑进行增删改查操作,因此先了解拓扑数据结构的定义、相互关系、构造、布尔运算、查询型体信息、删除型体等知识,了解如何使用。布尔运算:BRepAlgoAPI_Cut、BRepAlgoAPI_Common、BRepAlgoAPI_...
Opencascade(OCCT)部分算子总结1 AIS_ViewCube:OCCT提供了一个专门的3D小部件,用于显示、控制3D视图的显示,角度等。TColgp_ArrayOfPnt:用于管理gp_Pnt对象的数组。可以添加,删除和访问是数组中的点 // Define points. gp_Pnt aPnt1(0.0, 0.0, 0.0); gp_Pnt aPnt2(5.0, 5.0, 0.0); gp...
();6aTextAspect->SetTextZoomable (true);7aTextAspect->SetTextAngle (45.0);8aGroup->SetPrimitivesAspect (aTextAspect);910//add a text primitive to the structure11Handle(Graphic3d_Text) aText =newGraphic3d_Text (16.0f);12aText->SetText ("Text");13aText->SetPosition (gp_Pnt (1,1,1))...
gp_Pnt point;。 face.D0(u, v, point);。 ``` 步骤三:计算法线。 一旦我们有了指定点,就可以计算该点处的法线。OCCT提供了方便的函数来执行这个任务。 ```cpp //计算法线。 gp_Vec normal;。 BRepLProp_SLProps props(face, u, v, 1, Precision::Confusion());。 if (props.IsNormalDefined())...
vec4 thePnt; // input 3D point to transform //vec4 aPos = uProjMat * uModelMat * thePnt; // intended transformation //vec4 aPos = uProjMat * (uModelMat * thePnt); // same result //vec4 aPos = (uProjMat * uModelMat) * thePnt; // same result ...