Reactjs 使用Forge查找自定义点坐标
我使用的是Autodesk Forge node.js,javascript使用了一点,完全是全新的!。 我有一个矩形的3D对象。每个角上都有一个点,具有真实世界坐标lat、lon、z 这些坐标可以与查看器中的属性面板一起显示 我想从代码中访问它们,但我在任何地方都找不到它们 起初,我以为他们会在:Reactjs 使用Forge查找自定义点坐标,reactjs,properties,coordinates,autodesk-forge,database-metadata,Reactjs,Properties,Coordinates,Autodesk Forge,Database Metadata,我使用的是Autodesk Forge node.js,javascript使用了一点,完全是全新的!。 我有一个矩形的3D对象。每个角上都有一个点,具有真实世界坐标lat、lon、z 这些坐标可以与查看器中的属性面板一起显示 我想从代码中访问它们,但我在任何地方都找不到它们 起初,我以为他们会在: window.NOP_VIEWER.model.getData().metadata 但是什么都没有 这是我在查看器中看到的图片。因为我可以在属性面板中看到它们,所以我应该能够访问它们 我试着用这
window.NOP_VIEWER.model.getData().metadata
但是什么都没有
这是我在查看器中看到的图片。因为我可以在属性面板中看到它们,所以我应该能够访问它们
我试着用这个:
window.NOP_VIEWER.model.getBulkProperties('1',
function(properties){console.log(properties);},
function(error){console.log(error);})
如果你认为是这样的话,它会返回一个惊人长的字段名列表。
当我尝试将其放入变量时,它返回“undefined”。所以我无论如何都无法访问里面的内容
还尝试了getProperties,但我认为我没有用正确的方式编写它,它也不起作用
我还尝试了som GET请求来查找对象属性,但得到的结果是:
{
"data": {
"type": "objects",
"objects": [
{
"objectid": 1,
"name": "Model",
"objects": [
{
"objectid": 2691,
"name": "Sols",
"objects": [
{
"objectid": 2692,
"name": "Sol",
"objects": [
{
"objectid": 2693,
"name": "Dalle en béton - 250 mm",
"objects": [
{
"objectid": 2694,
"name": "Sol [236041]"
}
]
}
]
}
]
},
{
"objectid": 2711,
"name": "Modèles génériques",
"objects": [
{
"objectid": 2712,
"name": "Point_Georeferencement",
"objects": [
{
"objectid": 2713,
"name": "Point_Georeferencement",
"objects": [
{
"objectid": 2714,
"name": "Point_Georeferencement [236831]"
},
{
"objectid": 2715,
"name": "Point_Georeferencement [236836]"
},
{
"objectid": 2716,
"name": "Point_Georeferencement [236843]"
},
{
"objectid": 2717,
"name": "Point_Georeferencement [236846]"
}
]
}
]
}
]
}
]
}
]
}
}
但是我找不到访问点的名称或值的方法
有人可以帮忙吗?NOP\u查看器是访问当前查看器的全局变量。您可以从中调用:
.getProperties:这需要1个dbId,一种简单的尝试方法是:
NOP_VIEWER.addEventListener(Autodesk.Viewing.SELECTION_CHANGED_EVENT, function (e) {
e.dbIdArray.forEach(function (dbId) {
NOP_VIEWER.getProperty(dbId, function (props) {
console.log(props)
})
})
});
.model.getBulkProperties:它接收到一个元素数组,只返回您指定的属性:
NOP_VIEWER.addEventListener(Autodesk.Viewing.SELECTION_CHANGED_EVENT, function (e) {
viewer.model.getBulkProperties(e.dbIdArray, ['RefX', 'RefY'], function (elements) {
elements.forEach(function(element){
console.log(element);
})
})
});
您也可以将它与.search或by结合使用。事实上,我在访问dbId时遇到了问题,但是是的,它工作得很好,因为我忘记了早些时候发布我的答案。如果我在代码中将NOP_VIEWER用作变量,我仍然会得到未定义的值。我正在使用Typescript,所以我尝试这样声明:var NOP_VIEWER:any={};甚至像这样:var NOP_VIEWER=windowas any.NOP_VIEWER;但什么都没用。你知道可能是什么问题吗?