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;