- 博客(194)
- 问答 (4)
- 收藏
- 关注
原创 在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
640
1
原创 opencascade Geom_Circle 用法
总的来说,在OpenCASCADE中使用构造gp_Circ:使用圆心、法线、半径或通过三点等几何信息创建基础圆。创建:用gp_Circ实例化持久化对象。转换为边界表示:通过生成,以便集成到建模流程中。如果你正在尝试创建特定场景下的圆(例如已知两个点和半径),或者想了解如何将圆形边组合成面或实体,我可以提供更具体的指导。
2025-12-02 22:18:00
331
原创 贝塞尔曲线德卡斯特里奥(de Casteljau)算法
De Casteljau 算法(德卡斯特里奥算法)是一种用于计算贝塞尔曲线(Bezier Curve)上某一点的递推方法。它通过反复做线性插值,从控制点一步步“逼近”曲线上真实的点。给定一组控制点(比如 4 个),算出曲线上某个位置的坐标。
2025-11-28 16:26:49
471
原创 简化点的多种方法
每条线段周围建立一个“误差带”(±tolerance)只保留与上一个保留点距离 ≥ min_dist 的点。固定起点,沿路径向前找第一个超出垂直距离阈值的点。从当前点出发,尝试用一条线段连接后续第 n 个点。按面积从小到大删除点,直到满足数量或精度要求。若距离 > 阈值,则保留该点,递归处理两侧。如果所有中间点都在误差范围内,则删除中间点。支持设定最大偏差(如 ±0.1mm)计算每个点与其前后点构成的三角形面积。后续点只要在带内,就认为可忽略。面积越小,说明该点越“不重要”递归找出离当前线段最远的点。
2025-11-27 13:46:05
354
原创 简化点集合 道格拉斯-普克算法(Douglas-Peucker Algorithm)
【代码】简化点集合 道格拉斯-普克算法(Douglas-Peucker Algorithm)
2025-11-27 11:57:10
107
原创 c++ 的svg文件解析库
激光切割图纸(如.svg路径)UI 界面设计CAD 导出/导入Web 图形用 C++ 解析.svg文件 → 提取路径、坐标、变换等信息 → 用于轨迹生成或渲染库名推荐度适用场景NanoSVG⭐⭐⭐⭐⭐路径提取、GCode 生成⭐⭐⭐⭐渲染、完整 SVG 支持Qt SVG⭐⭐⭐⭐Qt 桌面应用其他⭐⭐不推荐。
2025-11-26 13:28:36
573
原创 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
866
原创 电脑重启自动启动软件
本文介绍了4种设置Windows开机自启动的方法:1)通过任务管理器启用启动项;2)在系统设置中调整启动应用;3)将快捷方式放入启动文件夹;4)修改注册表或使用任务计划程序。每种方法都提供了详细的操作步骤,其中注册表编辑和任务计划程序适合高级用户,需谨慎操作。这些方法可以帮助用户灵活配置软件的自启动行为。
2025-11-15 09:49:55
238
原创 qt 心跳包
在 Qt 中, 通常是一个自定义函数,用于实现网络连接的心跳检测机制(检测连接是否存活)。它的使用取决于你的具体实现,但以下是典型的实现方式和用法:2. 实现心跳检测类(源文件)3. 在 TCP 客户端/服务器中使用服务器端使用示例:客户端使用示例:关键参数配置参数建议值说明心跳发送间隔3-5秒客户端发送心跳的频率心跳检测间隔心跳间隔×2+1服务器检测超时的时间超时处理重连/断开超时后的处理策略最佳实践建议差异化设计:包含连接信息
2025-07-28 22:18:14
586
原创 世界坐标系到用户坐标系的变换
在 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
1188
原创 物联网全流程开发记录
有数据采集设备,服务器,上位机用户显示三部分,采集设备将采集的数据发送至服务器。服务器将数据保存,上位机读取服务器保存的数据库显示。当出现多设备,多用户时,如何通过多设备对应多用户,可能的情况有一台设备一个用户,一台设备多个用户,多台设备一个用户,多台设备多个用户 我在数据库都如何配置和保存数据 上位机如何读取和保存数据。在多设备多用户的系统中,数据库设计和数据交互逻辑需要兼顾。
2025-07-22 08:32:59
872
原创 GraphicsPath生成截图类型的string类型 并且可以转换为图片
操作方法将图像转换为字符串使用从字符串还原图像使用Bitmap支持的图像格式PNG、JPEG、BMP 等适用场景图像传输、缓存、数据库存储、HTML 显示等性能建议小图像使用 Base64;大图像建议使用流式处理或文件传输如需进一步了解如何在 ASP.NET 中将图像返回为 Base64 字符串如何在 HTML 中嵌入 Base64 图像如何压缩 Base64 图像字符串,或如何在 WinForms 中显示还原的图像,请补充具体需求,我会提供更详细的解决方案!
2025-07-08 09:25:27
265
原创 c# Point 无法序列化,因为它没有无参数的构造函数。
方法是否推荐适用场景添加无参构造函数✅✅✅最通用、兼容性最好注解✅✅适用于不可变对象Lombok✅✅快速生成无参构造函数字段直接访问✅适合字段为public或使用。
2025-07-08 09:23:49
1006
原创 如何删除导出的xml中的xmlns:xsd=
方法说明推荐程度推荐方式,控制命名空间最灵活⭐⭐⭐⭐⭐XmlTextWriter + 手动控制可选方式,适用于需要更细粒度控制的场景⭐⭐⭐直接修改 XML 字符串不推荐,容易出错且不可靠❌通过上述方法,你可以轻松地在 XML 序列化时去除xmlns:xsd和xmlns:xsi命名空间声明。推荐使用和的组合,这是最稳定、最推荐的方式,适用于大多数 XML 序列化场景,包括嵌套类、集合类等复杂结构。
2025-06-10 14:54:11
544
原创 如何xml序列化 和反序列化类中包含的类
set;// 嵌套类set;set;set;步骤操作1确保类和嵌套类都有无参数构造函数2使用控制字段/属性的 XML 元素名称3使用[XmlArray]和控制集合类的序列化4使用进行序列化5使用进行反序列化通过上述方法,你可以轻松实现包含嵌套类或集合类的复杂对象的 XML 序列化和反序列化。只要确保嵌套类也满足序列化要求,就可以实现结构清晰、数据完整的 XML 文件读写。
2025-06-10 14:48:30
622
原创 dxf 中insert中 椭圆的法向反向问题
在DXF文件中,椭圆(ELLIPSE)的法向方向(Normal Vector)由组码210、220、230定义,默认面向Z轴正方向(0,0,1),影响其显示和加工路径。当椭圆作为INSERT块引用时,其法向可能因块的变换矩阵(如镜像、旋转)而发生反向问题。解决方案包括修改圆心坐标后进行块变换,如将pnt.X值乘以-1来实现x方向的反向调整,从而正确保持椭圆的空间朝向。
2025-06-06 09:39:40
200
原创 dxf 中 60 代码含义
不存在或 0 表示可见性;它用于表示该图层是否被冻结(即是否在视图中可见)。(Group Code 60)的含义与。在DXF文件格式中,
2025-06-06 09:32:27
561
原创 dxf、dwg中文字矩阵变换
摘要:DXF和DWG文件中的文字对象(TEXT/MTEXT)可通过矩阵变换实现平移、旋转、缩放和镜像等操作。关键步骤包括解析文字参数(插入点、旋转角度等)、构建变换矩阵、应用矩阵计算新坐标并更新参数。需注意镜像反转、非均匀缩放变形以及倾斜角度处理等细节。通过矩阵变换可灵活调整CAD文件中的文字属性,适用于自动化设计和批量处理场景。代码示例展示了如何从矩阵中提取缩放系数和旋转角度,并应用到文字对象上。
2025-06-04 16:09:53
1224
原创 二维 根据矩阵变换计算镜像旋转角度
参数计算方法圆心直接应用变换矩阵到原圆心坐标半径原半径乘以缩放因子的绝对值($ r’ =起始角度旋转角度 $ \theta $ 加上原起始角度 $ \alpha,若存在镜像则反转方向(,若存在镜像则反转方向(,若存在镜像则反转方向(
2025-06-04 11:11:53
871
原创 二维 根据矩阵变换计算缩放比例
情况方法纯缩放矩阵直接读取对角线元素 $ 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
1171
原创 c# 显示正在运行的线程数
方法适用场景优点缺点获取当前进程线程信息简单易用,支持线程状态过滤仅限 Windows,无法获取线程池线程监控线程数支持性能监控配置较复杂,可能需要管理员权限线程池线程监控适用于异步任务不反映实际运行线程数通过上述方法,你可以灵活地在 C# 中监控当前进程的线程数,无论是总线程数还是运行中的线程数,都可以根据实际需求进行选择和实现。
2025-06-03 15:21:53
735
原创 C++中获取文件名的后缀
路径处理:若输入可能包含路径,需先提取文件名部分。边界条件文件名以点开头(如.bashrc)通常视为无扩展名。最后一个点号在末尾(如file.)返回空。多后缀处理:如tar.gz,通常取最后一个点后的内容(gz根据需求选择方法,优先使用标准库以获得更高的可靠性。
2025-03-27 22:36:09
547
原创 opencascade 源码学习 XmlDrivers-XmlDrivers
通过上述步骤,你可以轻松实现 OCAF 文档与 XML 文件之间的转换。如果需要扩展功能(如自定义属性序列化),可参考 OpenCASCADE 文档实现。它允许将 OCAF 文档(包含 CAD 数据、属性、关系等)序列化为 XML 文件,或从 XML 文件反序列化加载数据。前,需注册 XML 格式的驱动到 OCAF 应用程序中。是用于处理 XML 格式的 CAD 数据持久化模块,属于。OpenCASCADE 中的。
2025-03-19 22:04:50
836
原创 opencascade 源码学习几何变换 BRepBuilderAPI-BRepBuilderAPI_Transform
首先,我得回忆一下OpenCASCADE中BRepBuilderAPI_Transform的作用,它应该是用于对几何形状进行变换操作的,比如平移、旋转、缩放之类的。还有,要解释BRepBuilderAPI_Transform与BRep_Tool之间的关系,比如BRep_Tool::Copy可能用于复制形状,而BRepBuilderAPI_Transform则用于修改现有形状。用户可能遇到的常见问题包括变换后形状出现异常,比如扭曲或断裂,这时候需要说明如何调整参数,或者使用不同的变换顺序来避免问题。
2025-03-14 18:31:26
1155
原创 c++ 子类继承父类 父类中的变量子类在构造的时候如何初始化
在 C++ 中,当子类(派生类)继承父类(基类)时,。子类在构造时,可以通过调用父类的构造函数,确保父类的成员正确初始化。
2025-03-14 09:30:00
450
原创 c++ 中的float和double 的区别 开发过程中使用哪个更好
在 C++ 中,float和double都是用于表示浮点数的数据类型,但它们在方面有所不同。floatdoubledoublefloatdouble选择哪个取决于你的。
2025-03-13 22:32:10
635
原创 c# 查找相似颜色算法
好的,我现在需要帮用户解决在C#中实现查找相似颜色的算法的问题。用户之前已经得到了每个颜色对应的相似颜色标签,现在他们可能需要一个算法来动态计算颜色之间的相似度,并找到最接近的匹配。首先,回顾之前的对话,用户提供的颜色数据是以RGB字节数组的形式存在的,而相似颜色的判断结果已经以硬编码的方式给出。但现在用户希望有一个通用的算法,能够根据输入的颜色,自动找到与之最相似的颜色标签。我需要考虑颜色相似度的计算方法。常见的颜色距离算法有欧几里得距离、曼哈顿距离和汉明距离等。
2025-03-13 14:15:29
1165
原创 qt 常量中有换行符
如果代码中已经使用了中文字符,可以尝试使用QString::fromLocal8Bit进行转换,例如:QMessageBox::information(this, QString::fromLocal8Bit(“提示”), QString::fromLocal8Bit((“确认启动设备吗?打开Qt Creator,进入工具 -> 选项 -> 文本编辑器 -> 行为 -> 默认编码,选择UTF-8,并勾选如果编码是UTF-8则添加。在Qt中遇到“常量中有换行符”的错误通常是由于编码问题引起的。
2025-03-09 19:58:41
783
原创 qt的第三方库插件库及其对应的效果
在Qt开发中,第三方插件库可以显著增强应用程序的功能,涵盖图形、多媒体、网络、数据库等多个领域。通过灵活使用第三方插件库,开发者可以快速实现复杂功能,同时保持Qt应用的高效和可维护性。
2025-03-09 10:00:00
1139
原创 qt中可以显示像excel表的控件
如果需要更完整的Excel功能(如公式实时计算、图表渲染),建议优先评估商业库或深度定制开源方案。更灵活的模型-视图架构,支持自定义数据模型和代理(Delegate)。支持嵌入图表(如柱状图、折线图),但需要结合表格控件使用。支持单元格编辑、数据填充和简单格式设置(如字体、颜色)。提供高度可定制的表格控件,支持筛选、排序、公式计算等。,支持大数据量、单元格合并、公式等。包含类似Excel的。
2025-03-09 09:00:00
1264
原创 qt设计器中 使用grid layout绘制了三行五列 如何使一个按钮在第二行占用五列
将按钮拖放到第二行的某一列中(比如第二行第一列)。通过以上操作,按钮即可在第二行占据全部5列的宽度。在Qt设计器中,若要让某个控件(如按钮)在。的某一行中跨越多列,可以通过设置控件的。方法支持设置行、列、行跨度(若手动编写代码,网格布局的。
2025-03-08 23:37:52
651
原创 opencascade 中TopoDS_Wire如何转换为Handle(Adaptor3d_Curve)变量
根据需求选择合适的方法,确保 Wire 的几何结构符合预期!(例如计算总长度或参数化),可以使用。在 Open CASCADE 中,)连接组成的复合结构。,则需要遍历所有边,为每个。适配为一个复合曲线。
2025-03-06 09:00:00
1306
原创 对std::map<int, double>中 找到doule 最小的元素
直接调用标准库算法,结合 Lambda 表达式比较double#include <algorithm> // 需要包含此头文件{1, 3.14},{4, 0.0}return 0;// 使用 min_element 和 Lambda 比较 double 值// 比较 double 值std::cout << "最小值的键: " << min_it->first<< ", 值: " << min_it->second << std::endl;return 0;
2025-03-05 20:46:41
373
计算共形几何-顾险峰,计算几何算法分析与设计,计算几何算法与应用(中文版),解析几何(丘维声),曲面映射与展开中的几何分析毛昕马明旭著2013年,DXF文件格式详解-全
2024-11-19
AIS-ColorScale示例 可以显示多颜色
2024-05-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