事先说明,由于本人是刚接触Revit,所有知识点,都是我自己一边研究一边写的。所以,可能是有错误的,若有错误,还望指正和海涵。而且本人还没有编写Revit二开的经验,所以与实际编程可能是有脱节的。
Element估计是元素,这些元素是可以被Revit持久化存储的最小单位。
Reference估计是参照、对象。他应该是一个几何图元,该Reference通常应该会对应一个Element,之所以这么说,如下图,是因为他的构造函数有一个唯一的Element传参。
ReferenceIntersector是对象交叉,我要表达的意思是两个对象之间相交,通过这个类可以找到某一条射线方向上的所有对象Reference。
通过ReferenceIntersector找到的相交对象,会产生对象数据类ReferenceWithContext,由这个类得到对象Reference,于是也就是知道了Element。
ReferenceIntersector只能针对3d视图来使用,因为他的目的是通过相交来找出相交对象。所以,我们可以看到他的构造函数,都必须传入3d视图。
其它的如TargetType参数,应该是指定想要查找的相交对象类型。
然后通过Find(XYZ origin, XYZ direction)和FindNearest(XYZ origin, XYZ direction)这两个方法开始查找。orgigin参数估计是指射线原点,direction是指相交要走的方向,应该是指向量什么的。