Autodesk.AEC.LevelsExtension 是否可以显示多级?

Is it possible to display multiple levels with Autodesk.AEC.LevelsExtension?

加载 Autodesk.AEC.LevelsExtension 后,我们可以 select 一个楼层:

levelsExt.floorSelector.selectFloor(1, true)

我的问题是,有没有办法select多层?例如 1 楼和 3 楼,或者分机一次只允许 1 楼 selection。

为了完整起见,扩展加载了: levelsExt = await viewer.loadExtension('Autodesk.AEC.LevelsExtension') 而查看器指的是Autodesk Forge Viewer。

该扩展程序一次只允许一个楼层,因为它对 'select' 对象使用剖切平面。如果你想显示 2 个相邻的楼层,我认为可以通过将其中一个切割平面从示例屋顶 1 层移动到屋顶 2 层,将底层 1 保持在原处 - 因此你将拥有 1 层和 2 层。但是它除非您编写自己的扩展程序来进行多切面选择,否则将无法获得 1 楼和 5 楼。下面是做2个相邻楼层选择的例子。

// Select floor 2
const CutPlaneSetName = 'Autodesk.AEC.FloorSelector';
let floorIndex = 2;
floorExtension.floorSelector.selectFloor(floorIndex);

// Capture roof floor 2 
const cuts2 = myviewer.impl.getCutPlaneSet(CutPlaneSetName);

// Select floor 1
floorIndex = 1;
floorExtension.floorSelector.selectFloor(floorIndex);

// Capture roof floor 1 
const cuts1 = myviewer.impl.getCutPlaneSet(CutPlaneSetName);

// Restore roof floor 2
const planes = [ cuts1[0], cuts2[1] ];
myviewer.impl.setCutPlaneSet(CutPlaneSetName, planes);