> On 19 Sep 2018, at 16:43, Matthew Herman <[email protected]> wrote:
> 
> Hello,
> 
> I am running Gmsh 4.0.1 and trying to use Boolean operators to subdivide 
> (potentially complex) surfaces.
> As a simple test, I am cutting a circular hole through a surface. The 
> following .geo file produces exactly what I expect (a hole in a square, 
> planar surface):
> 
> SetFactory("OpenCASCADE");
> Mesh.CharacteristicLengthMin = 0.1;
> Mesh.CharacteristicLengthMax = 0.1;
> Point(1) = {0,0,1};
> Point(2) = {3,0,1};
> Point(3) = {3,3,1};
> Point(4) = {0,3,1};
> Line(1) = {1,2};
> Line(2) = {2,3};
> Line(3) = {3,4};
> Line(4) = {4,1};
> Line Loop(100) = {1,2,3,4};
> Plane Surface(100) = {100};
> Cylinder(200) = {1.5, 1.5, -2, 0, 0, 6, 0.5, 2*Pi};
> BooleanDifference{Surface{100};Delete;}{Volume{200};Delete;}
> 
> 
> In general, though, my surfaces are nonplanar, so I changed the coordinate of 
> Point(1) and Plane Surface -> Surface in the .geo file:
> 
> SetFactory("OpenCASCADE");
> Mesh.CharacteristicLengthMin = 0.1;
> Mesh.CharacteristicLengthMax = 0.1;
> Point(1) = {0,0,1.2};
> Point(2) = {3,0,1};
> Point(3) = {3,3,1};
> Point(4) = {0,3,1};
> Line(1) = {1,2};
> Line(2) = {2,3};
> Line(3) = {3,4};
> Line(4) = {4,1};
> Line Loop(100) = {1,2,3,4};
> Surface(100) = {100};
> Cylinder(200) = {1.5, 1.5, -2, 0, 0, 6, 0.5, 2*Pi};
> BooleanDifference{Surface{100};Delete;}{Volume{200};Delete;}
> 
> 
> When I make this change, the Boolean difference operator no longer cuts a 
> hole out of the curved surface. Gmsh also does not indicate any errors.
> Can someone please explain what is causing this behavior?

With OpenCASCADE the "Surface" command creates a "surface filling" - which I 
have a hard time understanding. For some reason there is something wrong in the 
orientation of wire in surface 100. You can get around this is Gmsh 4.0.1 by 
reversing line 1, i.e. by defining "Line(1) = {2,1};" - which is indeed very 
strange.

I have added a "forced" orientation fix in the creation of surface fillings in 
the GIT version. The next build should thus work without the hack...

Still, we need somebody with better insights into OpenCASCADE to better 
understand what the real problem/solution is. If anybody on the list can help, 
that would be great :-)

Christophe




> Thanks!
> 
> matt
> _______________________________________________
> gmsh mailing list
> [email protected]
> http://onelab.info/mailman/listinfo/gmsh

— 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine

Free software: http://gmsh.info | http://getdp.info | http://onelab.info


_______________________________________________
gmsh mailing list
[email protected]
http://onelab.info/mailman/listinfo/gmsh

Reply via email to