Skip to content

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。