PMI 建模
PMI 用于在 3D 场景中显示尺寸、工艺信息和文字标注。通过 build_description.type = "Pmi" 创建 PMI 节点。

点到点尺寸

doc.addNode({ build_description: { type: "Pmi", payload: { type: "DistancePmi", data: {
point0: [34.5, -45, -110.5], point1: [80, -45, -110.5], text: "3: 45.5",
yDir: [0, 1, 0], appendUp: "+0.02", appendDown: "-0.02", extLength: 10, textWidth: 35,
} } } });
point0 和 point1 定义端点,text 是主文字,appendUp/appendDown 表示上下偏差,yDir 定义文字上方向。
单点和深度标注

doc.addNode({ build_description: { type: "Pmi", payload: { type: "PointPmi", data: {
point: [96.05, 35.17, 93.44], text: "R9", textWidth: 20,
yDir: [0, 1, 0], xDir: [-1, 0, 0], extLength: 20,
} } } });
doc.addNode({ build_description: { type: "Pmi", payload: { type: "DistancePmi", data: {
point0: [5, 27, 95], point1: [5, 27, 1], text: "深94.00",
yDir: [-1, 0, 0], extLength: 30, textWidth: 45, depthMode: true,
} } } });
线段引出标注

doc.addNode({ build_description: { type: "Pmi", payload: { type: "LinePmi", data: {
point: [-101, 151, 0.9], text: "101.00", appendUp: "+0.05", appendDown: "-0.05",
yDir: [1, 0, 0], xDir: [0, 1, 0], textWidth: 35, extLength: 80,
color: 0x00ff00, xFlip: false,
} } } });
xFlip: true 可将文字沿 xDir 反向显示;color 用于设置 PMI 颜色。PMI 参数应随业务数据保存,重新加载 Document 后再次构建。
