1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
\r
6 <title>Introduction to MESH module python interface</title>
\r
7 <meta http-equiv="content-type" content="text/html; charset=windows-1252">
\r
8 <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
\r
10 p.whs1 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
\r
11 p.whs2 { margin-top:0pt; margin-bottom:0pt; }
\r
12 p.whs3 { font-family:'Lucida Console' , monospace; margin-top:0px; margin-bottom:0px; }
\r
13 p.whs4 { margin-top:0px; margin-bottom:0px; }
\r
14 p.whs5 { margin-top:0px; margin-bottom:0px; font-family:'Times New Roman' , serif; }
\r
16 </style><script type="text/javascript" language="JavaScript">
\r
18 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
\r
20 var strNSS = "<style type='text/css'>";
\r
21 strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";
\r
22 strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";
\r
23 strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";
\r
24 strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";
\r
25 strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";
\r
26 strNSS +="</style>";
\r
27 document.write(strNSS);
\r
31 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
34 if (innerWidth != origWidth || innerHeight != origHeight)
\r
37 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
38 origWidth = innerWidth;
\r
39 origHeight = innerHeight;
\r
45 <style type="text/css">
\r
47 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
\r
48 p.WebHelpNavBar { text-align:right; }
\r
50 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
\r
51 <script type="text/javascript" language="javascript" src="whver.js"></script>
\r
52 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
\r
53 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
\r
54 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
\r
55 <script type="text/javascript" language="javascript1.2">
\r
57 if (window.gbWhTopic)
\r
59 if (window.setRelStartPage)
\r
61 addTocInfo("MESH module\nTUI Scripts\nIntroduction to MESH module python interface");
\r
62 addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
\r
63 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
\r
68 if (window.setRelStartPage)
\r
70 setRelStartPage("index.htm");
\r
80 document.location.reload();
\r
84 <body><script type="text/javascript" language="javascript1.2">
\r
86 if (window.writeIntopicBar)
\r
90 <h1>Introduction to MESH module python interface</h1>
\r
92 <p><a href="smeshpy_doc/namespacesmesh.html">Package smesh</a> provides a standard API for meshes creation and edition.
\r
93 <p>Below you can see an example of package <b>smesh</b> usage for 3d mesh generation.
\r
95 <h3><a name=bookmark>Example of 3d mesh generation with NETGEN</a></h3>
\r
97 <br>from geompy import *
\r
104 <br># an assembly of a box, a cylinder and a truncated cone meshed with tetrahedral.
\r
106 <br># Define values
\r
107 <br># -------------
\r
109 <br>name = "ex21_lamp"
\r
123 <br>box = MakeBox(-cote, -cote, -cote, +cote, +cote, +cote)
\r
125 <br># Build a cylinder
\r
126 <br># ----------------
\r
128 <br>pt1 = MakeVertex(0, 0, cote/3)
\r
129 <br>di1 = MakeVectorDXDYDZ(0, 0, 1)
\r
130 <br>cyl = MakeCylinder(pt1, di1, section, size)
\r
132 <br># Build a truncated cone
\r
133 <br># ----------------------
\r
135 <br>pt2 = MakeVertex(0, 0, size)
\r
136 <br>cone = MakeCone(pt2, di1, radius_1, radius_2, height)
\r
141 <br>box_cyl = MakeFuse(box, cyl)
\r
142 <br>piece = MakeFuse(box_cyl, cone)
\r
147 <br>addToStudy(piece, name)
\r
149 <br># Create a group of faces
\r
150 <br># -----------------------
\r
152 <br>group = CreateGroup(piece, ShapeType["FACE"])
\r
154 <br>group_name = name + "_grp"
\r
155 <br>addToStudy(group, group_name)
\r
156 <br>group.SetName(group_name)
\r
158 <br># Add faces in the group
\r
159 <br># ----------------------
\r
161 <br>faces = SubShapeAllIDs(piece, ShapeType["FACE"])
\r
163 <br>UnionIDs(group, faces)
\r
165 <br># Create a mesh
\r
166 <br># =============
\r
168 <br># Define a mesh on a geometry
\r
169 <br># ---------------------------
\r
171 <br>tetra = smesh.Mesh(piece, name)
\r
173 <br># Define 1D hypothesis
\r
174 <br># --------------------
\r
176 <br>algo1d = tetra.Segment()
\r
177 <br>algo1d.LocalLength(10)
\r
179 <br># Define 2D hypothesis
\r
180 <br># --------------------
\r
182 <br>algo2d = tetra.Triangle()
\r
183 <br>algo2d.LengthFromEdges()
\r
185 <br># Define 3D hypothesis
\r
186 <br># --------------------
\r
188 <br>algo3d = tetra.Tetrahedron(smesh.NETGEN)
\r
189 <br>algo3d.MaxElementVolume(100)
\r
191 <br># Compute the mesh
\r
192 <br># ----------------
\r
194 <br>tetra.Compute()
\r
196 <br># Create a groupe of faces
\r
197 <br># ------------------------
\r
199 <br>tetra.Group(group)
\r
201 <script type="text/javascript" language="javascript1.2">
\r
203 if (window.writeIntopicBar)
\r
204 writeIntopicBar(0);
\r