Curve的Intersect另一个重载方法:
public SetComparisonResult Intersect( Curve curve, out IntersectionResultArray resultArray )
IntersectionResultArray里就是你要的重叠数据。
你好,
我也尝试了:
line1:Line.CreateBound(new XYZ(0, 0, 0), new XYZ(100, 0, 0))
line2:Line.CreateBound(new XYZ(40, 0, 0), new XYZ(90, 0, 0))
的Intersect情况,确实为equal,IntersectionResultArray为null。
我认为RevitAPI是将两个Bound Curve同线的这种情况视为Equal。(Subset与Superset要求至少有一个为unBound Curve)。这种情况重叠部分数据可以直接通过Length比较拿到较短的那个curve。
建议官方最好再释义下。这个例子是很好的Example。@jing_shen