CAD 拾取系统设计

记录 CAD/CAE Viewer 中拾取系统的工程设计:为什么拾取不能只返回 triangle 或 Drawable,以及如何结合 RangeTable、选择模式、可见性过滤、DisplayBucket 和 Selection Layer 找回 CAD 拓扑语义。

OSG 合批显示实践

记录 CAD/CAE Viewer 从大量细粒度 Geode / Drawable 走向批量 Geometry 的工程过程:合批解决了什么,为什么不能简单做成一个巨大 Geometry,以及它给拾取、高亮、显隐和空间分桶留下了哪些新问题。

RangeTable 语义映射

记录 CAD/CAE Viewer 合批显示之后,如何通过 RangeTable 在 Drawable、primitive index 和 CAD 拓扑对象之间建立映射,让拾取、工程树联动、高亮、显隐和局部重建仍然保留语义。

选择高亮与 Selection Layer

记录 CAD/CAE Viewer 中选择、高亮、hover 和基础显示状态分离的工程过程:为什么不能总是直接修改基础 Geometry 的颜色或透明度,以及 Selection Layer 如何配合 RangeTable、DisplayBatch 和 DisplayBucket 保持交互状态可控。

空间分桶与局部重建

记录 CAD/CAE Viewer 在 OSG 合批之后继续优化大模型交互的过程:为什么一个 Geometry 太大会让局部显隐、高亮和重建变重,以及空间分桶如何让显示引擎从能画出来走向能局部交互。

显示隐藏的快速状态切换

记录 CAD/CAE Viewer 中隐藏、显示、隔离、ShowAll 和 ResetStyle 这类高频交互的优化过程:为什么大模型下不能总是逐节点修改或全场景重建,以及如何通过 DisplayBucket、RangeTable 和 Selection Layer 控制状态恢复。

CAD 面缝隙修复

记录一次 CAD/CAE 面缝隙修复的工程思路:free edge 只是现象,不等于缺面。真正的修复需要先区分拓扑未连接、真实缺面、开放边界和近接触风险,再选择 Sewing、Wire 修复、局部补面或放弃自动处理。

面贴合与近接触修复

记录 CAD/CAE 几何修复中的一个工程判断:shape 有效不代表适合共形网格。面对 near contact、weak intersection 和模糊界面风险,修复目标不是强行改模型,而是在用户可确认的局部范围内做最小必要调整。

OCCT 局部补面

记录一次 CAD/CAE 局部补面的工程思路:从用户选择几条边开始,如何构造 wire、判断边界、生成修补面,并通过 Sewing、验证和局部替换把补面结果安全放回模型。