Appearance
坐标系与单位
Z-up / CATIA 约定
viewer-core 的世界坐标系采用 Z-up / CATIA 约定:
- Front = +X:正前方朝 +X;
- Right = +Y:右方朝 +Y;
- Top = +Z:上方朝 +Z。
注意:这与 glTF 等生态默认的 Y-up 不同——本引擎的世界 up 是 +Z;相机 up 向量(通常为 +Z)、剖切轴(SectionAxis 的 "x" / "y" / "z")、标准视图等所有公开 API 的方向语义都以此为准。
标准视图
viewer.camera.setStandardView(view) 接受 7 个视图名,语义如下:
| 视图 | 相机方位(从该方向看向模型) | 屏幕 up 向量 |
|---|---|---|
"front" | 从 +X 看 | +Z |
"back" | 从 −X 看 | +Z |
"right" | 从 +Y 看 | +Z |
"left" | 从 −Y 看 | +Z |
"top" | 从 +Z 俯视 | −X |
"bottom" | 从 −Z 仰视 | −X |
"iso" | 等轴测(+X +Y +Z 八分角) | +Z |
注意 top / bottom 的 up 是 −X:垂直向下看时 up 不能与视线平行,引擎选 −X 使俯视图与 CATIA 的 Top 视图一致(屏幕上 +X 朝下、+Y 朝右)。
标准视图以最近一次取景范围为中心定距取景;模型尚未取过景(还没 fitView 或加载完成)时调用是 no-op。
ts
viewer.camera.setStandardView("top");单位
.fmbv 文件头内嵌单位标记(毫米 / 米 / 英寸),坐标值按该单位写入。viewer 不做单位换算:渲染、包围盒、拾取点等公开 API 返回的坐标都是模型文件里的原始数值。需要展示带单位的尺寸时,由集成方按数据供应方约定的单位自行格式化。
Y-up 数据的自动处理
部分上游格式以 Y-up 约定导出,这类 .fmbv 文件在加载时会被自动归一化到引擎的 Z-up 世界坐标:文件头内嵌 up-axis 标记(Y_UP / Z_UP),引擎按标记把 Y-up 内容旋转到 Z-up——集成方无需做任何干预,标准视图、剖切轴等语义在两类文件上保持一致。
下一步
- 模型数据 (.fmbv) — 数据从哪来、
load()接受哪些来源。 - 事件系统 — 全事件参考与模型加载时序。
- 相机与导航 — 标准视图与取景适配的实际用法。