
OCCT
文章平均质量分 93
安意诚Matrix
软件工程师出身,专注三维几何造型、三维建筑设计软件、AI技术。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OCCT基础类库介绍:Modeling Algorithm - Features
This library contained in BRepFeat package is necessary for creation and manipulation of form and mechanical features that go beyond the classical boundary representation of shapes. In that sense, BRepFeat is an extension of BRepBuilderAPI package.包含在 BRe原创 2025-06-22 00:00:00 · 790 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Algorithm - Sewing
缝合可从一组独立的拓扑元素(面和边)创建连通的拓扑结构(壳和线框)。例如,缝合可用于从独立面的组合中创建壳。具有部分共享边的形状区分缝合与其他修改几何形状的过程(如填充孔洞或间隙、粘合、弯曲曲线和曲面等)非常重要。缝合不会改变形状的几何表示。缝合适用于未连通但因几何重合而可以连通的拓扑元素(面、边):它添加拓扑连通性信息。在流形缝合的情况下,已连通的元素保持不变。浮动边:不属于任何面;自由边界:仅属于一个面;共享边:属于多个面(如流形拓扑中的两个面)。Sewn faces缝合面。原创 2025-06-21 00:00:00 · 587 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Algorithm - Offsets, Drafts, Pipes and Evolved shapes
需要注意的是,实际公差增长取决于偏移距离和输入面之间的连接质量。无论如何,良好的输入壳(相邻面之间的平滑连接)将产生良好的结果。类允许通过引导线(Spine,线框 Wire)和轮廓(Profile,形状 Shape)创建管道。演化实体通过在脊柱上扫掠轮廓的参考轴创建。轴的原点移动到脊柱,X 轴与局部切线重合,Z 轴垂直于面。此方法通过直接在原始壳与其偏移版本之间创建实体来简化流程,无需指定要移除的面。第二种算法基于以下事实:单个面的无延续偏移计算始终可以构建。方法以实体、要移除的面列表和偏移值作为输入。原创 2025-06-20 00:00:00 · 1026 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Algorithm - The Topology API
如果结果形状包含形状的分割部分而不是形状本身,则该形状在操作期间被视为已修改。结果形状中包含的形状分割部分是从该形状修改而来的。已修改形状由输入形状的子形状创建,并且通常重复其几何结构。历史记录基于操作结果填充。如果操作结果为空形状,则所有输入形状将被视为已删除,且没有已修改和已生成的形状。如果结果形状中包含的形状是在操作期间生成的,并且与创建它们的形状具有不同的维度,则这些形状被视为从输入形状生成的。例如,在两个相交实体的切割(CUT)操作中,完全位于工具实体内部的所有顶点/边/面将在操作期间被删除。原创 2025-06-19 00:00:00 · 776 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Algorithm - Topological Tools
输入的边可以不共享,但输出的线框将共享重合的顶点和边。不过,如果输入的边已经共享,可以通过向方法传递相应标志来跳过相交阶段。因此,如果输入的边不是平面的,输出的线框也将是非平面的。一般来说,输出的线框是非流形的,可能包含自由顶点以及多连通顶点。一般来说,输入的线框是非流形的,可能未闭合,但应共享重合部分。可以从随机位于3D空间中的任意平面边集创建平面面。要从边创建面,首先需要从给定的边创建平面线框,然后从每个线框创建平面面。从一个边获取面上的参数曲线,并将其附加到与第一条边重合的另一条边上。原创 2025-06-19 00:00:00 · 973 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Algorithm - Boolean Operations
由于大多数工业零件由多个简单元素组成,例如齿轮、臂架、孔、肋板、管道和管件,通常可以先分别创建这些元素,然后通过布尔运算将它们组合成完整的最终零件。BRepAlgoAPI_Section 用于执行截面操作,结果为由 TopoDS_Edge 组成的 TopoDS_Compound。从拓扑学角度来看,这些是拓扑操作后紧接着进行的混合处理(即在拓扑操作后生成的边上添加圆角)。BRepAlgoAPI_Common 用于执行交集操作。BRepAlgoAPI_Fuse 用于执行融合操作。原创 2025-06-18 00:00:00 · 841 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Algorithm - Primitives
其中面指覆盖旋转曲面的面。BRepPrimAPI_MakeWedge 类可用于构建楔体,即倾斜的长方体(带角度的长方体)。楔体的构造方式与长方体非常相似:通过三个维度 dx、dy、dz 加上参数,或通过坐标系、三个维度和参数来构造。旋转图元通过绕轴旋转曲线创建,包括圆柱、圆锥、球体、圆环以及可处理任意曲线的旋转体。圆柱体可以在默认坐标系中创建,也可以在给定的坐标系 gp_Ax2 中创建。以下代码构建了图中的圆柱面,它是一个沿 Y 轴方向的四分之一圆柱体,原点位于 X,Y,Z,长度为 DY,半径为 R。原创 2025-06-18 00:00:00 · 897 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Algorithm - Standard Topological Objects
若无共享顶点,算法会搜索边与线框中位置相同的顶点(使用顶点容差测试)。若找到此类顶点对,边会被复制并使用线框顶点替换原始顶点,边的所有顶点都可与线框顶点交换。当添加的点/顶点与前一个位置相同时,不会添加到当前线框,且最近创建的边变为Null。BRepBuilderAPI_MakeWire类可返回添加到线框的最后一条边(Edge方法),若边被复制,则可能与原始边不同。若要添加多个线框,可使用面和第一个线框创建BRepBuilderAPI_MakeFace实例,然后使用Add方法插入新线框。原创 2025-06-17 00:30:00 · 981 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Algorithm - Geometric Tools
圆的内外侧圆的内外侧定义并不复杂。如以下示意图所示,外侧由副法线方向指示,即沿圆的遍历方向的右侧,左侧则为内侧(或"实体侧")。直线和曲线的内外侧BuildPlateSurface 类允许创建框架,以根据曲线和点约束以及容差设置构建曲面。结果通过 Surface 函数返回。请注意,构造时无需指定初始曲面,可后续添加;若未加载初始曲面,将自动计算曲面。CurveConstraint 类允许将曲线定义为待构建曲面的约束。PointConstraint 类允许将点定义为待构建曲面的约束。原创 2025-06-16 23:00:00 · 253 阅读 · 0 评论 -
OCCT基础类库介绍:Bounding boxes
其最常见的用途是作为过滤器,避免对形状对之间的多余干涉进行检查(边界框之间的干涉检查比形状之间的检查简单得多,若边界框不干涉,则无需再检查对应形状之间的干涉)。图中的AABB发生了干涉,因此许多OCCT算法会花费大量时间检查形状之间的干涉。然而,若检查OBB(其未发生干涉),则无需再搜索形状之间的干涉。:根据需要扩展边界框,以包含作为参数传入的对象(点、形状等);本节后文将表面积最小的边界框称为“最优边界框”。包含从形状创建边界框(AABB和OBB)的方法。:检查参数是否在当前边界框内部/外部。原创 2025-06-15 03:00:00 · 925 阅读 · 0 评论 -
OCCT基础类库介绍:Properties of Shapes
计算局部属性的点由曲线上的 u 参数值和曲面上的 (u,v) 参数值定义。被分析的边和面被描述为 BRepAdaptor 曲线和曲面,它们为形状提供了描述其几何支撑的接口。局部属性的基点由曲线上的 u 参数值或曲面上的 (u, v) 参数值定义。“曲线和曲面的局部属性” 组件提供计算 Geom 曲线(二维或三维空间)或曲面上各种局部属性的算法。对于单个曲面,两个曲面的连接(见上图)仅在每个交点处定义其连续性。BRepLProp 包提供形状局部属性组件,包含计算 BRep 模型中边和面的各种局部属性的算法。原创 2025-06-15 01:30:00 · 696 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Data - Classes inheriting TopoDS_Shape
派生TopoDS中没有的其他类是无意义的,所有对拓扑数据结构的引用都使用TopoDS中定义的Shape类及其继承类。TopoDS_Shape仅仅是增强了方向和局部坐标的引用,共享TopoDS_Shapes没有意义,重要的是共享底层的TopoDS_TShapes。以下类继承Shape:TopoDS_Vertex、TopoDS_Edge、TopoDS_Wire、TopoDS_Face、TopoDS_Shell、TopoDS_Solid、TopoDS_CompSolid和TopoDS_Compound。原创 2025-06-15 01:00:00 · 1048 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Data -Change of coordinates
继承 TopoDS_TShape 的类可在必要时携带几何域的描述(例如,与 TVertex 关联的几何点)。形状模型是可共享的数据结构,因为它可被其他形状使用(边可被实体的多个面使用)。注意,此数据结构不含任何反向引用,所有引用从更复杂的底层形状指向较简单的形状。按从顶点到组合实体的复杂度顺序列出形状,可得出数据结构的概念,即如何将形状分解为一组更简单形状的知识。TopoDS_Shape 类描述对形状的引用,包含对底层抽象形状的引用、方向和局部引用坐标。数据结构中局部坐标的使用允许共享重复子结构的描述。原创 2025-06-15 00:00:00 · 1028 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Data - 2D Geometry & 3D Geometry & Topology
如果需要对象实例集而非单个实例,可使用 TColGeom2d 包,该包为 Geom2d 包中的曲线提供一维数组和序列的标准常用实例化。Geom 包定义三维空间中的几何对象,包含所有基本几何变换(如恒等、旋转、平移、镜像、缩放变换、变换组合等),以及取决于几何对象参考定义的特殊函数(如 B 样条曲线上添加控制点、曲线修改等)。例如,考虑三个基本坐标:R1、R2、R3,复合坐标为:C1 = R1 * R2,C2 = R2 * R3,C3 = C1 * R3,C4 = R1 * C2。N 阶导向量的函数。原创 2025-06-15 00:00:00 · 927 阅读 · 0 评论 -
OCCT基础类库介绍:Modeling Data - Geometry Utilities
Geometry Utilities provide the following services:几何实用工具提供以下服务:In modeling, it is often required to approximate or interpolate points into curves and surfaces. In interpolation, the process is complete when the curve or surface passes through all the point原创 2025-06-14 00:00:00 · 1168 阅读 · 0 评论 -
OCCT基础类库介绍: Foundation Classes - Math Primitives and Algorithms
向量和矩阵几何图元数学算法。原创 2025-06-12 06:00:00 · 1935 阅读 · 0 评论 -
OCCT基础类库介绍: Foundation Classes - Collections, Strings, Quantities and Unit Conversion
集合组件包含处理动态大小数据聚合的类,包括数组、列表和映射等多种集合类型。部分OCCT集合与现代STL(标准模板库)中的类型相似,但属性或行为略有不同。OCCT为用户提供了更广泛的选择,而用户需根据具体算法(包括性能和使用便利性)决定使用特定的OCCT或STL集合。由于历史原因,OCCT高度依赖自身集合——其实现的许多功能在早期STL版本中不可用。集合类是通用的(C++模板),即它们定义了一种结构和算法,允许存储各种不一定继承自唯一根类的对象。原创 2025-06-11 20:00:00 · 1787 阅读 · 0 评论 -
OCCT基础类库介绍: Foundation Classes - Basics
句柄是 OCCT 对智能指针的实现,多个句柄可以引用同一个对象,单个句柄也可以引用多个对象(但一次只能引用一个)。要访问所引用的对象,必须像 C++ 指针一样对句柄进行解引用。任何对象的行为都由其类声明中定义的方法实现,这些方法的定义不仅包括其签名(编程接口),还包括其有效域。该有效域由异常表示,异常在各种错误条件下引发,以保护软件质量。异常处理提供了一种将控制从正在执行的程序中的给定点转移到与先前执行的另一点相关联的异常处理程序的方法。原创 2025-06-08 15:19:30 · 933 阅读 · 0 评论 -
OCCT基础类库介绍: Foundation Classes - Introduction
本手册介绍如何使用开源 CASCADE 技术(OCCT)基础类库,并提供基础类的基本文档说明。基础类库提供多种通用服务,例如自动化动态内存管理(通过句柄操作对象)、集合、异常处理,以及通过向下转型和插件创建实现的泛型特性。原创 2025-06-08 13:03:28 · 893 阅读 · 0 评论