c# - 跟踪 Revit 2018/ 2019 中的元素编辑或元素编辑事件
问题描述
我正在开发一个项目,该项目在 Revit 2018 和 Revit 2019 中为主体元素添加钢筋。在我的代码为主体元素重新生成钢筋钢筋后,我不知道用户是否手动编辑了我的主体或我的钢筋(由我的代码生成, 当然)。我只是想出了这两个想法:
在我的代码生成钢筋时,将所有钢筋和主机信息存储到主机的可扩展存储(字面意思是每个属性、ID 等)中。当我再次调用我的代码在主机上工作时,我会将所有当前信息与主机实体中保存的信息进行比较,以找出已更改的内容。显然,这种方法会花费我很多,并且会对性能产生巨大的影响。
通过“元素 - 编辑 - 事件”捕捉用户可能对我的钢筋和主机所做的所有更改。但是,我似乎无法找到适合我需要的正确事件。我已经尝试过 Element 和 Document 事件以及 ITransactionFinalizer 类,但没有结果。
我在哪里可以找到我想要的活动或如何实现我想要的?非常欢迎另一种更好的方法。谢谢大家。
解决方案
恭喜您自己发现了跟踪元素修改的链接。我也会指出这一点。您可能还想查看该项目的 GitHub 存储库,以及后续项目的想法:
期待听到您的最终解决方案。如果它的通用性足以引起其他人的兴趣,我很乐意在博客上为您分享。谢谢!
推荐阅读
- bash - 从具有二进制模式字符串的文件中删除行
- gcc - GNU LD 链接描述文件 - 堆栈放置
- php - PHP JSON_encode() 得到“格式错误的 UTF-8 字符,可能编码不正确”(错误)
- python - Python写入和读取数组列表
- twilio - Twilio 会议录制状态回调 URL 未触发
- android - ionic cordova run android --device 成功但应用程序未在手机上显示
- java - spring boot java项目上的/BOOT-INF/classes(没有这样的文件或目录)
- excel - 基于单元格值的VBA Excel运行报警信息列表
- android - 将日期和时间转换回毫秒
- python-3.x - 如何关闭在 Python/pythoncom/comtypes 中打开的 Windows 便携式设备 IStream