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;
}
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;
Duct duct = doc.GetElement(myReference) as Duct;
XYZ xyz = reference.GlobalPoint;
我这个博客废弃不用了,今天想寻找外链的时候,突然想到这个博客权重很高。
有需要免费外链的,留言即可,我准备把这个博客变成免费的友情链接站点。

浙公网安备 33010602011771号