<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body>
    <p><font face="Source Sans Pro">Hi Christophe,</font></p>
    <p><font face="Source Sans Pro">Thank you for the quick response. I
        wouldn't feel very comfortable emailing OpenCascade developers
        since I didn't know their project's existence until a google
        search 5 minutes ago – I wouldn't know how to describe the
        problem properly to them, seeing that the gmsh–</font><font
        face="Source Sans Pro">OpenCascade connection is but a black box
        to me, as a naive new user of the program. I would assume
        they'll have heard of the underlying problem though, if this is
        a common operation?</font></p>
    <p><font face="Source Sans Pro">I'd appreciate if there's a possible
        workaround to circumvent this issue from the gmsh side, but
        otherwise I'll have to hope the little glitches don't have a
        serious effect on the results (the results do seem fine).</font></p>
    <p><font face="Source Sans Pro">Best regards,</font></p>
    <p><font face="Source Sans Pro">baptiste<br>
      </font></p>
    <p><font face="Source Sans Pro"><br>
      </font></p>
    <div class="moz-cite-prefix">On 20/04/20 9:22 pm, Christophe
      Geuzaine wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:D37AAA4A-1F7F-4E33-BD38-3F27D5D702AE@uliege.be">
      <pre class="moz-quote-pre" wrap="">
Hi Baptiste,

The issue is with the geometry: OpenCASCADE seems to generate invalid surfaces, that extend outside of the bounding curves. You can check by showing the STL mesh generated by OpenCASCADE itself, e.g. for surface 129.

You could send the attached bug.brep to the OpenCASCADE developers so they can have a look.

Christophe

</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">On 20 Apr 2020, at 10:16, baptiste auguie <a class="moz-txt-link-rfc2396E" href="mailto:auguieba@gmail.com"><auguieba@gmail.com></a> wrote:

Hi,

I'm very new to the program so I may well have overlooked something basic. I adapted one of the examples for constructive geometry with boolean union between a central sphere and a number of conical spikes. I end the shape by rounding off sharp edges with a fillet, but when inspecting the mesh visually I find some strange irregularities where fillet was applied (and applying Smooth 2D doesn't seem to be enough to smoothen them out).

Thankfully the model doesn't seem too bothered by this and produces reasonable results; I'd still be keen to know if the mesh could be improved. I attach the geo file as well as a rendering of the structure for clarity.

Best regards,

baptiste



----

geo file

//+
SetFactory("OpenCASCADE");

Mesh.CharacteristicLengthMin = 0.001;
Mesh.CharacteristicLengthMax = 0.005;
Sphere(1) = {0, 0, 0, 0.030, -Pi/2, Pi/2, 2*Pi};

