Autodesk forge 如何在Forge viewer中聚合二维文档?

Autodesk forge 如何在Forge viewer中聚合二维文档?,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,我想在Forge viewer的同一场景中聚合多个2D图纸。使用传奇的“Office”模型进行测试,以便您轻松复制。加载图纸1时一切正常,加载第二张图纸时,图纸本身与图纸1完全重叠,因此图纸1上的任何图元都不可见。有解决办法吗 是的,我使用的是keepCurrentModels:true: const loadOptions = { keepCurrentModels: true, preserveView: true } viewer.loadDocumentNode(doc, vi

我想在Forge viewer的同一场景中聚合多个2D图纸。使用传奇的“Office”模型进行测试,以便您轻松复制。加载图纸1时一切正常,加载第二张图纸时,图纸本身与图纸1完全重叠,因此图纸1上的任何图元都不可见。有解决办法吗

是的,我使用的是
keepCurrentModels:true

const loadOptions = {
  keepCurrentModels: true,
  preserveView: true
}

viewer.loadDocumentNode(doc, viewable, loadOptions)


不幸的是,与以前一样,现在还不可能使用查看器聚合二维图纸,因此您需要在一个页面上并行处理多个查看器实例,并尝试使用CSS设置实现重叠(这有点老套,显然这种方法有其局限性,因为几何体和事件不会聚合)

观众可能会支持这一点,所以请继续关注我们的官方博客以获取更新


备注:Michael Beale正在“聚合视图”工具上创建一个博客,以支持在图纸之间快速切换,敬请关注。

我有三个关于多模型的提示。 我正在写一篇关于它的博客文章

第一个提示: 为了获得并排的2d图纸,我在选项3D中更改了placementTransform

放置变换注释:

对于上面的gif,我改用AggregateView类。它似乎是一个更干净的API,将来可以处理多个模型

其他多型号提示

(即将发布新的博客帖子):

提示2.超建模-在3D场景中组合3D模型和2D图纸

提示3.快速视图切换(二维图纸之间)

技巧4.隐藏二维图纸的白色背景(主要用于在三维场景中合成)

注: 若要混合背景图像,您是否要查找tip#4?

(即上面的tip#4)

要将两张不同的图纸重叠在一起,请使用上面的两张图纸示例,参见下图和此代码段:

使用模型浏览器隐藏/显示每个层(在图像中,有两个模型):

注意事项:

要使所有内容都“可选”,请执行以下操作:

  • 添加白色“空”二维图纸作为背景
  • 在顶部添加所有其他图纸
  • 将每个工作表的vizFlags[0]=0,但“空”工作表除外

  • 博客帖子即将发布!;-)您是否在选项中尝试了modelSpace:true

    让选项={ placementTransform:new window.THREE.Matrix4(), 模型空间:对, 全局偏移:{x:0,y:0,z:0}, applyRefPoint:true, isAEC:true,//要对齐模型, }

    详情如下:


    谢谢你的提醒。有些二维图形附带背景图纸(例如从revit项目中提取的dwg),有些则没有。例如,此acad示例:。那么有没有一种方法可以直接在查看器中控制或消除背景图纸(隐藏可见性)?实际上,有两种方法可以在查看器中组合二维图纸。。。1.使用“拆分视图”(并为每个视口创建两个摄影机状态)2。使用AggregateView类(请参见上面的答案),它实际上是关于覆盖来自两个不同图形的二维实体,例如带有来自不同文档的墙和管道的楼层平面。因此,我相信所有的选择都不起作用。补充补充答案(提示4)@michaelbeale你能分享一下为#2创建的博文吗。我已经实现了这一点,但通过添加一些转换。不过,我想看看是否有更清洁的解决方案。
                view.viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, target => {
    
                  if (target.model.id > 1)
                    target.model.getFragmentList().vizflags[0] = 0;
                })