<html 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=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
@font-face
{font-family:Menlo;
panose-1:2 11 6 9 3 8 4 2 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 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;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
code
{mso-style-priority:99;
font-family:"Courier New";}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
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;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
span.EmailStyle21
{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:58526236;
mso-list-type:hybrid;
mso-list-template-ids:1087512236 -2017197446 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-font-family:Calibri;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l1
{mso-list-id:484592426;
mso-list-type:hybrid;
mso-list-template-ids:-1518674684 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l1:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l1:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l2
{mso-list-id:1591699970;
mso-list-type:hybrid;
mso-list-template-ids:-1359949576 294421940 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
{mso-level-start-at:0;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-font-family:Calibri;}
@list l2:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l2:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l2:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l2:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l2:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l2:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l2:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l2:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style>
</head>
<body lang="EN-CA" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi Jacky<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Let me try to be clearer. Let’s say you have a surface floating in space, which seems to be your case.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">You can create a wall around your surface, by creating new geometry around your surface, which we will say is your wall. On the wall, you need to connect boundary edges with the floor (at z=0).
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">So set’s say you find a boundary edge with points a and b<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo3"><span lang="EN-US">Add 2 points to your polydata. (xa, ya, 0), (xb, yb, 0)<o:p></o:p></span></li></ul>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Then you create a quad that goes like this:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">(xa,ya,za), <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> (xb,yb,zb)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"></span>(xb,yb,0)<o:p></o:p></p>
<p class="MsoNormal">(xa,ya,0)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Or if you prefer you can create 2 triangles:<o:p></o:p></p>
<p class="MsoNormal">(xa,ya,za), <o:p></o:p></p>
<p class="MsoNormal"> (xb,yb,zb)<o:p></o:p></p>
<p class="MsoNormal">(xb,yb,0)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">(xb,yb,0)<o:p></o:p></p>
<p class="MsoNormal">(xa,ya,0)<o:p></o:p></p>
<p class="MsoNormal">(xa,ya,za), <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Anyway, after you create your walls at each boundary edge, you end up with walls that go all around your surface, but with no horizontal surface at the bottom. Maybe this is important to you, maybe not.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If it’s important, you can create a duplicate copy of your top surface, but in the copy, set all your point’s Z to 0.0.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This will flatten out the copy of your top surface and place it at Z=0, connecting to the bottom of your wall that you created all around your surface<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">You will end up with a volume with the sides and bottom capped off.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Patrick.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Jacky Nguyen <jackynguyen.km@gmail.com><br>
<b>Date: </b>Monday, July 16, 2018 at 5:12 AM<br>
<b>To: </b>Patrick Bergeron <pbergeron@spiria.com><br>
<b>Cc: </b>"vtkusers@public.kitware.com" <vtkusers@public.kitware.com><br>
<b>Subject: </b>Re: [vtkusers] Close the gap between a mesh and a planar<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><a name="_MailOriginalBody">Thanks for your input. <o:p></o:p></a></p>
<div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">Sorry, I am new to these so I need to take it slowly. <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">Let me clarify a few things:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">1) by using your approach, i don't need to create the plane on the bottom of the object as a holder?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">2) When you say "</span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.5pt">For each boundary edge, create 2 triangles (a quad) with 1 or 2 points at z=0", does it matter
which x and y coordinate to pick?</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.5pt">I have added the following codes to extract the edges and find the pointID and point coordinate for each edge in the STL object. I trace through my console log,
and there is no point that has z = 0</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
<div>
<pre style="background:#2B2B2B"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">reader = vtk.vtkSTLReader()<br>reader.SetFileName(</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#6A8759">'</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">path_to_stl</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#6A8759">'</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">)<br>reader.Update()<br><br>triangleFilter = vtk.vtkTriangleFilter()<br>triangleFilter.SetInputConnection(reader.GetOutputPort())<br>triangleFilter.Update()<br><br></span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:gray"># ++++++++++++++++++ extract edges ++++++++++++++++++++++++++++++++++++<br><br></span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">featureEdges = vtk.vtkFeatureEdges()<br>featureEdges.SetInputData(triangleFilter.GetOutput())<br>featureEdges.SetBoundaryEdges(</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#6897BB">1</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">)</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:gray"><br></span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">featureEdges.SetFeatureEdges(</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#6897BB">0</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">)<br>featureEdges.SetNonManifoldEdges(</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#6897BB">0</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">)<br>featureEdges.SetManifoldEdges(</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#6897BB">0</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">)<br>featureEdges.Update()<br>boundaryMesh = featureEdges.GetOutput()<br>numberOfOpenEdges = featureEdges.GetOutput().GetNumberOfLines()<br></span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#8888C6">print</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">(</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#6A8759">'number of lines: '</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#CC7832">, </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">featureEdges.GetOutput().GetNumberOfLines())<br></span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#CC7832">for </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">i </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#CC7832">in </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#8888C6">range</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">(</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#6897BB">0</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#CC7832">, </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">boundaryMesh.GetNumberOfLines()):<br> cell = boundaryMesh.GetCell(i)<br> cellPoints = cell.GetPoints()<br> pointIds = cell.GetPointIds()<br> </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#CC7832">for </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">j </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#CC7832">in </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#8888C6">range</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">(</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#6897BB">0</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#CC7832">, </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">pointIds.GetNumberOfIds()):<br> </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#8888C6">print</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">(</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#6A8759">'>>> point id: '</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#CC7832">, </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">pointIds.GetId(j))<br> </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#8888C6">print</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">(</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#6A8759">'>>> coordinate: '</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#CC7832">, </span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.0pt;font-family:Menlo;color:#A9B7C6">boundaryMesh.GetPoint(pointIds.GetId(j)))<o:p></o:p></span></span></pre>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:9.5pt">Thank you,</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">On Fri, Jul 13, 2018 at 10:10 PM Patrick Bergeron <</span><a href="mailto:pbergeron@spiria.com"><span style="mso-bookmark:_MailOriginalBody">pbergeron@spiria.com</span><span style="mso-bookmark:_MailOriginalBody"></span></a><span style="mso-bookmark:_MailOriginalBody">>
wrote:<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">I would take a different approach.
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">I would look at all the edges that have only 1 cell attached, and these are your boundary edges. <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">For each boundary edge, create 2 triangles (a quad) with 1 or 2 points at z=0. (Create 2 new points at z=0 for this purpose). If you already have a point at that z=0, then reuse it don’t create
it. <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">That approach will create quads all around your geometry connecting to the bottom but will leave the bottom hole open.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">Next create a cell connecting all your z=0 points together. Make sure they are ordered in sequential order to create your contour loop.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">Done<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
<div>
<div id="m_3919039928470042052AppleMailSignature">
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">Sent from my iPhone<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="mso-bookmark:_MailOriginalBody"><br>
On Jul 13, 2018, at 05:10, Jacky Nguyen <</span><a href="mailto:jackynguyen.km@gmail.com" target="_blank"><span style="mso-bookmark:_MailOriginalBody">jackynguyen.km@gmail.com</span><span style="mso-bookmark:_MailOriginalBody"></span></a><span style="mso-bookmark:_MailOriginalBody">>
wrote:<o:p></o:p></span></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729">I have converted an .obj mesh file to .stl. I also created a planar geometry as a holder for the mesh object then merge
them. However, it contains a gap. Any suggestion how to close the gap vertically so that it becomes a solid object, I have already tried vtkFillHolesFilter, but it won't fill the gap?</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729"><br>
<br>
</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729;background:white">The code to create the planar:</span></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729"><br>
<br>
</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729;background:white"><br>
<br>
</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<pre style="background:#EFF0F1;vertical-align:baseline;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;box-sizing:inherit;max-height:600px;word-wrap:normal;text-decoration-style:initial;text-decoration-color:initial;overflow:auto"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">implicitPolyDataDistance = vtk.vtkImplicitPolyDataDistance()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">implicitPolyDataDistance.SetInput(stl_poly_data)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"><o:p> </o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">#create a grid<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">xCoords = vtk.vtkFloatArray()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">for x, i in enumerate(np.linspace(xmin, xmax,50)):<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"> xCoords.InsertNextValue(i)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"><o:p> </o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">yCoords = vtk.vtkFloatArray()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">for y, i in enumerate(np.linspace(ymin, ymax, 50)):<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"> yCoords.InsertNextValue(i)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"><o:p> </o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">zCoords = vtk.vtkFloatArray()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">for z, i in enumerate(np.linspace(zmin, zmin + 1, 50)):<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"> zCoords.InsertNextValue(i)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"><o:p> </o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">rgrid = vtk.vtkRectilinearGrid()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">rgrid.SetDimensions(x + 1, y + 1 , z + 1)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">rgrid.SetXCoordinates(xCoords)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">rgrid.SetYCoordinates(yCoords)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">rgrid.SetZCoordinates(zCoords)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">signedDistances = vtk.vtkFloatArray()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">signedDistances.SetNumberOfComponents(1)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">signedDistances.SetName("SignedDistances")<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"><o:p> </o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"># Evaluate the signed distance function at all of the grid points<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">for pointId in range(rgrid.GetNumberOfPoints()):<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"> p = rgrid.GetPoint(pointId)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"> signedDistance = implicitPolyDataDistance.EvaluateFunction(p)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"> signedDistances.InsertNextValue(signedDistance)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"><o:p> </o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"># add the SignedDistances to the grid<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">rgrid.GetPointData().SetScalars(signedDistances)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"><o:p> </o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"># geometry filter to view the background grid<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">geometryFilter = vtk.vtkRectilinearGridGeometryFilter()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">geometryFilter.SetInputData(rgrid)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">geometryFilter.SetExtent(0, x + 1, 0, y + 1, (z + 1) // 2, (z + 1) // 2)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">geometryFilter.Update()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"># ================ END creating a plane =======================</span></code></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-family:Consolas;color:#242729;background:white"><o:p></o:p></span></span></pre>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729;background:white"><br>
<br>
</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729;background:white">The code that merge the stl poly data and the plane:<br>
<br>
</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<pre style="background:#EFF0F1;vertical-align:baseline;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;box-sizing:inherit;max-height:600px;word-wrap:normal;text-decoration-style:initial;text-decoration-color:initial;overflow:auto"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">meshAppend = vtk.vtkAppendPolyData()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">meshAppend.AddInputData(stl_poly_data)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">meshAppend.AddInputData(geometryFilter.GetOutput())<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">meshAppend.Update()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">boundaryClean = vtk.vtkCleanPolyData()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">boundaryClean.SetInputData(meshAppend.GetOutput())<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">boundaryClean.Update()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">out = vtk.vtkPolyData()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">out.DeepCopy(boundaryClean.GetOutput())<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"><o:p> </o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">triangleTrans = vtk.vtkTriangleFilter()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">triangleTrans.SetInputData(out)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">triangleTrans.Update()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1"><o:p> </o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">fill = vtk.vtkFillHolesFilter()<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">fill.SetInputData(out)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">fill.SetHoleSize(1000000.0)<o:p></o:p></span></code></span></pre>
<pre style="background:#EFF0F1;vertical-align:baseline"><span style="mso-bookmark:_MailOriginalBody"><code><span style="font-family:Consolas;color:#242729;border:none windowtext 1.0pt;padding:0cm;background:#EFF0F1">fill.Update()</span></code></span><span style="mso-bookmark:_MailOriginalBody"><span style="font-family:Consolas;color:#242729;background:white"><o:p></o:p></span></span></pre>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729;background:white"><br>
<br>
</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729;background:white"><br>
<br>
</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729;background:white">A screenshot of what my current mesh is (note: the red line is where i want to close the gap vertically
along the z axis: </span></span><a href="https://i.stack.imgur.com/F9w3c.png" target="_blank"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;background:white">https://i.stack.imgur.com/F9w3c.png</span></span><span style="mso-bookmark:_MailOriginalBody"></span></a><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729;background:white"><br>
<br>
</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729;background:white">Any suggestion to solve this problem?</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729;background:white"><br>
<br>
</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#242729;background:white">Thank you</span></span><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody"><o:p> </o:p></span></p>
</div>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><span style="mso-bookmark:_MailOriginalBody">_______________________________________________<br>
Powered by </span><a href="http://www.kitware.com" target="_blank"><span style="mso-bookmark:_MailOriginalBody">www.kitware.com</span><span style="mso-bookmark:_MailOriginalBody"></span></a><span style="mso-bookmark:_MailOriginalBody"><br>
<br>
Visit other Kitware open-source projects at </span><a href="http://www.kitware.com/opensource/opensource.html" target="_blank"><span style="mso-bookmark:_MailOriginalBody">http://www.kitware.com/opensource/opensource.html</span><span style="mso-bookmark:_MailOriginalBody"></span></a><span style="mso-bookmark:_MailOriginalBody"><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: </span><a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank"><span style="mso-bookmark:_MailOriginalBody">http://www.vtk.org/Wiki/VTK_FAQ</span><span style="mso-bookmark:_MailOriginalBody"></span></a><span style="mso-bookmark:_MailOriginalBody"><br>
<br>
Search the list archives at: </span><a href="http://markmail.org/search/?q=vtkusers" target="_blank"><span style="mso-bookmark:_MailOriginalBody">http://markmail.org/search/?q=vtkusers</span><span style="mso-bookmark:_MailOriginalBody"></span></a><span style="mso-bookmark:_MailOriginalBody"><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
</span><a href="https://public.kitware.com/mailman/listinfo/vtkusers" target="_blank"><span style="mso-bookmark:_MailOriginalBody">https://public.kitware.com/mailman/listinfo/vtkusers</span><span style="mso-bookmark:_MailOriginalBody"></span></a><span style="mso-bookmark:_MailOriginalBody"><o:p></o:p></span></p>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</body>
</html>