微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以使用 Autodesk.AEC.LevelsExtension 显示多个级别?

如何解决是否可以使用 Autodesk.AEC.LevelsExtension 显示多个级别?

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

levelsExt.floorSelector.selectFloor(1,true)

我的问题是,有没有办法选择多个楼层?比如1楼和3楼,还是分机一次只能选1层。

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

解决方法

扩展每次只允许一层,因为它使用剖切面来“选择”对象。如果您想显示 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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。