CAD 特征边提取
记录一次 CAD/CAE 特征边提取功能的工程实现:为什么特征边不能只保存一条 Edge,而要保留来源、角色、Curve、PCurve 和参数区间。
Technical notes, project reviews, learning logs, and engineering practice.
记录一次 CAD/CAE 特征边提取功能的工程实现:为什么特征边不能只保存一条 Edge,而要保留来源、角色、Curve、PCurve 和参数区间。
记录一次 OCCT 约束构面的工程实现:为什么 Boundary、Guide 和 Crease 不能混在一起,以及构造一张可验收的面之前需要哪些门禁。
记录区域化 CAD/CAE 模型修复的一条工程主线:如何从问题聚类、区域分析、真实预览走到可验证、可回滚的局部提交事务。
记录一次 CAD/CAE 模型修复模块的工程化整理:为什么修复流程不能只是顺序调用一组 OCCT 函数,而需要围绕问题分级、局部优先、逐步验收、失败回滚和候选策略建立更可控的主链。
记录一种 CAD/CAE 区域化模型修复思路:从问题种子构造局部修复区域,在受控邻域内执行、预览、替换和验证,并在局部策略不适用时安全回退。
从 OCCT 的 BRepMesh_IncrementalMesh 显示剖分出发,梳理 CAE 软件中显示网格和求解网格在目标、生成方式、质量指标和自适应加密上的差异。
记录一次 CAD/CAE 三维显示引擎优化的起点:为什么按拓扑对象直接创建 OSG 节点在小模型上可行,但在大模型上会导致节点数量、Drawable 数量和状态切换失控,以及为什么显示引擎需要从对象树转向显示批次。
记录 CAD/CAE Viewer 中拾取系统的工程设计:为什么拾取不能只返回 triangle 或 Drawable,以及如何结合 RangeTable、选择模式、可见性过滤、DisplayBucket 和 Selection Layer 找回 CAD 拓扑语义。
记录 CAD/CAE Viewer 从大量细粒度 Geode / Drawable 走向批量 Geometry 的工程过程:合批解决了什么,为什么不能简单做成一个巨大 Geometry,以及它给拾取、高亮、显隐和空间分桶留下了哪些新问题。
记录 CAD/CAE Viewer 合批显示之后,如何通过 RangeTable 在 Drawable、primitive index 和 CAD 拓扑对象之间建立映射,让拾取、工程树联动、高亮、显隐和局部重建仍然保留语义。
记录 CAD/CAE Viewer 中选择、高亮、hover 和基础显示状态分离的工程过程:为什么不能总是直接修改基础 Geometry 的颜色或透明度,以及 Selection Layer 如何配合 RangeTable、DisplayBatch 和 DisplayBucket 保持交互状态可控。
记录 CAD/CAE Viewer 在 OSG 合批之后继续优化大模型交互的过程:为什么一个 Geometry 太大会让局部显隐、高亮和重建变重,以及空间分桶如何让显示引擎从能画出来走向能局部交互。
记录 CAD/CAE Viewer 从业务拓扑直接绑定 OSG 节点,演进到 DisplayData 中间层的过程:为什么显示层不能直接依赖业务对象,也不能只保留三角面数据。
记录 CAD/CAE Viewer 中隐藏、显示、隔离、ShowAll 和 ResetStyle 这类高频交互的优化过程:为什么大模型下不能总是逐节点修改或全场景重建,以及如何通过 DisplayBucket、RangeTable 和 Selection Layer 控制状态恢复。
记录一次 CAD/CAE 模型导入模块的工程调整:为什么导入不只是 reader,为什么需要 poly-only 快速通道、轻量修复、软进度和可中断设计。
一次 CAD/CAE 几何修复模块分层设计的工程复盘:为什么 ShapeFix、Sewing、Filling 这些接口不能直接散落在业务代码里,而需要检测、分类、策略选择、局部编辑、验证和报告。
记录一次 CAD/CAE 面缝隙修复的工程思路:free edge 只是现象,不等于缺面。真正的修复需要先区分拓扑未连接、真实缺面、开放边界和近接触风险,再选择 Sewing、Wire 修复、局部补面或放弃自动处理。
记录一次模型导入模块整理过程:STEP、IGES、XDE、glTF 和 FBX 这些不同格式在导入接口、数据语义和后续处理上的差异。
记录 CAD/CAE 几何修复中的一个工程判断:shape 有效不代表适合共形网格。面对 near contact、weak intersection 和模糊界面风险,修复目标不是强行改模型,而是在用户可确认的局部范围内做最小必要调整。
这是一篇关于为什么开始整理个人技术博客的说明,也记录这个博客后续会关注的方向:C++、CAD/CAE、OCCT、OSG、Qt、几何算法、显示引擎和真实工程经验。
记录一次 CAD/CAE 局部补面的工程思路:从用户选择几条边开始,如何构造 wire、判断边界、生成修补面,并通过 Sewing、验证和局部替换把补面结果安全放回模型。
记录一次 CAD/CAE 交互式几何修复流程的工程思路:用户选择边或面后,系统如何构建局部上下文、识别问题、生成预览、执行局部修复,并通过验证、报告和撤销保证修复可控。
记录 CAD/CAE 几何修复中的一个工程判断:shape 有效不代表适合网格。free edge、open boundary、T-junction、non-manifold 和 near contact 等风险,需要结合网格边界反向分析几何问题。
记录 BRepBuilderAPI_Sewing 在 CAD/CAE 几何修复中的适用场景和工程边界:它适合连接已有面,但不是补面算法,也不能替代完整修复流程。
一次从 OCCT Splitter 调用链出发的性能排查记录,重点分析 PaveFiller、Arguments/Tools、候选拓扑 pair 与外部 task scheduler 之间的关系。
整理 CAD/CAE 几何修复中常见的 OCCT 接口,包括 BRepCheck、ShapeFix、BRepBuilderAPI_Sewing、ShapeAnalysis_FreeBounds 和 BRepFill_Filling,并记录它们在工程使用中的边界。
记录一次 CAD/CAE 模型聚合性能优化过程:从强制分组、halo 方案、direct tools 到局部 batch scheduler,在实验模型中将 OCCT Splitter 聚合耗时降低到约三分之一。