首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检索Forge?

如何检索Forge?
EN

Stack Overflow用户
提问于 2016-08-11 19:51:35
回答 2查看 3K关注 0票数 2

我的目标是根据我在revit中创建的线条为查看器添加新的几何图形,以突出显示一个房间,就像这里所做的,链接

但我不知道如何访问这些行ids。我知道它们在revit (element_id)中是什么,但不知道它们是如何映射为dbid的。

遵循这个博客邮报

我想访问我的扩展中的objectTree来查找,但是它总是以未定义的形式返回。

代码语言:javascript
复制
var tree;
//old way - viewer is your viewer object - undefined
viewer.getObjectTree(function (objTree) {
 tree = objTree;
});

//2.5 -未定义

代码语言:javascript
复制
  var instanceTree = viewer.model.getData().instanceTree;
  var rootId = this.rootId = instanceTree.getRootId();

//-未定义

代码语言:javascript
复制
  var objectTree = viewer.getObjectTree();

有人能告诉我它是否仍然适用于他们吗?我正在使用API的v2来将rvt转换为svf,并使用viewer3D.js的2.9

注意,我可以看到一个dbid的列表,如果我称之为

代码语言:javascript
复制
var model = viewer.impl.model;
var data = model.getData();
var fragId2dbIdArray = data.fragments.fragId2dbId ;

但无法映射回Revit element_id

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-12 02:36:14

到2.9版时,这仍然有效。这是我的控制台:

下面是几件你可以尝试的事情:

  1. viewer是否未定义?抓取viewer时,您在正确的范围内吗?
  2. 在抓取实例树之前,必须加载文档。加载文档时,将触发一个名为Autodesk.Viewing.GEOMETRY_LOADED_EVENT的事件,然后可以开始操作实例树。

只需这样做:

代码语言:javascript
复制
viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, function () {
var instanceTree = viewer.model.getData().instanceTree;
});

对于更多结构化代码,请按照本指南添加一个扩展。

有一个更详细的博客文章,在哪个事件上要监听。不过,它仍然在使用旧的方法来获取实例树。

票数 5
EN

Stack Overflow用户

发布于 2016-08-12 04:09:53

罗世雅是对的,观众还没有完成几何图形的加载。

在扩展加载函数中,我添加了两个事件侦听器,并确保它们都在尝试访问instanceTree之前触发。

代码语言:javascript
复制
 viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, function () {
    finishedGEOMETRY_LOADED_EVENT = true;
    if(finishedGEOMETRY_LOADED_EVENT && finishedOBJECT_TREE_CREATED_EVENT ){
        afterModelLoadEvents(viewer);
    }
 });
viewer.addEventListener(Autodesk.Viewing.OBJECT_TREE_CREATED_EVENT, function () {
    finishedOBJECT_TREE_CREATED_EVENT = true;
    if(finishedGEOMETRY_LOADED_EVENT && finishedOBJECT_TREE_CREATED_EVENT ){
        afterModelLoadEvents(viewer);           
    }
 });
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38904993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档