首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动桌面更新架构2014年.NET API C#在链接中找到了空间

自动桌面更新架构2014年.NET API C#在链接中找到了空间
EN

Stack Overflow用户
提问于 2014-06-23 11:30:43
回答 1查看 1.3K关注 0票数 1

我有以下设置:文件A是我的建筑模型,有墙壁,房间,家具。文件B是我的电子机械文件与闪电装置,插座,.文件A链接到文件B,因此该文件B是一个链接文件。

我目前正在创建Revit中的一个加载项,它生成一个元素列表,该列表位于给定的房间内。现在,为主机文件(文件A)中的元素生成这个列表并不难,只需迭代所有元素,检查它是否为Instance,并获得该Instance.Room属性。

但是,对于链接文档(B文件)中的实例,.Room属性总是返回null。

我希望如果有人已经找到了解决这个问题的办法。现在,我看到的唯一解决方案是绑定链接的文档,以便将其转换为一个组。但是,1:我看不出有可能通过API绑定一个链接,而2:转换到一个组中,放弃了链接文档的所有优点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-24 22:02:58

我所做的是使用Document.GetRoomAtPoint(XYZ )方法,并传递主机文件中元素的起始点。

您需要一些逻辑来转换主机和链接文档之间的坐标-请参阅Jeremy的文章以获得更多信息:http://thebuildingcoder.typepad.com/blog/2013/11/determining-host-document-location-of-a-linked-element.html

可以通过Application.Documents属性访问链接文档。您需要一些逻辑来识别哪些加载的文档是宿主模型的链接文档。您可以使用TransmissionData.GetAllExternalFileReferenceIds()和TransmissionData.transmissionData.GetLastSavedReferenceData(elId)检索ExternalFileReference对象,并将其与所有当前加载的文档进行比较。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24364796

复制
相关文章

相似问题

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