Appearance
viewer.edges — EdgesManager
设计意图
工程阅读里 BREP 边线是形体理解的关键:没有边线,同色零件的棱、面交界几乎不可辨。.fmbv 内置了从源 CAD 提取的精确边线数据(EDGES),viewer.edges 管这份数据的全局呈现——显示开关(setVisible)、颜色(setColor)、不透明度(setOpacity),只有三个旋钮。
域边界刻意收得很窄:按节点的「画不画边」语义归渲染模式域——viewer.renderMode 的四个模式本质是「面可见性 × 边可见性」的具名组合,与 edges.setVisible 作用于同一份状态。
何时用它:全局调边线风格、临时关边线看纯着色效果;要按零件切线框 / 实色,去 viewer.renderMode。
典型用法
评审纯着色外观(临时关边线,看完恢复):
ts
viewer.edges.setVisible(false);
// ……评审结束
viewer.edges.setVisible(true);浅色主题下减淡边线(降低对比,避免线条喧宾夺主):
ts
viewer.edges.setColor({ r: 0.55, g: 0.55, b: 0.55 });
viewer.edges.setOpacity(0.5);注意事项
- getter 占位初值陷阱:引擎的视觉默认是深灰
0x3a3a3a、不透明度 0.85;但首次setColor/setOpacity之前,getColor()/getOpacity()返回的是占位初值(黑色 / 1)——做「读当前值 → 微调 → 写回」的 UI 时,首次读到的不是屏幕上实际呈现的值。 setOpacity自动钳制到 0–1,越界值不抛错。- 与
viewer.renderMode共享状态:renderMode.set(RenderMode.Shaded)也会关边线,随后edges.setVisible(true)又会画回来——两个 manager 不是相互隔离的开关,见显示控制。
完整签名与延伸
EdgesManager— 全部方法的精确签名。- 指南:显示控制 — 可见性 / 边线 / 渲染模式三者的组合用法与 demo。