Consider this example:
R1 = 1.0;
R2 = 2.0;
Point(1) = { 0.0, 0.0, 0.0 };
Point(2) = { R1 * Cos(0), R2 * Sin(0), 0.0 };
Point(3) = { R1 * Cos(Pi/2), R2 * Sin(Pi/2), 0.0 };
Point(4) = { R1 * Cos(Pi), R2 * Sin(Pi), 0.0 };
Point(6) = { R1 * Cos(Pi/6), R2 * Sin(Pi/6), 0.0 };
Point(7) = { R1 * Cos(5*Pi/6), R2 * Sin(5*Pi/6), 0.0 };
Ellipse(1) = { 2, 1, 3, 7 }; // Ok
Ellipse(2) = { 6, 1, 3, 7 }; // Wrong
Ellipse 2 is wrong. It is worth noticing that a Circle arc under the same conditions works fine:
R = 1.0;
Point(1) = { 0.0, 0.0, 0.0 };
Point(2) = { R * Cos(Pi/6), R * Sin(Pi/6), 0.0 };
Point(3) = { R * Cos(5*Pi/6), R * Sin(5*Pi/6), 0.0 };
Circle(1) = { 2, 1, 3 };
A workaround is to draw the ellipse in two pieces:
Ellipse(4) = { 6, 1, 3, 3 };
Ellipse(5) = { 3, 1, 3, 7 };

Yes, this is a known limitation of the internal CAD description of circles and ellipses.
Basically, only angles < Pi are supported.
Leaving open, although it will probably not be fixed until the transition to an actual CAD kernel is fully completed.

Thanks.
I'm aware of the limitation on angles < Pi, but in this case I was expecting an ellipse arc of angle 2/3*Pi (the other piece of the full ellipse).
Notice that the circle works well. And looking at the source code (Geo.cpp I think) circles and ellipses are handled in the same block, so it is strange.

Milestone deleted

Please register or sign in to post a comment