[Gmsh] Error: Unknown Open Cascade entity. Could not apply Boolean operator

Sathyanarayan Rao sathyanarayan.rao at uclouvain.be
Fri Feb 16 20:01:49 CET 2018


Dear Gmsh team,


I am using a booleanunion to combine two plane surfaces generated by spline functions.


If I set factory to open cascade at beginning of code, then I cannot use Bspline but if I use

it after I define all my spline function, the booleanunion doesn't recognize the surfaces created before.


Can you please tell me a work around ? How do I combine these surfaces as one single surface ?


// mesh size description

cl_1   =  2;
cl_2   =  1;

// boundary points that forms Rhizotron
Point(1) = {-5, -10, 0, cl_1};
Point(2) = {5, -10, 0, cl_1};
Point(3) = {5, 0, 0, cl_1};
Point(4) = {-5, 0, 0, cl_1};


// lines that connect boundary
Line(1) = {1, 2};
Line(2) = {3, 2};
Line(3) = {4, 3};
Line(4) = {1, 4};
Line Loop(4) = {1, -2, -3, -4};

// Mesh Parameters
Mesh.CharacteristicLengthExtendFromBoundary = 0;
Mesh.CharacteristicLengthMax = 2;


// no. of spline surfaces = 2

X1 ={0,0,-0.184,-0.676,-0.7729,-0.8773,-0.9599,-1.194,-1.315,-1.526,-1.599,-1.679,-1.817,-2.236,-2.705,-2.963,-3.165,-3.365,-3.41,-3.499,-3.567,-3.674,-3.767,-3.864,-4.079,-4.152,-4.176,-4.175,-4.253,-4.349,-4.412,-4.455,-4.512,-4.568,-4.606,-4.641,-4.5433,-4.5083,-4.4747,-4.4217,-4.3628,-4.321,-4.2627,-4.1616,-4.0764,-4.0762,-4.0552,-3.991,-3.7831,-3.6828,-3.5911,-3.4828,-3.404,-3.3124,-3.2721,-3.0845,-2.8959,-2.6369,-2.1671,-1.7449,-1.5997,-1.52,-1.4572,-1.2531,-1.1354,-0.89561,-0.80161,-0.69478,-0.61953,-0.13723,0.088029,0.1,0};
Y1 ={0,-0.2636,-0.3414,-0.6213,-0.7443,-0.8732,-0.9609,-1.139,-1.218,-1.401,-1.487,-1.598,-1.771,-2.177,-2.615,-2.853,-3.031,-3.398,-3.648,-4.004,-4.126,-4.277,-4.422,-4.574,-4.851,-5.108,-5.228,-5.457,-5.685,-5.848,-5.957,-6.081,-6.195,-6.319,-6.439,-6.654,-6.6753,-6.4603,-6.3549,-6.2379,-6.1197,-5.9984,-5.8985,-5.7257,-5.4736,-5.2346,-5.1329,-4.8985,-4.6328,-4.4759,-4.333,-4.18,-4.0352,-3.6696,-3.4349,-3.0904,-2.9272,-2.6882,-2.2495,-1.8403,-1.6589,-1.5483,-1.4736,-1.2965,-1.22,-1.0375,-0.93855,-0.80673,-0.70383,-0.42979,-0.31104,1.837e-17,0};


// Define spline surfaces

LN = 91;
nR = #X1[ ];
p0  =  newp;
p   =  p0;
For i In {0:nR-1}
Point(newp)  =    {X1[i], Y1[i], 0, cl_2};
EndFor
p2  =  newp-1;
Spline(91)   =  {p:p2,p};
Line Loop(91) = {91};
Plane Surface(91) = {91};

X2 ={0,0.6623,1.159,1.524,1.654,1.793,1.786,1.82,1.918,2.473,2.551,2.74,2.804,2.827,2.925,2.902,2.8353,2.6431,2.5577,2.0007,1.9187,1.8859,1.8922,1.7531,1.6208,1.248,0.74707,0.084771,0};
Y2 ={-0.2636,-1.322,-2.116,-3,-4.022,-4.975,-5.054,-5.729,-5.859,-6.69,-6.869,-7.322,-7.666,-7.748,-7.728,-7.646,-7.2917,-6.8301,-6.6369,-5.8028,-5.7128,-5.0504,-4.9623,-4.0085,-2.9749,-2.0703,-1.269,-0.21055,-0.2636};


// Define spline surfaces

LN = 92;
nR = #X2[ ];
p0  =  newp;
p   =  p0;
For i In {0:nR-1}
Point(newp)  =    {X2[i], Y2[i], 0, cl_2};
EndFor
p2  =  newp-1;
Spline(92)   =  {p:p2,p};
Line Loop(92) = {92};
Plane Surface(92) = {92};

SetFactory("OpenCASCADE");
aa() = BooleanUnion{ Surface {91}; Delete; }{ Surface {92}; Delete; };
Physical Surface(1) = {aa()};



________________________________
Best Regards,

Sathyanarayan Rao, PhD student
Earth and Life Institute/Environmental Sciences (ELI-e)
Université catholique de Louvain
c.037, Croix du Sud 2, Louvain-la-Neuve, Belgium
Phone: 010473827 ( intercom 73827)

________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20180216/28599331/attachment-0001.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bound.txt
URL: <http://onelab.info/pipermail/gmsh/attachments/20180216/28599331/attachment-0001.txt>


More information about the gmsh mailing list