<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:699861046;
        mso-list-type:hybrid;
        mso-list-template-ids:1460854728 201916431 201916441 201916443 201916431 201916441 201916443 201916431 201916441 201916443;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:2058166265;
        mso-list-template-ids:-2106406432;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-AU" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">I have partially addressed my issue. Whilst the GUI seems unable to add a volume for my geometry (i.e. after selecting the surfaces that would form a closed shell, it doesn’t give me the option to create the volume), the Gmsh API succeeds
 using the gmsh/model/occ/addSurfaceLoop and gmsh/model/occ/addVolume functions. Interestingly, the Gmsh API succeeds at creating the surface loop regardless of whether the sewing flag is true or false, which makes it puzzling why the Gmsh GUI fails.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I don’t think I understand sewing. None of my surfaces are connected by topologically identical boundary entities, which I presume to mean having common boundary entity tags (it is impossible since the surface boundary entities are created
 automatically, as discussed in my previous email), albeit they are connected by geometrically identical boundaries (to within a tolerance). If my understanding of “topologically identical” is correct, then the Gmsh documentation indicates that if sewing is
 false then it should fail, but it doesn’t. Moreover, even if I set the geometrical tolerance and Boolean tolerance to zero, it still succeeds. One difference I did find was that when the sewing flag is true, adding a surface loop appears to duplicate all the
 surfaces involved and their boundaries, whilst having the sewing flag set to false does not. Are you able to offer any further explanation to help clarify what it means to be “topologically identical”, and clarify whether the sewing behaviour I am observing
 is correct?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards,<o:p></o:p></p>
<p class="MsoNormal">Stephen<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="mso-fareast-language:EN-AU">From:</span></b><span lang="EN-US" style="mso-fareast-language:EN-AU"> Banks, Stephen (Energy, Clayton North)
<br>
<b>Sent:</b> Monday, 14 December 2020 5:36 PM<br>
<b>To:</b> gmsh@onelab.info<br>
<b>Subject:</b> Silently created boundary entities<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am using Gmsh v4.8.0. When I create a NURBS surface by calling the
<span style="font-size:9.0pt;font-family:"Courier New";color:#252525;background:white">
gmsh/model/occ/addBSplineSurface </span>function in the Gmsh API, the function silently adds points and lines (presumably to create the boundary entities):<o:p></o:p></p>
<ol style="margin-top:0cm" start="1" type="1">
<li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo3">What is the recommended method to identify these silently added entities? Is it to call
<span style="font-size:9.0pt;font-family:"Courier New";color:#252525;background:white">
gmsh/model/occ/getEntities</span> before and after calling addBSplineSurface to see what has been added?<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo3">Is it possible to replace these boundary entities (lines and points) so that I can get the topology correct?<o:p></o:p></li></ol>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">After reading the comments in the makeTrimmedSurface() function, found in the Gmsh source code file GModelIO_OCC.cpp, I suspect (2) has been attempted in the past, but abandoned in preference for relying upon Geometry.Tolerance and Geometry.ToleranceBoolean
 to allow operations to succeed for topologically different yet geometrically identical (to within tolerance) entities. Is this correct?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">My motivation for asking is I have been constructing geometry using the Gmsh API OpenCASCADE kernel functions, then synchronising, then calling
<span style="font-size:9.0pt;font-family:"Courier New";color:#252525;background:white">
gmsh/fltk/run</span> to experiment with how I should control the Gmsh API. For some reason, the FLTK graphical user interface is not allowing me to successfully add a volume, which I have presumed to be due to incorrect topology (as my original approach for
 constructing a geometry resulted in lots of geometrically identical entities). As such, I have been put in effort to avoid geometrically identical entities to get the topology I want, but the addBSplineSurface is preventing me from being successful.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Many thanks,<o:p></o:p></p>
<p class="MsoNormal">Stephen<span style="font-size:9.0pt;color:black;mso-fareast-language:EN-AU"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>