我用于使用Forge API开发一个Web应用程序。它工作得很好。同时我在锻造中使用设计自动化。我可以创建Package,它工作正常。
我将使用forge api为查看器准备处理dwg文件。我可以在浏览器中查看dwg。
我的问题是我有查看器点击事件,事件点击填充元素ID。但是,我的包我只能得到对象id。元素id和对象id完全不同。
每个对象客户端和服务器端的conman id是什么。
摘要:当用户单击查看器中的对象时,我想捕获id并存储我的本地数据库。并使用包我需要处理用户点击的对象。
示例:当用户在查看器中单击图纸编号时。从下次开始,我想使用C#代码中的调用包动态更改图纸编号。
答案 0 :(得分:2)
对于RVT文件,处理此问题的一种简单方法是从Forge对象属性中提取Forge externalId
。这等于Revit元素UniqueId
属性。 RvtMetaProp Revit add-in使用了这个。
哦,现在我刚刚找到了Unique IDs for Forge Viewer Elements的更好,更完整和简洁的解释:
在处理Revit文件时,Viewer可以访问三种类型的ID:
dbId
:这是特定于查看器的,用于操纵查看器中的元素,例如.getProperties()
方法。ElementID
:作为查看器中Name
属性的一部分公开。当您选择某些内容时,“属性”面板标题的格式为“名称[12345]”。您可以解析此名称字符串并提取元素ID。UniqueID
:在externalId
回复中公开为.getProperty()
属性。