1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
\r
6 <title>Viewing Meshes</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 { font-family:'Lucida Console' , monospace; margin-top:0pt; margin-bottom:0pt; }
\r
11 p.whs2 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
\r
13 </style><script type="text/javascript" language="JavaScript">
\r
15 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
\r
17 var strNSS = "<style type='text/css'>";
\r
18 strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";
\r
19 strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";
\r
20 strNSS +="</style>";
\r
21 document.write(strNSS);
\r
25 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
28 if (innerWidth != origWidth || innerHeight != origHeight)
\r
31 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
32 origWidth = innerWidth;
\r
33 origHeight = innerHeight;
\r
39 <style type="text/css">
\r
41 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
\r
42 p.WebHelpNavBar { text-align:right; }
\r
44 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
\r
45 <script type="text/javascript" language="javascript" src="whver.js"></script>
\r
46 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
\r
47 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
\r
48 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
\r
49 <script type="text/javascript" language="javascript1.2">
\r
51 if (window.gbWhTopic)
\r
53 if (window.setRelStartPage)
\r
55 addTocInfo("MESH module\nTUI Scripts\nViewing Meshes");
\r
56 addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
\r
57 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
\r
62 if (window.setRelStartPage)
\r
64 setRelStartPage("index.htm");
\r
74 document.location.reload();
\r
78 <body><script type="text/javascript" language="javascript1.2">
\r
80 if (window.writeIntopicBar)
\r
84 <h1>Viewing Meshes</h1>
\r
86 <h3>Viewing Mesh Infos</h3>
\r
88 <p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.
\r
91 <p class="whs1">import salome</p>
\r
93 <p class="whs1">import geompy</p>
\r
95 <p class="whs1">import SMESH</p>
\r
97 <p class="whs1">import StdMeshers</p>
\r
99 <p class="whs1"> </p>
\r
101 <p class="whs1">smesh = salome.lcc.FindOrLoadComponent("FactoryServer",
\r
102 "SMESH")</p>
\r
104 <p class="whs1">smesh.SetCurrentStudy(salome.myStudy)</p>
\r
106 <p class="whs1"> </p>
\r
108 <p class="whs1">box =
\r
109 geompy.MakeBox(0., 0., 0., 20., 20., 20.)</p>
\r
111 <p class="whs1">idbox = geompy.addToStudy(box, "box")</p>
\r
113 <p class="whs1"> </p>
\r
115 <p class="whs1">subShapeList = geompy.SubShapeAll(box,
\r
116 geompy.ShapeType["EDGE"])</p>
\r
118 <p class="whs1">edge =
\r
119 subShapeList[0]</p>
\r
121 <p class="whs1">name =
\r
122 geompy.SubShapeName(edge, box)</p>
\r
124 <p class="whs1">idedge = geompy.addToStudyInFather(box,
\r
127 <p class="whs1"> </p>
\r
129 <p class="whs1">box =
\r
130 salome.IDToObject(idbox)</p>
\r
132 <p class="whs1">edge = salome.IDToObject(idedge)</p>
\r
134 <p class="whs1"> </p>
\r
136 <p class="whs1">hyp1 = smesh.CreateHypothesis("NumberOfSegments",
\r
137 "libStdMeshersEngine.so")</p>
\r
139 <p class="whs1">hyp1.SetNumberOfSegments(3)</p>
\r
141 <p class="whs1">hyp2 = smesh.CreateHypothesis("MaxElementArea",
\r
142 "libStdMeshersEngine.so")</p>
\r
144 <p class="whs1">hyp2.SetMaxElementArea(10)</p>
\r
146 <p class="whs1">hyp3 = smesh.CreateHypothesis("Arithmetic1D",
\r
147 "libStdMeshersEngine.so")</p>
\r
149 <p class="whs1">hyp3.SetLength(1,1)</p>
\r
151 <p class="whs1">hyp3.SetLength(6,0)</p>
\r
153 <p class="whs1">hyp4 = smesh.CreateHypothesis("Propagation",
\r
154 "libStdMeshersEngine.so")</p>
\r
156 <p class="whs1"> </p>
\r
158 <p class="whs1">algo1 = smesh.CreateHypothesis("Regular_1D",
\r
159 "libStdMeshersEngine.so")</p>
\r
161 <p class="whs1">algo2 = smesh.CreateHypothesis("MEFISTO_2D",
\r
162 "libStdMeshersEngine.so")</p>
\r
164 <p class="whs1">mesh = smesh.CreateMesh(box)</p>
\r
166 <p class="whs1"> </p>
\r
168 <p class="whs1">mesh.AddHypothesis(box,hyp1)</p>
\r
170 <p class="whs1">mesh.AddHypothesis(box,hyp2)</p>
\r
172 <p class="whs1">mesh.AddHypothesis(box,algo1)</p>
\r
174 <p class="whs1">mesh.AddHypothesis(box,algo2)</p>
\r
176 <p class="whs1">mesh.AddHypothesis(edge,hyp3)</p>
\r
178 <p class="whs1">mesh.AddHypothesis(edge,hyp4)</p>
\r
180 <p class="whs1">mesh.AddHypothesis(edge,algo1)</p>
\r
182 <p class="whs1">smesh.Compute(mesh,box)</p>
\r
184 <p class="whs1">salome.sg.updateObjBrowser(1)</p>
\r
186 <p class="whs1"> </p>
\r
188 <p class="whs2"># remove one hypothesis</p>
\r
190 <p class="whs1">mesh.RemoveHypothesis(edge,hyp4)</p>
\r
192 <p class="whs1">smesh.Compute(mesh,box)</p>
\r
194 <p class="whs1">salome.sg.updateObjBrowser(1)</p>
\r
196 <p class="whs1"> </p>
\r
198 <p class="whs2"># change the value
\r
199 of the hypothesis</p>
\r
201 <p class="whs1">hyp2.SetMaxElementArea(2)</p>
\r
203 <p class="whs1">mesh.AddHypothesis(box,hyp2)</p>
\r
205 <p class="whs1">smesh.Compute(mesh,box)</p>
\r
207 <p class="whs1">print "Information about mesh:"</p>
\r
209 <p class="whs1">print "Number of nodes :
\r
210 ", mesh.NbNodes()</p>
\r
212 <p class="whs1">print "Number of edges :
\r
213 ", mesh.NbEdges()</p>
\r
215 <p class="whs1">print "Number of faces :
\r
216 ", mesh.NbFaces()</p>
\r
218 <p class="whs1">print "Number of triangles :
\r
219 ", mesh.NbTriangles()</p>
\r
221 <p class="whs1">print "Number of quadrangles : ",
\r
222 mesh.NbQuadrangles()</p>
\r
224 <p class="whs1">print "Number of polygons :
\r
225 ", mesh.NbPolygons()</p>
\r
227 <p class="whs1">print "Number of volumes :
\r
228 ", mesh.NbVolumes()</p>
\r
230 <p class="whs1">print "Number of tetrahedrons: ",
\r
231 mesh.NbTetras()</p>
\r
233 <p class="whs1">print "Number of hexahedrons : ",
\r
236 <p class="whs1">print "Number of prisms :
\r
237 ", mesh.NbPrisms()</p>
\r
239 <p class="whs1">print "Number of pyramids :
\r
240 ", mesh.NbPyramids()</p>
\r
242 <p class="whs1">print "Number of polyhedrons : ",
\r
243 mesh.NbPolyhedrons()</p>
\r
245 <p class="whs1">salome.sg.updateObjBrowser(1) </p>
\r
247 <p class="whs1"> </p>
\r
249 <script type="text/javascript" language="javascript1.2">
\r
251 if (window.writeIntopicBar)
\r
252 writeIntopicBar(0);
\r