forge 查看器中的 ModelToSheetTransform 不正确

问题描述 投票:0回答:1

我在视口数据中使用

modelToSheetTransform
来映射 3D 和图纸视图之间的位置。 我有 1 个 3D 视图,其中有一些工作表,但其中 1 个工作表在地图后位置错误,其他工作表是正确的。我是否遗漏了工作表中的某些设置或者我设置错误?

这是我映射位置的代码:

const aecData = await Autodesk.Viewing.Document.getAecModelData(
    viewer.model.getDocumentNode()
  );
const viewport = aecData.viewports.find(
      (v: any) => v.sheetGuid === sheetGuid
    );
const sheetUnitScale = viewer.model.getUnitScale();
modelToSheetTransformMatrix = Autodesk.AEC.AecModelData.get3DTo2DMatrix(
        viewport,
        sheetUnitScale
      ).clone();
    
autodesk-forge autodesk-viewer revit-api autodesk-model-derivative
1个回答
0
投票

不确定生成或保存 Revit 模型的 Revit 模型版本是什么。

可能与一个已知问题有关。您可以尝试在加载“Autodesk.AEC.LevelsExtension”和“Autodesk.AEC.ViewportsExtension”之前省略 modelToSheetTransform 来看看是否有帮助?

let aecData = viewer.model.getDocumentNode().getAecModelData();
aecData.viewports = aecData.viewports.map( vp => { vp.modelToSheetTransform = null; return vp } );

//Before loading 'Autodesk.AEC.LevelsExtension' and 'Autodesk.AEC.ViewportsExtension'

查看者将使用另一种方法来计算变换,但请确保您的平面图和图纸按照此链接中的规则进行配置:

https://stackoverflow.com/a/69941583/7745569

如果上述方法没有帮助,请考虑提供一个重现此问题的测试 Revit 模型给

aps (DOT) help (AT) autodesk (DOT) com
进行调查,并在电子邮件中指出哪些视图可以重现此问题。

参考:

© www.soinside.com 2019 - 2024. All rights reserved.