<div dir="ltr"><div dir="ltr">Le jeu. 27 févr. 2020 à 00:58, Christophe Geuzaine <<a href="mailto:cgeuzaine@uliege.be">cgeuzaine@uliege.be</a>> a écrit :</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> On 27 Feb 2020, at 00:02, Francis Giraldeau <<a href="mailto:francis.giraldeau@gmail.com" target="_blank">francis.giraldeau@gmail.com</a>> wrote:<br>
> case = newreg;<br>
> BooleanDifference(case) = { Volume{box1}; Delete; }{ Volume{box2}; };<br>
> <br>
> Physical Volume("case") = {case};<br>
> Physical Volume("box2") = {box2};<br>
> <br>
> // The boundary return also the internal surface<br>
> case_boundary() = Boundary{ Volume{case}; };<br>
<br>
Use CombinedBoundary to remove all internal faces.<br></blockquote><div><br></div><div>Interesting. I tried that and it seems it doesn't work using BooleanDifference. CombinedBoundary also return the internal surfaces in the case above.<br></div><div><br></div><div>However, replacing BooleanDifference by BooleanFragments causes CombinedBoundary to return only the external faces:</div><div><br></div><div>frag() = BooleanFragments { Volume{box1,box2}; Delete; }{ };<br>cb() = CombinedBoundary{Volume{frag()};};<br>Physical Surface("cb") = {cb()};<br></div><div><br></div><div>But when using BooleanFragments, box2 is deleted and cannot be used anymore to create the corresponding physical volume.<br></div><div><br></div><div>Either way, it seems that BoundingBox is necessary to retrieve the volumes or surfaces in order to create the physical groups.<br></div><div><br></div><div>Cheers!</div><div><br></div><div>Francis</div></div></div>