Do you (@DavidRutten) perhaps know how I need to use RC to get the result CXC gives here? cxc.gh (8.9 KB)
No, I still don’t know what David’s CXC component finally does. I always thought it’s just calling rg.Intersect.Intersection.CurveCurve, but obviously it doesn’t. But it’s not a Python question, either. Using C# the result would be the same different one…
Your code is fairly similar to what I do, except I specifically handle overlaps:
CurveIntersections x = Intersection.CurveCurve(A, B, DocumentTolerance(), 5 * DocumentTolerance());
List<Point3d> xM = new List<Point3d>(x.Count);
List<double> xA = new List<double>(x.Count);
List<double> xB = new List<double>(x.Count);
for (int i = 0; i < x.Count; i++)
{
Interval lapA = x[i].OverlapA;
Interval lapB = x[i].OverlapB;
xM.Add(0.5 * (x[i].PointA + x[i].PointB));
xA.Add(lapA.T0);
xB.Add(lapB.T0);
if (x[i].IsOverlap)
{
xM.Add(0.5 * (x[i].PointA2 + x[i].PointB2));
xA.Add(lapA.T1);
xB.Add(lapB.T1);
}
}
1 Like