Create Surfaces not working as expected (OCC)
I created a cylinder which is splitted into different circumferential areas. But one surface is not looking as I expected it
Circle ( expression ) = { expression, expression, expression <, ...> }; Creates a circle arc. The three expressions on the right-hand-side define the start point, the center and the end point of the arc. With the built-in geometry kernel the arc should be strictly smaller than Pi. With the OpenCASCADE kernel additional expressions can be provided to define a full circle (4th expression is the radius) or a circle arc between two angles (next 2 expressions).
Its also not a corner case because the OCC Kernel is used.
SetFactory("OpenCASCADE");
Rx1 = 40; Ry1 = 40;
Rx2 = 40; Ry2 = 40;
Rx3 = 15; Rz3 = 15;
Rx4 = 15; Rz4 = 15;
// Start Endpoint
P1_x = 0; P1_y = 0; P1_z = 0;
P2_x = 0; P2_y = 0; P2_z = 100;
// Crossection start
MP = newp;
Point(MP) = {P1_x, P1_y, P1_z, 1.0};
AP = newp;
Point(AP+0) = {P1_x+Rx1, P1_y, P1_z, 1.0};
Point(AP+2) = {P1_x-Rx1, P1_y, P1_z, 1.0};
Point(AP+3) = {P1_x, P1_y-Ry1, P1_z, 1.0};
l = newl;
Circle(l+0) = {AP+0, MP, AP+3};
Circle(l+1) = {AP+2, MP, AP+3};
Circle(l+2) = {AP+2, MP, AP+0};
// Crosssection end
M2P = newp;
Point(M2P) = {P2_x, P2_y, P2_z, 1.0};
R2P = newp;
Point(R2P+0) = {P2_x+Rx2, P2_y, P2_z, 1.0};
Point(R2P+2) = {P2_x-Rx2, P2_y, P2_z, 1.0};
Point(R2P+3) = {P2_x, P2_y-Ry2, P2_z, 1.0};
d = newl;
Circle(d+0) = {R2P+0, M2P, R2P+3};
Circle(d+1) = {R2P+2, M2P, R2P+3};
Circle(d+2) = {R2P+2, M2P, R2P+0};
loop2 = newll;
Curve Loop(loop2) = {d+2, d, -(d+1)};
// connect crosssections
v = newl;
Line(v+0) = {AP+0, R2P+0};
Line(v+1) = {AP+2, R2P+2};
Line(v+2) = {AP+3, R2P+3};
// create surfaces
lk = newll;
Curve Loop(lk) = {l, v+2, -(d), -(v)};
s = news;
Surface(s) = {lk};
lm = newll;
Curve Loop(newll) = {l+1, v+2, -(d+1), -(v+1)};
Surface(s+1) = {lm};
ln = newll;
Curve Loop(newll) = {-(l+2), v, -(d+2), -(v+1)};
Surface(s+2) = {ln};
Edited by Julian Henneberg