Cone(2) = {0, 0, 0, -0.043, 0.01, -0.01, 0.015, 0.003, 2*Pi};
Cone(3) = {0, 0, 0, -0.038, -0.024, 0, 0.015, 0.003, 2*Pi};
Cone(4) = {0, 0, 0, -0.034, 0.022, 0.02, 0.015, 0.003, 2*Pi};
Cone(5) = {0, 0, 0, -0.029, -0.004, -0.034, 0.015, 0.003, 2*Pi};
Cone(6) = {0, 0, 0, -0.025, -0.022, 0.03, 0.015, 0.003, 2*Pi};
Cone(7) = {0, 0, 0, -0.02, 0.039, -0.008, 0.015, 0.003, 2*Pi};
Cone(8) = {0, 0, 0, -0.016, -0.036, -0.022, 0.015, 0.003, 2*Pi};
Cone(9) = {0, 0, 0, -0.011, 0.012, 0.042, 0.015, 0.003, 2*Pi};
Cone(10) = {0, 0, 0, -0.007, 0.02, -0.04, 0.015, 0.003, 2*Pi};
Cone(11) = {0, 0, 0, -0.002, -0.042, 0.016, 0.015, 0.003, 2*Pi};
Cone(12) = {0, 0, 0, 0.002, 0.042, 0.016, 0.015, 0.003, 2*Pi};
Cone(13) = {0, 0, 0, 0.007, -0.02, -0.04, 0.015, 0.003, 2*Pi};
Cone(14) = {0, 0, 0, 0.011, -0.012, 0.042, 0.015, 0.003, 2*Pi};
Cone(15) = {0, 0, 0, 0.016, 0.036, -0.022, 0.015, 0.003, 2*Pi};
Cone(16) = {0, 0, 0, 0.02, -0.039, -0.008, 0.015, 0.003, 2*Pi};
Cone(17) = {0, 0, 0, 0.025, 0.022, 0.03, 0.015, 0.003, 2*Pi};
Cone(18) = {0, 0, 0, 0.029, 0.004, -0.034, 0.015, 0.003, 2*Pi};
Cone(19) = {0, 0, 0, 0.034, -0.022, 0.02, 0.015, 0.003, 2*Pi};
Cone(20) = {0, 0, 0, 0.038, 0.024, 0, 0.015, 0.003, 2*Pi};
Cone(21) = {0, 0, 0, 0.043, -0.01, -0.01, 0.015, 0.003, 2*Pi};
BooleanUnion(22) = {Volume{1}; Delete; }{ Volume{2}; Delete; };
BooleanUnion(23) = {Volume{3}; Delete; }{ Volume{22}; Delete; };
BooleanUnion(24) = {Volume{4}; Delete; }{ Volume{23}; Delete; };
BooleanUnion(25) = {Volume{5}; Delete; }{ Volume{24}; Delete; };
BooleanUnion(26) = {Volume{6}; Delete; }{ Volume{25}; Delete; };
BooleanUnion(27) = {Volume{7}; Delete; }{ Volume{26}; Delete; };
BooleanUnion(28) = {Volume{8}; Delete; }{ Volume{27}; Delete; };
BooleanUnion(29) = {Volume{9}; Delete; }{ Volume{28}; Delete; };
BooleanUnion(30) = {Volume{10}; Delete; }{ Volume{29}; Delete; };
BooleanUnion(31) = {Volume{11}; Delete; }{ Volume{30}; Delete; };
BooleanUnion(32) = {Volume{12}; Delete; }{ Volume{31}; Delete; };
BooleanUnion(33) = {Volume{13}; Delete; }{ Volume{32}; Delete; };
BooleanUnion(34) = {Volume{14}; Delete; }{ Volume{33}; Delete; };
BooleanUnion(35) = {Volume{15}; Delete; }{ Volume{34}; Delete; };
BooleanUnion(36) = {Volume{16}; Delete; }{ Volume{35}; Delete; };
BooleanUnion(37) = {Volume{17}; Delete; }{ Volume{36}; Delete; };
BooleanUnion(38) = {Volume{18}; Delete; }{ Volume{37}; Delete; };
BooleanUnion(39) = {Volume{19}; Delete; }{ Volume{38}; Delete; };
BooleanUnion(40) = {Volume{20}; Delete; }{ Volume{39}; Delete; };
BooleanUnion(41) = {Volume{21}; Delete; }{ Volume{40}; Delete; };
f() = Abs(Boundary{ Volume{41}; });
e() = Unique(Abs(Boundary{ Surface{f()}; }));

Fillet{41}{e()}{0.003}


<starn.png><fullstar20.geo><Screen Shot 2020-04-20 at 8.14.36 PM.png>_______________________________________________
gmsh mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gmsh@onelab.info">gmsh@onelab.info</a>
<a class="moz-txt-link-freetext" href="http://onelab.info/mailman/listinfo/gmsh">http://onelab.info/mailman/listinfo/gmsh</a>
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
— 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
<a class="moz-txt-link-freetext" href="http://www.montefiore.ulg.ac.be/~geuzaine">http://www.montefiore.ulg.ac.be/~geuzaine</a>



</pre>
    </blockquote>
  </body>
</html>