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;