Opencascade
文章平均质量分 69
occ库包含几何拓扑的解析,几何的显示,几何的计算等,CAD、CAM开发相关知识
一只小小汤圆
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在opencascade中 写一个Ais_Ellips,继承AIS_InteractiveObject 类似于AIS_Circle的类
这个实现类似于 AIS_Circle 的结构,但专门针对椭圆进行了优化。// 长轴50,短轴30。自定义椭圆显示类,继承自 AIS_InteractiveObject。几何定义:支持 gp_Elips 和 Geom_Ellipse 两种构造方式。// 构造函数:通过 Geom_Ellipse。// 使用 Geom_Ellipse 创建。构造函数:通过 gp_Elips。// 构造函数:通过 gp_Elips。// 设置椭圆几何定义(通过句柄)// 设置椭圆几何定义。// 创建椭圆几何定义。原创 2025-12-03 22:02:42 · 646 阅读 · 0 评论 -
已知圆弧的起点、终点、凸度 求圆弧的圆心
【代码】已知圆弧的起点、终点、凸度 求圆弧的圆心。原创 2025-11-29 13:42:39 · 188 阅读 · 0 评论 -
贝塞尔曲线德卡斯特里奥(de Casteljau)算法
De Casteljau 算法(德卡斯特里奥算法)是一种用于计算贝塞尔曲线(Bezier Curve)上某一点的递推方法。它通过反复做线性插值,从控制点一步步“逼近”曲线上真实的点。给定一组控制点(比如 4 个),算出曲线上某个位置的坐标。原创 2025-11-28 16:26:49 · 477 阅读 · 0 评论 -
简化点的多种方法
每条线段周围建立一个“误差带”(±tolerance)只保留与上一个保留点距离 ≥ min_dist 的点。固定起点,沿路径向前找第一个超出垂直距离阈值的点。从当前点出发,尝试用一条线段连接后续第 n 个点。按面积从小到大删除点,直到满足数量或精度要求。若距离 > 阈值,则保留该点,递归处理两侧。如果所有中间点都在误差范围内,则删除中间点。支持设定最大偏差(如 ±0.1mm)计算每个点与其前后点构成的三角形面积。后续点只要在带内,就认为可忽略。面积越小,说明该点越“不重要”递归找出离当前线段最远的点。原创 2025-11-27 13:46:05 · 362 阅读 · 0 评论 -
简化点集合 道格拉斯-普克算法(Douglas-Peucker Algorithm)
【代码】简化点集合 道格拉斯-普克算法(Douglas-Peucker Algorithm)原创 2025-11-27 11:57:10 · 114 阅读 · 0 评论 -
c++ 的svg文件解析库
激光切割图纸(如.svg路径)UI 界面设计CAD 导出/导入Web 图形用 C++ 解析.svg文件 → 提取路径、坐标、变换等信息 → 用于轨迹生成或渲染库名推荐度适用场景NanoSVG⭐⭐⭐⭐⭐路径提取、GCode 生成⭐⭐⭐⭐渲染、完整 SVG 支持Qt SVG⭐⭐⭐⭐Qt 桌面应用其他⭐⭐不推荐。原创 2025-11-26 13:28:36 · 582 阅读 · 0 评论 -
Qt平台插件初始化失败的错误。错误信息明确指出应用程序无法启动,因为没有找到可用的Qt平台插件
Qt平台插件初始化失败的解决方案摘要(150字): Qt应用启动失败常见于缺少平台插件(如qwindows.dll)。推荐使用windeployqt工具自动部署依赖文件:定位工具后执行windeployqt.exe 程序名即可。或手动部署:创建platforms文件夹并复制qwindows.dll,同时添加必要的Qt5Core等DLL。也可临时设置QT_QPA_PLATFORM_PLUGIN_PATH环境变量指向插件目录。注意Debug/Release版本差异(带d后缀)、架构匹配和版本一致性。预防措施包括原创 2025-11-25 22:34:09 · 902 阅读 · 0 评论 -
世界坐标系到用户坐标系的变换
在 OpenCASCADE 中,使用gp_Ax3原点(Location)gp_Pnt,表示坐标系的原点位置。Z 轴方向(Direction)gp_Dir,表示坐标系的主方向(通常为 Z 轴)。X 轴方向(XDirection)gp_Dir,表示坐标系的参考方向(通常为 X 轴)。Z 轴:用户指定的ZDirectionX 轴:用户指定的XDirectionY 轴Y = Z × X项目说明变换矩阵构成4x4 仿射矩阵,包含旋转和平移旋转矩阵构造由用户坐标系的三个正交基向量构成平移向量。原创 2025-07-26 15:32:29 · 1198 阅读 · 0 评论 -
opencascade 小技巧截取两点间的曲线
【代码】opencascade 小技巧截取两点间的曲线。原创 2025-06-07 16:59:31 · 237 阅读 · 0 评论 -
dxf 中insert中 椭圆的法向反向问题
在DXF文件中,椭圆(ELLIPSE)的法向方向(Normal Vector)由组码210、220、230定义,默认面向Z轴正方向(0,0,1),影响其显示和加工路径。当椭圆作为INSERT块引用时,其法向可能因块的变换矩阵(如镜像、旋转)而发生反向问题。解决方案包括修改圆心坐标后进行块变换,如将pnt.X值乘以-1来实现x方向的反向调整,从而正确保持椭圆的空间朝向。原创 2025-06-06 09:39:40 · 206 阅读 · 0 评论 -
dxf 中 60 代码含义
不存在或 0 表示可见性;它用于表示该图层是否被冻结(即是否在视图中可见)。(Group Code 60)的含义与。在DXF文件格式中,原创 2025-06-06 09:32:27 · 570 阅读 · 0 评论 -
dxf、dwg中文字矩阵变换
摘要:DXF和DWG文件中的文字对象(TEXT/MTEXT)可通过矩阵变换实现平移、旋转、缩放和镜像等操作。关键步骤包括解析文字参数(插入点、旋转角度等)、构建变换矩阵、应用矩阵计算新坐标并更新参数。需注意镜像反转、非均匀缩放变形以及倾斜角度处理等细节。通过矩阵变换可灵活调整CAD文件中的文字属性,适用于自动化设计和批量处理场景。代码示例展示了如何从矩阵中提取缩放系数和旋转角度,并应用到文字对象上。原创 2025-06-04 16:09:53 · 1233 阅读 · 0 评论 -
二维 根据矩阵变换计算镜像旋转角度
参数计算方法圆心直接应用变换矩阵到原圆心坐标半径原半径乘以缩放因子的绝对值($ r’ =起始角度旋转角度 $ \theta $ 加上原起始角度 $ \alpha,若存在镜像则反转方向(,若存在镜像则反转方向(,若存在镜像则反转方向(原创 2025-06-04 11:11:53 · 891 阅读 · 0 评论 -
二维 根据矩阵变换计算缩放比例
情况方法纯缩放矩阵直接读取对角线元素 $ S_x = a, S_y = d $包含旋转的矩阵计算第一列和第二列向量的长度:$ S_x = |\vec{v}_x|, S_y = |\vec{v}_y| $包含剪切的矩阵使用 SVD 或极分解等高级方法实际开发中可使用图形库(如 Unity、OpenGL、DirectX)提供的矩阵分解函数。原创 2025-06-03 17:13:16 · 1177 阅读 · 0 评论 -
c# 查找相似颜色算法
好的,我现在需要帮用户解决在C#中实现查找相似颜色的算法的问题。用户之前已经得到了每个颜色对应的相似颜色标签,现在他们可能需要一个算法来动态计算颜色之间的相似度,并找到最接近的匹配。首先,回顾之前的对话,用户提供的颜色数据是以RGB字节数组的形式存在的,而相似颜色的判断结果已经以硬编码的方式给出。但现在用户希望有一个通用的算法,能够根据输入的颜色,自动找到与之最相似的颜色标签。我需要考虑颜色相似度的计算方法。常见的颜色距离算法有欧几里得距离、曼哈顿距离和汉明距离等。原创 2025-03-13 14:15:29 · 1171 阅读 · 0 评论 -
opencascade 中TopoDS_Wire如何转换为Handle(Adaptor3d_Curve)变量
根据需求选择合适的方法,确保 Wire 的几何结构符合预期!(例如计算总长度或参数化),可以使用。在 Open CASCADE 中,)连接组成的复合结构。,则需要遍历所有边,为每个。适配为一个复合曲线。原创 2025-03-06 09:00:00 · 1319 阅读 · 0 评论 -
opencascade BRepTools::Read写到string内 BRepTools::Write
【代码】opencascade BRepTools::Read写到string内 BRepTools::Write。原创 2025-02-26 22:24:00 · 707 阅读 · 0 评论 -
opencascade 查找SelectMgr_Filter的选择过滤类型
opencascade 查找SelectMgr_Filter的选择过滤类型。原创 2025-02-19 16:14:34 · 284 阅读 · 0 评论 -
opencascade 获取edge起始点 会出现终点与实际不同的情况
曲线参数范围问题:几何曲线的参数范围可能不是从 0 到 1,而是根据曲线的具体定义(如圆弧、贝塞尔曲线等)有不同的范围。拓扑边的方向与几何曲线方向不一致:在 OpenCASCADE 中,拓扑边的方向可能与几何曲线的方向相反,这会导致通过几何曲线获取的起始点和终点与拓扑边的实际方向不一致。几何曲线的方向问题:在某些情况下,几何曲线的方向可能与拓扑边的方向不一致,导致通过几何曲线参数获取的起始点和终点与实际的拓扑方向不匹配。如果需要通过几何曲线获取点,建议先检查曲线的方向是否与拓扑边的方向一致。原创 2025-02-14 18:25:09 · 732 阅读 · 0 评论 -
opencascade 标注-直线标注、半径标准、角度标注
重写。原创 2025-02-13 17:03:13 · 2005 阅读 · 0 评论 -
在cam套料软件中,我想用c++通过xml序列化的方法设置工程文件并打开和保存相关的几何信息,其中几何信息有点、直线、圆、圆弧,最后用c++方法加密现有工程文件
序列化可以选择二进制、XML、JSON 或自定义文本格式。原创 2025-02-12 16:59:28 · 844 阅读 · 0 评论 -
在cam套料软件中,我想用c++通过序列化的方法设置工程文件并打开和保存相关的几何信息,其中几何信息有点、直线、圆、圆弧
序列化可以选择二进制、XML、JSON 或自定义文本格式。原创 2025-02-12 15:49:10 · 528 阅读 · 0 评论 -
TD_Mgd_3.03_9.dll错误未能加载文件或程序集“TD_Mgd_3.03_9
TD_Mgd_3.03_9.dll错误:未能加载文件或程序集“TD_Mgd_3.03_9, Version=3.0.0.7684, Culture=neutral,解决:vs中选择项目属性->生成->目标平台选x86。原创 2024-12-24 17:36:05 · 308 阅读 · 0 评论 -
opencascade配置笔记
网址参考网址参考网址参考网址参考网址原创 2024-12-19 23:00:35 · 277 阅读 · 0 评论 -
DXF-模型空间和图纸空间、图层冷冻标志位
模型空间主要用于建模,是一个没有界限的三维空间,用户在这个空间中以任意尺寸绘制图形,通常按照1:1的比例,以实际尺寸绘制图形。100 子类标记(AcDbSymbolTableRecord)CAD-模型空间和图纸空间-是CAD中两种不同的操作环境。DXF文件中操作环境的标志码是组代码67。62 颜色数(如果为负则图层被关闭)LAYER组码 组码说明。原创 2024-11-12 10:39:06 · 325 阅读 · 0 评论 -
dwg解析-样条曲线拟合点解析(中望CAD导出)
中望CAD导出的dwg文件,其中样条曲线拟合点解析出的结果出拟合点和起始点的方向,原创 2024-10-09 13:13:41 · 575 阅读 · 0 评论 -
dwg、dxf文件多行文字转单行文字
使用Express Tools中的功能:如果CAD软件中安装了Express Tools,可以通过Express Tools的文字选项卡中的“Convert to Mtxext”选项,选择要转换的数个单行文本后单击确定来完成转换。然后,使用netDxf.DxfDocument.Load加载DXF文件,遍历其中的MText对象,应用ExplodeMText函数,将分解后的单行文字添加到DXF文档中,并移除原来的多行文字。在C++中,你可以使用DXFlib来读取DXF文件,并将多行文字分解为单行文字。原创 2024-09-07 14:26:58 · 2784 阅读 · 0 评论 -
数学基础 三角函数、两条平行线截距
在二维平面上,当我们说“两条直线之间的截距”时,这通常意味着我们需要找到一条与这两条直线都相交的直线,并计算这条相交直线与给定直线的交点坐标,进而可能通过交点坐标来讨论“截距”的概念。不过,如果我们假设你想要计算的是从某一点(比如原点或其他给定点)出发,到这两条直线的垂直距离(这可以看作是一种“截距”的度量,尽管不是传统意义上的),那么我们可以使用点到直线的距离公式。 ,p 2 和 p 3,p4),但没有直接给出直线的斜率或方程,我们假设这些点加上额外的信息(如斜率或第二个点)可以用来确定直线的方程。原创 2024-07-14 20:17:07 · 1203 阅读 · 0 评论 -
dxf写入 、 dwg解析 中文乱码问题
然而,由于UTF-8是基于字节的编码,你需要先将UTF-8转换为UTF-16(如果需要的话),然后再从UTF-16转换到ANSI,或者反过来。在C++中,UTF-8和ANSI(特别是在Windows平台上,通常指的是系统的本地代码页,如Windows-1252或GBK等)之间的转换并不是由标准C++库直接支持的。如果你的应用程序需要在不同的系统上运行,并且需要明确指定ANSI代码页(比如总是使用Windows-1252),你应该使用相应的代码页ID(如1252)替换CP_ACP。原创 2024-07-13 10:48:36 · 2157 阅读 · 0 评论 -
dxflib保存dxf文件
dxflib是一个用于处理DXF文件的开源C++库。DXF(Drawing Exchange Format)文件是AutoCAD的一种二维图形格式,广泛用于CAD数据交换。dxflib通过读取和解析DXF文件,将其内容转换为可供渲染和显示的矢量图形,使得开发者能够轻松地在自己的应用程序中集成和展示DXF图形。原创 2024-07-12 13:42:20 · 1940 阅读 · 0 评论 -
dxf数据结构
定义:DXF文件是AutoCAD的绘图交换文件,用于在不同CAD软件之间传输和共享绘图数据。推出时间:由Autodesk公司在1982年推出,并已被多次更新,最新版本同时支持ASCII和二进制形式。兼容性:新版本能够向下兼容,意味着无论DXF格式是何时创建的,它都能被最新版的CAD软件打开。原创 2024-07-11 14:23:03 · 1263 阅读 · 0 评论 -
vs编译libredwg和libdxfrw
将jsmn解压后的文件放置libredwg中。然后根据报错格式 修改文件编码格式即可。然后用cmake编译。原创 2024-07-03 14:52:37 · 1432 阅读 · 0 评论 -
opencascade 布尔运算笔记
没有公共部分,操作仍会返回一个结果。为了判断两个形状是否确实有公共部分,并在没有公共部分时返回。,你可以检查生成的结果是否为空或其属性是否表明它没有有效的几何内容。这种方法确保你可以正确判断两个形状是否确实有公共部分,并在没有公共部分时返回。函数用于验证公共部分是否有效。函数创建两个示例形状,分别是一个长方体和一个球体。在 Open CASCADE 中使用。如果以上任何检查失败,则返回。进行布尔操作时,即使两个。计算两个形状的公共部分。,表示没有有效的公共部分。原创 2024-06-03 22:49:16 · 1487 阅读 · 0 评论 -
opencascade 笔记
在 OpenCascade 中,要绘制一个无限大的面,你可以使用 gp_Pln 类来定义一个平面,然后将其绘制出来。将几何平面转换为一个面,并指定了一个非常大的边界范围,以模拟一个无限大的面。最后,我们将面对象添加到交互式上下文中,并显示在绘图窗口中。这样就创建了一个无限大的平面,并在 OpenCascade 中进行了绘制。创建了一个几何平面。定义了一个 XY 平面,并用。在这个示例中,我们使用。原创 2024-05-21 21:13:37 · 1105 阅读 · 0 评论 -
opencascade 拾取点、线、面 opencascade AIS_ViewCube 3D小部件、立方体 opencascade 曲线填充 opencascade 显示加速
在OpenCASCADE中,拾取(或选择)点、线、面通常涉及到用户交互,其中用户通过鼠标或其他输入设备在图形界面上选择几何模型的特定部分。原创 2024-05-01 10:07:33 · 1637 阅读 · 1 评论 -
opencascade 第2章 基础类分析
顾名思义,基础类是OCC的基石。它提供了大量的通用服务,如自动动态内存管理(通过句柄对对象进行处理)、集合容器、异常处理、通过向下抛掷和创建插件程序而获得的泛化等。因此,本章将先对OCC的基础类模块进行概述,然后论述其中几个重点部分,如数据类型、集合容器等。基础类包括根类组件、串类组件、集合容器组件、标准对象的集合容器组件、向量和矩阵类组件、基本几何类型组件、常用数学算法组件、异常类组件、数量类组件和应用程序服务组件。OCC的引用管理采用的是一种句柄机制。这种机制的基本元素是句柄。原创 2024-04-28 22:34:39 · 767 阅读 · 0 评论 -
opencascade 第1章 OCC体系结构和基本概念
OCC是面向对象方法设计的一个CAD基础平台(软件)。为了能从整体上把握OCC的组织情况,也为了方便后续章节的讨论,本章将介绍OCC体系结构和几个基本概念。原创 2024-04-28 22:33:26 · 1733 阅读 · 0 评论 -
opencascade iges/igs step/stp文件写入、生成 Adaptor3d_Curve opencascade 标注圆的半径 AIS_RadiusDimension 离散
在OpenCASCADE中,写入IGES或STEP文件涉及到使用相应的写入器类,并遵循一定的步骤来创建和保存几何数据。原创 2024-04-25 23:09:50 · 905 阅读 · 0 评论 -
opencascade 基础篇 gp_Pln类:
此类用来构造一个可以填充的BSpline表面,构造它可以用两个三个或四个BSpline曲线作为边界;一般情况下,所生结果为:NURBS,但是,在一些特殊的情况下,可以生成平面,园柱,球,园锥等;–已知一个园锥表面,和一个距离,创建一个平行于已知园锥表面的园锥表面;得到第一个表面上的极值点的UV参数和第二个表面上的极值点的UV参数;–已知一个园锥表面,和空间一点,过此点的平行于已知园锥表面;原创 2024-04-24 20:04:00 · 1593 阅读 · 0 评论 -
opencascade 线形成曲面 平移变换 opencascade 绘制样条曲线 gp_Ax1 opencascade 等数离散 等弦高离散
opencascade 线形成曲面。原创 2024-04-23 21:39:34 · 500 阅读 · 0 评论
分享