Dear Thomas,
Thank you for the RVT sample model and macro.
For the sake of completeness and convenience for others reading this thread, here is the macro code, adapted to run in Revit 2018.2:
private void MakeBoundCurve(ref Curve crv)
{
double length;
try
{
length = crv.Period;
}
catch
{
length = crv.Length;
}
crv.MakeBound(0.0, length);
}
public void ComparisonResultError()
{
//Document doc = ActiveUIDocument.Document;
Document doc = this.Document;
UIDocument uiDoc = new UIDocument(doc);
//Pick the first ellipse arc element
Reference refCrvA = uiDoc.Selection.PickObject(ObjectType.Element);
ModelCurve modelCurveA = (ModelCurve)doc.GetElement(refCrvA.ConvertToStableRepresentation(doc));
//Pick the first ellipse arc element
Reference refCrvB = uiDoc.Selection.PickObject(ObjectType.Element);
ModelCurve modelCurveB = (ModelCurve)doc.GetElement(refCrvB.ConvertToStableRepresentation(doc));
Curve crvA = modelCurveA.GeometryCurve;
Curve crvB = modelCurveB.GeometryCurve;
MakeBoundCurve(ref crvA);
MakeBoundCurve(ref crvB);
SetComparisonResult intersectTest = crvA.Intersect(crvB);
TaskDialog td = new TaskDialog("Bimorph")
{
Title = "Comparison Result",
MainContent = "SetComparisonResult : " + intersectTest.ToString()
};
td.Show();
}
It does indeed display 'Equal' for the two different halves of each ellipse, e.g., top and bottom, or left and right.
I logged the issue REVIT-125235 [Curve.Intersect returns SetComparisonResult.Equal for different ellipses -- 13761690] with our development team for this on your behalf as it requires further exploration and possibly a modification to our software. Please make a note of this number for future reference.
You are welcome to request an update on the status of this issue or to provide additional information on it at any time quoting this change request number.
This issue is important to me. What can I do to help?
This issue needs to be assessed by our engineering team, and prioritised against all other outstanding change requests. Any information that you can provide to influence this assessment will help. Please provide the following where possible:
- Impact on your application and/or your development.
- The number of users affected.
- The potential revenue impact to you.
- The potential revenue impact to Autodesk.
- Realistic timescale over which a fix would help you.
- In the case of a request for a new feature or a feature enhancement, please also provide detailed Use cases for the workflows that this change would address.
This information is extremely important. Our engineering team have limited resources, and so must focus their efforts on the highest impact items. We do understand that this will cause you delays and affect your development planning, and we appreciate your cooperation and patience.
Thank you!
Best regards,
Jeremy