Autodesk forge A360查看器:获取web应用程序集成的对象属性
我正在尝试将autodesk a360 viewer集成到我的web应用程序中。但是,我们希望提取所选对象的对象属性,以便从数据库中获取其他信息。例如,当用户单击门时,我们需要从对象属性中提取该门的标记id,并使用该标记id执行一些sql查询Autodesk forge A360查看器:获取web应用程序集成的对象属性,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,我正在尝试将autodesk a360 viewer集成到我的web应用程序中。但是,我们希望提取所选对象的对象属性,以便从数据库中获取其他信息。例如,当用户单击门时,我们需要从对象属性中提取该门的标记id,并使用该标记id执行一些sql查询 我看过autodesk forge,但我不太确定这是一种过度使用还是它的发展方向。是的,您想要在forge中实现的目标是绝对可能的。实际上,有两种方法可以获取对象的属性。无论是从服务器端(Model Derivate API)还是客户端(Forge Vie
我看过autodesk forge,但我不太确定这是一种过度使用还是它的发展方向。是的,您想要在forge中实现的目标是绝对可能的。实际上,有两种方法可以获取对象的属性。无论是从服务器端(Model Derivate API)还是客户端(Forge Viewer API),我都在这里列出了它们,以防您感兴趣。但对于您的情况,我认为使用Forge Viewer API的第二种方法更合适 第一个解决方案,使用模型派生API,它提供以下3个API,第一个API用于获取设计模型的模型视图ID列表。然后,您可以使用第二个API为模型视图获取对象的层次列表。使用最后一个API,可以获取由guid表示的指定对象的所有属性 请查看以下3个API的详细信息 获取:urn/metadata 获取:urn/metadata/:guid 获取:urn/metadata/:guid/properties 第二种解决方案是使用Forge Viewer API,首先,您需要注册一个SELECTION\u CHANGED\u event事件,在该事件中,很容易获取所选对象的dbId,并使用API getProperties获取所有需要的属性,然后根据需要使用该属性执行一些sql查询。代码片段如下所示,如果您感兴趣,我有一个小例子来演示解决方案
currentModel.getProperties(dbId, function(result) {
console.log("List properties of DbId:" + dbId);
if (result.properties) {
result.properties.forEach(function(prop) {
// call API to perform sql query with the property you are interested
console.log(prop);
});
};
});
希望能有所帮助。是的,在Forge中,您想要实现的目标是完全可能的。实际上,有两种方法可以获取对象的属性。无论是从服务器端(Model Derivate API)还是客户端(Forge Viewer API),我都在这里列出了它们,以防您感兴趣。但对于您的情况,我认为使用Forge Viewer API的第二种方法更合适 第一个解决方案,使用模型派生API,它提供以下3个API,第一个API用于获取设计模型的模型视图ID列表。然后,您可以使用第二个API为模型视图获取对象的层次列表。使用最后一个API,可以获取由guid表示的指定对象的所有属性 请查看以下3个API的详细信息 获取:urn/metadata 获取:urn/metadata/:guid 获取:urn/metadata/:guid/properties 第二种解决方案是使用Forge Viewer API,首先,您需要注册一个SELECTION\u CHANGED\u event事件,在该事件中,很容易获取所选对象的dbId,并使用API getProperties获取所有需要的属性,然后根据需要使用该属性执行一些sql查询。代码片段如下所示,如果您感兴趣,我有一个小例子来演示解决方案
currentModel.getProperties(dbId, function(result) {
console.log("List properties of DbId:" + dbId);
if (result.properties) {
result.properties.forEach(function(prop) {
// call API to perform sql query with the property you are interested
console.log(prop);
});
};
});
希望能有帮助