
Opencascade源码学习
文章平均质量分 88
本专栏专门用于学学习Opencascade的源码 occ库包含几何拓扑的解析,几何的显示,几何的计算等
一只小小汤圆
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
opencascade 源码学习 XmlDrivers-XmlDrivers
通过上述步骤,你可以轻松实现 OCAF 文档与 XML 文件之间的转换。如果需要扩展功能(如自定义属性序列化),可参考 OpenCASCADE 文档实现。它允许将 OCAF 文档(包含 CAD 数据、属性、关系等)序列化为 XML 文件,或从 XML 文件反序列化加载数据。前,需注册 XML 格式的驱动到 OCAF 应用程序中。是用于处理 XML 格式的 CAD 数据持久化模块,属于。OpenCASCADE 中的。原创 2025-03-19 22:04:50 · 678 阅读 · 0 评论 -
opencascade 源码学习几何变换 BRepBuilderAPI-BRepBuilderAPI_Transform
首先,我得回忆一下OpenCASCADE中BRepBuilderAPI_Transform的作用,它应该是用于对几何形状进行变换操作的,比如平移、旋转、缩放之类的。还有,要解释BRepBuilderAPI_Transform与BRep_Tool之间的关系,比如BRep_Tool::Copy可能用于复制形状,而BRepBuilderAPI_Transform则用于修改现有形状。用户可能遇到的常见问题包括变换后形状出现异常,比如扭曲或断裂,这时候需要说明如何调整参数,或者使用不同的变换顺序来避免问题。原创 2025-03-14 18:31:26 · 1022 阅读 · 0 评论 -
opencascade 源码学习几何变换 BRepBuilderAPI-BRepBuilderAPI_GTransform
它比gp_Trsf更通用,因为gp_Trsf主要用于刚性变换(如平移、旋转),而gp_GTrsf可以表示更复杂的变换,如仿射变换。等同于gp_Trsf的变换:这种变换保持几何形状的拓扑结构不变。曲线和曲面:变换会应用于形状中的所有曲线和曲面。gp_GTrsf是一个通用的几何变换类,可以表示平移、旋转、缩放、仿射变换等。仿射变换:这种变换可以改变几何形状的形状和大小。底层几何:变换可能会改变曲线和曲面的底层几何结构,因此需要谨慎使用。通用点变换:通过三行四列矩阵定义的变换,可以实现任意几何变换。原创 2025-02-19 08:04:32 · 331 阅读 · 0 评论 -
opencascade 源码学习找到edge对应的face BRepBuilderAPI-BRepBuilderAPI_FindPlane
找到给定形状(shape)的边(edges)所在的平面。找到情况下返回该Geom_Plane。原创 2025-02-18 08:58:32 · 151 阅读 · 0 评论 -
opencascade 源码学习快速缝合BRepBuilderAPI-BRepBuilderAPI_FastSewing
一个用于快速缝合表面(面)的类。原创 2025-02-18 08:44:46 · 358 阅读 · 0 评论 -
opencascade 源码学习BRepBuilderAPI-BRepBuilderAPI
共享三角化数据:如果 copyMesh 设置为 false,复制后的形状将与原始形状共享三角化数据。共享几何数据:如果 copyGeom 设置为 false,复制后的形状将与原始形状共享几何数据。如果 copyMesh 为 True,则原始形状中的三角化数据将与几何数据一起被复制(默认情况下,三角化数据会丢失)。如果 copyMesh 为 True,则原始形状中的三角化数据将与几何数据一起被复制(默认情况下,三角化数据会丢失)。性能优化:通过选择性地复制几何数据和三角化数据,可以优化内存使用和计算性能。原创 2025-02-13 18:35:23 · 907 阅读 · 0 评论 -
opencascade源码学习之BRepBuilderAPI_Sewing
Standard_EXPORT BRepBuilderAPI_Sewing(const Standard_Real tolerance = 1.0e-06, const Standard_Boolean option1 = Standard_True, const Standard_Boolean option2 = Standard_True, const Standard_Boolean option3 = Standard_True, const Standard_Boolean option4 =原创 2024-11-23 10:31:04 · 1062 阅读 · 0 评论 -
opencascade源码学习之BRepOffsetAPI包 -BRepOffsetAPI_DraftAngle
BRepOffsetAPI_DraftAngle 是 Open CASCADE Technology (OCCT) 中的一个类,用于在创建偏移(或称为“抽壳”)操作时处理拔模角度(draft angle)。拔模角度是指在与偏移方向成一定角度的面上创建斜角,这通常在制造过程中用于确保模具或零件能够顺利地从模具中脱出。原创 2024-11-19 19:01:32 · 576 阅读 · 0 评论 -
opencascade源码学习之HLRAlgo包 -HLRAlgo_Projector
Open CASCADE(现通常简称为OCCT)是一个强大的开源软件开发平台,专注于三维图形、CAD/CAM/CAE以及其他领域的开发。在Open CASCADE中,HLRAlgo_Projector 是一个用于处理隐藏线移除(Hidden Line Removal, HLR)算法中投影相关任务的类。HLR是在3D图形视图中生成2D图像时,用于确定哪些线条和表面应被视为可见或隐藏的过程。HLRAlgo_Projector 的基本用法。原创 2024-11-19 18:35:13 · 720 阅读 · 0 评论 -
opencascade源码学习之Convert包
non-rational Bezier curve转样条曲线。圆柱体转换为有理B样条曲面。Bezier转样条曲线。原创 2024-11-02 09:32:17 · 393 阅读 · 0 评论 -
opencascade源码学习之HLRAlgo包 -HLRAlgo_BiPoint
HLRAlgo_BiPoint类在OpenCASCADE的HLR算法中扮演重要角色,主要用于处理二维和三维数据中的边缘和面的关系。HLRAlgo_BiPoint类在OpenCASCADE中主要用于处理二维和三维数据,特别是在处理边缘和面的关系时非常有用。假设你有一个二维数据集,需要处理其中的边缘信息,你可以使用HLRAlgo_BiPoint类的方法来获取和处理这些数据。RgNLine():处理多条线。OutLine():处理外部线。IntLine():处理内部线。Points():获取点。原创 2024-11-02 08:45:18 · 267 阅读 · 0 评论 -
opencascade源码学习之HLRAlgo包 -HLRAlgo
在给定的投影中,为了达到工业设计、图纸需要的精度,可以删除隐藏的线条。为此,隐藏线路移除组件提供两个算法:HLRBRep_Algo和HLRBRep_PolyAlgo。这些算法删除或指示线条,被表面所掩盖。对于给定的投影,他们,计算一组线特征对象被表示。它们也被使用, 与提取工具结合使用,从a重建一个新的简化形状,计算结果的选择。这个新形状由代表线条的边组成, 平面中的可视化形状。这个平面是投影平面。HLRBRep_Algo考虑了形状本身。原创 2024-09-09 18:31:51 · 609 阅读 · 0 评论 -
opencascade Bnd_Range源码学习区间计算
这个类描述了由两个实数值限定的 1D 空间中的区间。一个区间可以是无效的,这表示区间中不包含任何点。原创 2024-08-15 20:28:54 · 1195 阅读 · 0 评论 -
opencascade Adaptor3d_CurveOnSurface源码学习
用于连接由Geom包中表面上的曲线提供的服务,以及使用这条曲线的算法所要求的服务。该曲线被定义为一个二维曲线,来自Geom2d包,位于表面的参数空间中。原创 2024-08-15 18:29:38 · 723 阅读 · 0 评论 -
opencascade Adaptor3d_Curve源码学习
用于几何算法工作的3D曲线的根类。适配曲线是曲线提供的服务与使用该曲线的算法所需服务之间的接口。GeomAdaptor_Curve,用于Geom包中的曲线Adaptor3d_CurveOnSurface,用于Geom包中表面上的曲线。用于评估BSpline曲线的多项式系数会被缓存以提高性能。因此,这些评估不是线程安全的,需要防止并行评估。原创 2024-08-15 18:15:58 · 1582 阅读 · 0 评论 -
opencascade Bnd_OBB源码学习 OBB包围盒
类描述了定向包围盒(OBB),比轴对齐包围盒(AABB)更紧密地包围形状的体积。OBB由盒子的中心、轴以及三个维度的一半定义。与AABB相比,OBB在作为非干扰物体的排斥机制时可以更有效地使用。//!使用所有定义参数的构造函数Standard_ASSERT_VOID(theHXSize >= 0.0, "X尺寸的负值");Standard_ASSERT_VOID(theHYSize >= 0.0, "Y尺寸的负值");原创 2024-08-13 08:15:00 · 1100 阅读 · 0 评论 -
opencascade Bnd_Box源码学习 包围盒
一个包围盒与坐标系的轴线平行。一个包围盒在一个或多个方向上可能是无限的(即开放的)。OpenXmin如果它在“X方向”的负方向上是无限的;OpenXmax如果它在“X方向”的正方向上是无限的;OpenYmin如果它在“Y方向”的负方向上是无限的;OpenYmax如果它在“Y方向”的正方向上是无限的;OpenZmin如果它在“Z方向”的负方向上是无限的;OpenZmax如果它在“Z方向”的正方向上是无限的;WholeSpace如果它在所有六个方向上都是无限的。原创 2024-08-13 08:00:00 · 1367 阅读 · 0 评论 -
opencascade Bnd_BoundSortBox源码学习 包围盒
一个工具,用于将一个包围盒或一个平面与一组包围盒进行比较。它会对这组包围盒进行排序,生成与被比较元素相交的盒子的列表。这些被排序的盒子通常包围着一组形状,而被比较的盒子则包围了一个需要比较的形状。因此,最终得到的相交盒子列表就提供了一个可能与需要比较的形状相交的项目列表。原创 2024-08-12 08:15:00 · 1028 阅读 · 0 评论 -
opencascade Bnd_B3f源码学习 包围盒
你必须确保盒子不是空的(参见 IsVoid()),否则方法会返回无效结果。你必须确保盒子不是空的(参见 IsVoid()),否则方法会返回无效结果。如果盒子是空的(参见 IsVoid()),则返回一个非常大的实数值。如果盒子完全在球体内,则返回 True,表示没有相交(否则该方法会报告相交)。如果限制发生,则返回 True,否则返回 False,表示盒子不相交。检查通过给定变换定向的给定盒子是否与当前盒子相交。如果盒子是空的(未初始化),则返回 True。如果盒子不相交,则返回 True。原创 2024-08-12 08:00:00 · 853 阅读 · 0 评论 -
opencascade Bnd_B3d源码学习 包围盒
opencascade Bnd_B3d 包围盒。原创 2024-08-11 16:39:56 · 1197 阅读 · 0 评论 -
opencascade AIS_WalkDelta、AIS_ViewInputBuffer源码学习工作
运行定义查看器事件的辅助结构。原创 2024-08-11 16:24:14 · 841 阅读 · 0 评论 -
opencascade AIS_Line源码学习直线节点
构造用于构建复合形状的线基准。原创 2024-08-10 18:40:22 · 1166 阅读 · 0 评论 -
opencascade TopoDS_Iterator源码学习拓扑迭代器
遍历给定 TopoDS_Shape 对象的底层形状,提供对其组件子形状的访问。每个组件形状作为带有方向的 TopoDS_Shape 返回,并且由原始值和相对值组成的复合体。原创 2024-08-10 18:28:44 · 918 阅读 · 0 评论 -
opencascade TopoDS_TShape源码学习
TShape 是描述二维或三维空间中一组点的拓扑结构。拓扑形状是由其他形状组成的结构。这是一个延迟类,用于支持拓扑对象。TShape 由其可选的域(几何)和组件(带有位置和方向的其他 TShape)定义。这些组件存储在形状列表中。Free : 自由或冻结。Modified : 已修改。Checked : 已检查。Orientable : 可定向。Closed : 已闭合(注意只有线和壳可以是闭合的)。Infinite : 无限的。原创 2024-08-08 08:30:00 · 1123 阅读 · 0 评论 -
opencascade TopoDS_Shape源码学习【重中之重】
描述了一个形状,它 引用了一个基础形状,该基础形状有可能被赋予一个位置和方向 为基础形状提供了一个位置,定义了它在本地坐标系中的位置为基础形状提供了一个方向,这是从几何学的角度(而不是相对于其他形状的方向)来定义的。注意:如果一个形状引用的基础形状的形状列表为空,则该形状被视为空。原创 2024-08-08 08:00:00 · 1677 阅读 · 0 评论 -
opencascade TopoDS_AlertWithShape源码学习
一种特定的对象(我们称之为Alert对象),该对象在其内部字段中存储了一个TopoDS形状。原创 2024-08-07 08:00:00 · 1655 阅读 · 0 评论 -
opencascade TopoDS_Builder 源码学习
构建器(Builder)用于创建拓扑数据结构。它是构建器类层次结构的根。Make 方法用于创建形状(Shapes)。Add 方法用于将一个形状包含到另一个形状中。Remove 方法用于从一个形状中移除另一个形状。构建器中的方法不是静态的,它们可以在继承的构建器中被重新定义。此构建器不提供用于创建顶点(Vertices)、边(Edges)、面(Faces)、壳(Shells)或实体(Solids)的 Make 方法。这些方法在继承的构建器中提供,因为它们必须提供几何形状信息。原创 2024-08-06 22:55:43 · 1195 阅读 · 0 评论 -
opencascade TopoDS、TopoDS_Vertex、TopoDS_Edge、TopoDS_Wire、源码学习
opencascade TopoDS转TopoDS_Vertexopencascade TopoDS转TopoDS_Edgeopencascade TopoDS转TopoDS_Wireopencascade TopoDS转TopoDS_Faceopencascade TopoDS转TopoDS_Shellopencascade TopoDS转TopoDS_Solidopencascade TopoDS转TopoDS_Compound。原创 2024-08-06 22:51:27 · 1447 阅读 · 0 评论 -
opencascade AIS_ViewController源码学习 视图控制、包含鼠标事件等
用于在GUI和渲染线程之间处理视图器事件的辅助结构。该类实现了以下功能:缓存存储用户输入状态(鼠标、触摸和键盘)。将鼠标/多点触控输入映射到视图相机操作(平移、旋转、缩放)。输入事件不会立即应用,而是排队等待两个工作线程单独处理:UI线程接收用户输入,渲染线程用于OCCT 3D视图绘制。原创 2024-08-05 22:39:12 · 1530 阅读 · 0 评论 -
opencascade AIS_TypeFilter AIS_XRTrackedDevice源码学习
通过它们的类型选择交互对象。该过滤器会对本地上下文中的每个交互对象提出问题,以确定它是否具有非空的所有者,并且如果是,则检查它是否是所需类型。如果对象在每种情况下都返回 true,则保留该对象。否则,将其拒绝。默认情况下,交互对象的类型为 None,签名为 0。类型过滤器指定了一个类型的选择范围,可以在任何级别上枚举类型或种类。这个选择可以是交互对象的种类、维度、单位,或者轴、平面或属性的类型。原创 2024-08-05 22:08:45 · 678 阅读 · 0 评论 -
opencascade AIS_ViewCube源码学习小方块
用于显示视图操控立方体的交互对象。视图立方体由多个部分组成,负责不同的相机操作:立方体的各个面代表主视图:顶部、底部、左侧、右侧、前侧和后侧。边表示主视图之一的旋转45度。顶点表示主视图之一的两个方向的旋转。该对象的行为类似于视图角落的三轴坐标系,因此其位置应该使用转换持久性标志进行定义:视图立方体的各部分对于检测或动态高亮显示是敏感的(但不是选择),并且每个其所有者 AIS_ViewCubeOwner 对应于相机的变换。… // 更新应用程序窗口。原创 2024-08-03 09:28:26 · 1072 阅读 · 0 评论 -
opencascade AIS_TrihedronOwner源码学习对象的实体所有者用于选择管理
AIS_Trihedron对象的实体所有者用于选择管理。在OpenCascade的AIS(交互对象框架)中,管理类似AIS_Trihedron的对象的选择涉及理解如何处理实体(或所有者)以进行选择。原创 2024-08-02 22:11:53 · 1108 阅读 · 0 评论 -
opencascade AIS_Trihedron源码学习 绘制三轴坐标系
/!创建一个可选择的三轴坐标系//!该三轴坐标系包括一个原点,三个轴线和三个标签。//!标签的默认文本为 “X”, “Y”, “Z”。//!可以更改原点和任意轴线的颜色,箭头和标签的颜色也可以改变。//!可视化呈现可能显示为两种模式:着色模式和线框模式(默认为线框模式)。//!有四种选择模式://!- AIS_TrihedronSelectionMode_EntireObject 完整选择三轴坐标系,优先级 = 1//!原创 2024-08-03 09:28:48 · 1328 阅读 · 0 评论 -
opencascade AIS_Triangulation源码学习 每个三角形顶点关联颜色
交互对象,从 Poly_Triangulation 绘制数据,可选择性地带有与每个三角形顶点关联的颜色。为了最大效率,颜色以32位整数表示,而不是传统的 Quantity_Color 值。目前尚未实现三角形和顶点的交互选择功能。原创 2024-08-02 08:45:00 · 1162 阅读 · 0 评论 -
opencascade AIS_TexturedShape源码学习 贴纹理
/!该类允许在形状上映射纹理。//!显示模式 AIS_WireFrame (0) 和 AIS_Shaded (1) 的行为与 AIS_Shape 中的行为相同,//!而新模式 2 (包围盒) 和 3 (纹理映射) 扩展了其功能。//!//!纹理本身在 (0,1)x(0,1) 的参数空间内进行参数化。//!形状的每个位于 UV 空间中的面都具有以下参数://!- Umin - U 方向的起始位置//!- Umax - U 方向的结束位置//!原创 2024-08-01 19:55:10 · 1110 阅读 · 0 评论 -
opencascade AIS_TextLabel源码学习【重要】
opencascade 显示文字。原创 2024-08-02 08:45:00 · 1081 阅读 · 0 评论 -
opencascade AIS_SignatureFilter源码学习
/!通过它们的类型和签名选择交互对象。签名为对象的类型提供了额外的特征描述,采用索引的形式。过滤器在本地上下文中查询每个交互对象,以确定其是否具有非空的所有者,并且如果有的话,是否具有所需的签名。如果对象在每种情况下返回true,则保留该对象。否则,将其拒绝。//!默认情况下,交互对象具有None类型和签名0。如果您想要为您的交互对象指定特定的类型和签名,必须重新定义两个虚拟方法:Type和Signature。//!此过滤器仅在开放的本地上下文中使用。原创 2024-08-01 09:00:00 · 1011 阅读 · 0 评论 -
opencascade AIS_Shape源码学习【重中之重】
/!一个用于管理形状展示和选择的框架。//!AIS_Shape是交互对象,大多数应用程序都会使用它。//!提供了标准函数,允许您在开放的局部上下文中准备选择形状的组成元素 -//!顶点、边、面等。这些特定于“Shape”类型对象的选择模式被称为标准激活模式。//!这些模式仅在开放的局部上下文中考虑,并且仅对重新定义虚拟方法//!AcceptShapeDecomposition并返回true的交互对象起作用。//!还提供了多个高级函数。原创 2024-08-01 08:45:00 · 1819 阅读 · 0 评论 -
opencascade AIS_InteractiveObject源码学习【重中之重】
/!定义一个具有显示和选择服务的对象类。//!被可视化和选择的实体是交互式对象。//!实体的特定属性,如尺寸中箭头的外观,必须在 Prs3d_Drawer 中加载。//!//!您可以利用已经编写好所有必要方法的标准交互式对象类,//!或者您可以实现自己的交互式对象类。//!每个交互式对象需要实现的关键接口方法://!* 可呈现对象 (PrsMgr_PresentableObject)//!考虑为特定交互式对象或交互式对象类定义支持的显示模式索引的枚举。//!原创 2024-07-31 08:45:00 · 1402 阅读 · 0 评论 -
opencascade AIS_Selection 源码学习
持有选定所有者列表的类”原创 2024-07-31 09:00:00 · 1593 阅读 · 0 评论