<div dir="ltr"><div>Dear gmsh team, <br></div><div><br></div><div><span class="gmail-tlid-translation gmail-translation"><span title="" class="gmail-">I am trying to create meshes with topography (including bathymetry and other complex embedding bodies).</span> <span title="" class="gmail-">I have made several experiments:</span><br><br><span title="">* Boolean operations with meshes (not supported by gmsh)</span><br><span title="" class="gmail-">* Create flat surfaces and then interpolate them to a given topography (works well but is only valid for a physical material/group)</span>.  <br><br><span title="" class="gmail-">The above led me to try the OpenCASCADE kernel.</span> <span title="">I am learning to use it and I have modified one of its examples:</span></span></div><div><span class="gmail-tlid-translation gmail-translation"><span title=""><br></span></span></div><div><span class="gmail-tlid-translation gmail-translation"><span title="">         SetFactory("OpenCASCADE");<br>         Mesh.CharacteristicLengthMin = 0.5;<br>         Mesh.CharacteristicLengthMax = 0.2;<br>         Box(1) = {0, -1, -1, 2, 2, 2};<br>         Sphere(2) = {0, 0, 0, 1.};<br>         BooleanDifference(3) = { Volume{1}; Delete; }{ Volume{2}; Delete; };</span></span></div><div><span class="gmail-tlid-translation gmail-translation"><span title=""><br></span></span></div><div><span class="gmail-tlid-translation gmail-translation"><span title="">However, my input topography is given as a STL file. Therefore,<span class="gmail-tlid-translation gmail-translation"><span title="" class="gmail-">I would like to know if it is possible to carry out operations such as the following:</span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation"><span title=""><br></span></span></div><div><i><b><span class="gmail-tlid-translation gmail-translation"><span title=""><span class="gmail-tlid-translation gmail-translation"><span title="">         SetFactory("OpenCASCADE");</span></span></span></span></b></i></div><div><i><b><span class="gmail-tlid-translation gmail-translation"><span title=""><span class="gmail-tlid-translation gmail-translation"><span title="">         Merge "Box.stl" ;        // Volume 1<br></span></span></span></span></b></i></div><div><i><b><span class="gmail-tlid-translation gmail-translation"><span title=""><span class="gmail-tlid-translation gmail-translation"><span title="">         Merge "Sphere.stl";     // Volume 2<br></span></span></span></span></b></i></div><div><i><b><span class="gmail-tlid-translation gmail-translation"><span title=""><span class="gmail-tlid-translation gmail-translation"><span title=""></span></span></span></span></b></i></div><div><i><b><span class="gmail-tlid-translation gmail-translation"><span title=""><span class="gmail-tlid-translation gmail-translation"><span title="">         Mesh.CharacteristicLengthMin = 0.5;<br>         Mesh.CharacteristicLengthMax = 0.2;<br>         BooleanDifference(3) = { Volume{1}; Delete; }{ Volume{2}; Delete; };</span></span></span></span></b></i></div><div class="gmail-text-wrap gmail-tlid-copy-target"><div class="gmail-result-shield-container gmail-tlid-copy-target"><span class="gmail-tlid-translation gmail-translation"><span title=""><br></span></span></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><span class="gmail-tlid-translation gmail-translation"><span title=""></span></span></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><span class="gmail-tlid-translation gmail-translation"><span title="">Or something like:</span></span></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><span class="gmail-tlid-translation gmail-translation"><span title=""><br></span></span></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><div><i><b><span class="gmail-tlid-translation gmail-translation"><span title=""><span class="gmail-tlid-translation gmail-translation"><span title="">        SetFactory("OpenCASCADE");</span></span></span></span></b></i></div><div><i><b><span class="gmail-tlid-translation gmail-translation"><span title=""><span class="gmail-tlid-translation gmail-translation"><span title="">         Merge "Volume_Topo.stl" ;         // Volume 1<br></span></span></span></span></b></i></div><div><i><b><span class="gmail-tlid-translation gmail-translation"><span title=""><span class="gmail-tlid-translation gmail-translation"><span title="">         Merge "Volume_No_Topo.stl";     // Volume 2<br></span></span></span></span></b></i></div><div><i><b><span class="gmail-tlid-translation gmail-translation"><span title=""><span class="gmail-tlid-translation gmail-translation"><span title=""></span></span></span></span></b></i></div><div><span class="gmail-tlid-translation gmail-translation"><span title=""><span class="gmail-tlid-translation gmail-translation"><span title=""><i><b>         Mesh.CharacteristicLengthMin = 0.5;<br>         Mesh.CharacteristicLengthMax = 0.2;<br>         BooleanDifference(3) = { Volume{1}; Delete; }{ Volume{2}; Delete; }; </b></i><br></span></span></span></span></div><span class="gmail-tlid-translation gmail-translation"><span title=""></span></span></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><span class="gmail-tlid-translation gmail-translation"><span title=""><br></span></span></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><span class="gmail-tlid-translation gmail-translation"><span title=""></span></span></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><span class="gmail-tlid-translation gmail-translation"><span title="">Is it possible to import STL files and perform boolean operations?</span> <span title="">How to define a volume from Boolean operations between two STL files (previously created)?</span> Actually, the gmsh error is the following: <br></span></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><br></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><b><i>Unknown OpenCASCADE entity of dimension 3 with tag 1</i></b></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><b><i>.... Could not apply boolean operator</i></b><br></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><br><span class="gmail-tlid-translation gmail-translation"></span></div><div class="gmail-result-shield-container gmail-tlid-copy-target"><span class="gmail-tlid-translation gmail-translation"><span title="" class="gmail-">I am very interested in knowing about the best strategy to perform this task.</span> <span title="" class="gmail-">Unfortunately, until now it has not been clear to me how to solve my problem.</span></span><span class="gmail-tlid-translation-gender-indicator gmail-translation-gender-indicator"></span></div></div><div><span class="gmail-tlid-translation gmail-translation"><span title=""><br></span></span></div><div><span class="gmail-tlid-translation gmail-translation"><span title="">Thank you for your time and support</span></span></div><div><span class="gmail-tlid-translation gmail-translation"><span title=""><br></span></span></div><div><span class="gmail-tlid-translation gmail-translation"><span title="">Best regards!<br></span></span></div><div><span class="gmail-tlid-translation gmail-translation"><span title=""><br></span></span></div></div>