Revit二次开发之“取得元素相交点IntersectionResultArray通过LocationCurve.Intersect()”

1.取得元素的曲线,比如风管
LocationCurve元素曲线
LocationCurve curve = duct.Location as LocationCurve;
取得可以根据曲线确定位置的元素的曲线。
2.根据曲线取得交点
IntersectionResultArray交点数组
SetComparisonResult枚举,判断相交类型
SetComparisonResult result = curve1.Intersect(curve2,out intersectionResultArray);
if(SetComparisonResult.Disjoint != result)//相交
{
    XYZ xyz 
= intersectionResultArray.get_Item(0).XYZPoint;
}
3.选取一个元素,可以得到选取点坐标。
reference = sel.PickObject(ObjectType.Element, ductSelectionFilter, "选择第一个风管");
Duct duct 
= doc.GetElement(myReference) as Duct;
XYZ xyz 
= reference.GlobalPoint;
from:http://revit.5d6d.com/thread-1225-1-1.html
posted @ 2011-09-09 08:04  大气象  阅读(2888)  评论(0)    收藏  举报
http://www.tianqiweiqi.com