我正在尝试在 revit 转换文件的 2d 查看器上用颜色填充房间。
我有一个定义了“房间”的 Revit 文件。Revit 文件还包含定义为“一楼”、“二楼”的图纸。当我使用 Forge API 转换它时
我得到了 Revit 3D 视图的 svf 和“一楼”和“二楼”图纸的 f2d 文件。
对于 svf,我能够从 dbids其他帖子中得到脆弱
现在我试图对 f2d 文件做同样的事情。
如果我知道墙壁的形状 dbid 通过使用,我可以改变房间墙壁的颜色
viewer.setThemingColor(dbid, new THREE.Vector4(0, 1, 1,1));
我现在想要做的是能够在 2d 上获得形状的脆弱性,以便我可以获得它使用的线条的开始和停止顶点。我想知道这些顶点,这样我就可以构建一个自定义网格并用颜色填充它以用于房间“孵化”。
我的问题是我不知道 f2d 格式。看起来它是一个网格,让着色器控制线条的颜色。任何人都可以给我任何关于如何进入房间片段列表的指示吗?
这是我用于 3d svf 的
function getFragIdFromDbId(viewer, dbid) {
var returnValue;
var it = viewer.model.getData().instanceTree;
it.enumNodeFragments(dbid, function (fragId) {
//console.log("dbId: " + dbid + " FragId : " + fragId);
returnValue = fragId;
}, false);
return returnValue;
}
当 f2d 具有 viewer.model.getData().instanceTree = undefined 时,我可以使用 f2d 做什么?