问题:
在Revit中,有很多构件可以通过草图来定义其基本图形特征来生成。如楼板、楼梯、层面等。像以上这些构件,如何才能获取到他关联的草图(Sketch)对象呢?
答:
这是一个很好的问题.
每一个楼板, 屋面等都有一个Sketch对象与之关联. 但是Revit却没有提供API来找到二者之间的关系.
这时候有两个办法.
1. 通过遍历Sketch对象,然后找到其中的Profile的线与楼板或屋面的边线相同的Sketch. 这个方法速度快效率高. 但是需要写一些代码来比较线与线之间的关系.
2. 通过启动一个临时事务, 在事务中删除楼板或屋面对象, Document.Delete() 就会返回被删除的对象,其中包括关联的Sketch对象. 然后RollBack/回滚这个事务. 这样模型没有发生改变, 也找到聊Sketch对象. 这个方法的好处是编程简单, 但是执行速度和效率低. 模型很大时, 速度慢. 用这个方法的一个类似博文:
作者: 叶雄进-橄榄山BIM软件首席研发
原文链接: http://blog.csdn.net/joexiongjin/article/details/40515627
转载请注明出处