Skip to content

<fmb-inspector>

属性面板(右栏)。未选中时显示文档概览(零件/装配计数);选中节点后显示几何信息(包围盒尺寸、世界坐标、Mesh ID)、材质与 BOM 属性,装配节点显示 Roll-up 汇总。

最小用法

html
<fmb-viewer-context id="ctx">
  <div class="viewport"><canvas id="canvas"></canvas></div>
  <fmb-inspector></fmb-inspector>
</fmb-viewer-context>

组件自带宽度 var(--fmb-rpanel-w, 312px) 与左边框,按右侧栏设计;放进 flex 行布局即可。

属性

名称类型property / attribute默认值说明
viewerViewer | undefined仅 property(attribute: false)undefined通常经 <fmb-viewer-context> 注入

事件

无对外事件,组件只读引擎状态,不写回。

行为细节

  • 驱动源:订阅引擎 selection-changed,取选中集合里第一个 Node 类型条目作为展示对象;只选了面/边(无 Node 条目)时回到文档概览。另订阅 model-skeleton-ready / model-loaded 强制重渲染,保证计数与节点查询基于已加载模型。
  • 空态(文档概览):iterateNodes 遍历全模型,按 meshId 是否为空统计 Parts / Assemblies 两个计数。
  • 零件节点:Geometry 区显示包围盒尺寸(worldBoundingBoxmax - min,三轴 × 连写,单位 mm;无包围盒则该行不显示)、世界坐标(取 worldTransform 平移分量)、Mesh ID。model.getNodeMaterial() 有返回时再显示 Material 区:色块(baseColor)+ 材质名 + Metalness / Roughness / Opacity。
  • 装配节点:标题副行显示 Sub-assembly · N items,Roll-up 区显示包围盒尺寸与直接子节点数。
  • BOM 属性:经 model.getNodeProperties(id) 异步取 per-node 属性,按 group 分节、节内 key/value 网格渲染;请求按节点去重(同一节点不重复拉取),返回时若选中已切走则丢弃结果;无属性或读取失败时整段不显示。
  • 数值格式:坐标、尺寸与材质参数四舍五入到小数点后两位。

可定制点

面板宽度走 --fmb-rpanel-w;表面/边框/层级文字走 --fmb-surface--fmb-border--fmb-fg-1/2/3;数值列走 --fmb-mono;装配图标盒走 --fmb-accent--fmb-accent-soft;色块描边走 --fmb-border-strong。全表见主题定制