【问题标题】:Is it possible to display multiple levels with Autodesk.AEC.LevelsExtension?是否可以使用 Autodesk.AEC.LevelsExtension 显示多个级别?
【发布时间】:2021-07-10 06:11:56
【问题描述】:

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

levelsExt.floorSelector.selectFloor(1, true)

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

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

【问题讨论】:

    标签: autodesk-forge autodesk-viewer


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 2019-12-20
      • 1970-01-01
      • 2016-01-04
      • 2012-09-25
      • 2015-02-18
      • 1970-01-01
      相关资源
      最近更新 更多