1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
\r
6 <title>Transformation Operations</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">
\r
9 <link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
\r
11 if (navigator.appName !="Netscape")
\r
12 { document.write("<link rel='stylesheet' href='default.css'>");}
\r
15 <style type="text/css">
\r
17 p.whs1 { font-family:'Lucida Console' , monospace; }
\r
18 p.whs2 { font-family:'Times New Roman' , serif; }
\r
20 </style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
23 if (innerWidth != origWidth || innerHeight != origHeight)
\r
26 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
27 origWidth = innerWidth;
\r
28 origHeight = innerHeight;
\r
34 <style type="text/css">
\r
36 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
\r
37 p.WebHelpNavBar { text-align:right; }
\r
39 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
\r
40 <script type="text/javascript" language="javascript" src="whver.js"></script>
\r
41 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
\r
42 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
\r
43 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
\r
44 <script type="text/javascript" language="javascript1.2">
\r
46 if (window.gbWhTopic)
\r
48 if (window.setRelStartPage)
\r
50 addTocInfo("Geometry module\nTUI Scripts\nTransformation\nTransformation Operations");
\r
51 addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
\r
52 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
\r
57 if (window.setRelStartPage)
\r
59 setRelStartPage("index.htm");
\r
69 document.location.reload();
\r
73 <body><script type="text/javascript" language="javascript1.2">
\r
75 if (window.writeIntopicBar)
\r
79 <h1>Transformation Operations</h1>
\r
81 <h3><a name=bookmark>Translation</a></h3>
\r
83 <p class="whs1">import geompy</p>
\r
85 <p class="whs1">import salome</p>
\r
87 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
91 <p># create a vertex and a vector</p>
\r
93 <p class="whs1">p1 = geompy.MakeVertex(10,
\r
96 <p class="whs1">p2 = geompy.MakeVertex(
\r
99 <p class="whs1">p3 = geompy.MakeVertex(50,
\r
102 <p class="whs1">v = geompy.MakeVector(p1,
\r
105 <p class="whs1">vt = geompy.MakeVector(p1,
\r
110 <p># create a cylinder</p>
\r
112 <p class="whs1">height = 35</p>
\r
114 <p class="whs1">radius1 = 20</p>
\r
116 <p class="whs1">cylinder = geompy.MakeCylinder(p1,
\r
117 v, radius1, height)</p>
\r
121 <p># translate the given object along the vector, specified by its end
\r
124 <p># (all three functions produce the same result)</p>
\r
126 <p class="whs1">translation1 = geompy.MakeTranslationTwoPoints(cylinder,
\r
129 <p class="whs1">translation2 = geompy.MakeTranslation(cylinder,
\r
132 <p class="whs1">translation3 = geompy.MakeTranslationVector(cylinder,
\r
137 <p># add objects in the study</p>
\r
139 <p class="whs1">id_cylinder = geompy.addToStudy(cylinder,
\r
140 "Cylinder")</p>
\r
142 <p class="whs1">id_translation1 =
\r
143 geompy.addToStudy(translation1, "Translation1")</p>
\r
145 <p class="whs1">id_translation2 =
\r
146 geompy.addToStudy(translation2, "Translation2")</p>
\r
148 <p class="whs1">id_translation3 =
\r
149 geompy.addToStudy(translation3, "Translation3")</p>
\r
153 <p># display the results</p>
\r
155 <p class="whs1">gg.createAndDisplayGO(id_cylinder)</p>
\r
157 <p class="whs1">gg.setDisplayMode(id_cylinder,1)</p>
\r
159 <p class="whs1">gg.createAndDisplayGO(id_translation1)</p>
\r
161 <p class="whs1">gg.setDisplayMode(id_translation1,1)</p>
\r
163 <p class="whs1">gg.createAndDisplayGO(id_translation2)</p>
\r
165 <p class="whs1">gg.setDisplayMode(id_translation2,1)</p>
\r
167 <p class="whs1">gg.createAndDisplayGO(id_translation3)</p>
\r
169 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_translation3,1)</span>
\r
172 <h3><a name=bookmark1>Rotation</a></h3>
\r
174 <p class="whs1">import geompy</p>
\r
176 <p class="whs1">import salome</p>
\r
178 <p class="whs1">import math</p>
\r
180 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
184 <p># create a vertex and a vector</p>
\r
186 <p class="whs1">p1 = geompy.MakeVertex(10,
\r
189 <p class="whs1">p2 = geompy.MakeVertex(
\r
190 0, 0, 50)</p>
\r
192 <p class="whs1">p3 = geompy.MakeVertex(10,
\r
195 <p class="whs1">p4 = geompy.MakeVertex(10,
\r
198 <p class="whs1">v = geompy.MakeVector(p1,
\r
201 <p class="whs1">vr = geompy.MakeVector(p3,
\r
206 <p># create a cylinder</p>
\r
208 <p class="whs1">height = 35</p>
\r
210 <p class="whs1">radius1 = 20</p>
\r
212 <p class="whs1">cylinder = geompy.MakeCylinder(p1,
\r
213 v, radius1, height)</p>
\r
217 <p># rotate the given object around the given axis by the given angle</p>
\r
219 <p class="whs1">rotation = geompy.MakeRotation(cylinder,
\r
224 <p># add objects in the study</p>
\r
226 <p class="whs1">id_vr = geompy.addToStudy(vr,
\r
227 "Rotation axis")</p>
\r
229 <p class="whs1">id_cylinder = geompy.addToStudy(cylinder,
\r
230 "Cylinder")</p>
\r
232 <p class="whs1">id_rotation = geompy.addToStudy(rotation,
\r
233 "Rotation")</p>
\r
237 <p># display the results</p>
\r
239 <p class="whs1">gg.createAndDisplayGO(id_vr)</p>
\r
241 <p class="whs1">gg.createAndDisplayGO(id_cylinder)</p>
\r
243 <p class="whs1">gg.setDisplayMode(id_cylinder,1)</p>
\r
245 <p class="whs1">gg.createAndDisplayGO(id_rotation)</p>
\r
247 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_rotation,1)</span>
\r
252 <h3><a name=bookmark4>Modify Location</a></h3>
\r
254 <p class="whs1">import geompy</p>
\r
256 <p class="whs1">import salome</p>
\r
258 <p class="whs1">import math</p>
\r
260 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
264 <p># create a vertex and a vector</p>
\r
266 <p class="whs1">p1 = geompy.MakeVertex(10,
\r
269 <p class="whs1">p2 = geompy.MakeVertex(
\r
270 0, 0, 50)</p>
\r
272 <p class="whs1">v = geompy.MakeVector(p1,
\r
277 <p># create a cylinder</p>
\r
279 <p class="whs1">height = 35</p>
\r
281 <p class="whs1">radius1 = 20</p>
\r
283 <p class="whs1">cylinder = geompy.MakeCylinder(p1,
\r
284 v, radius1, height)</p>
\r
288 <p># create local coordinate systems</p>
\r
290 <p class="whs1">cs1 = geompy.MakeMarker(
\r
291 0, 0, 0, 1,0,0, 0,1,0)</p>
\r
293 <p class="whs1">cs2 = geompy.MakeMarker(30,40,40,
\r
298 <p># modify the location of the given object</p>
\r
300 <p class="whs1">position = geompy.MakePosition(cylinder,
\r
305 <p># add objects in the study</p>
\r
307 <p class="whs1">id_cs1 = geompy.addToStudy(cs1,
\r
308 "Coordinate system 1")</p>
\r
310 <p class="whs1">id_cs2 = geompy.addToStudy(cs2,
\r
311 "Coordinate system 2")</p>
\r
313 <p class="whs1">id_cylinder = geompy.addToStudy(cylinder,
\r
314 "Cylinder")</p>
\r
316 <p class="whs1">id_position = geompy.addToStudy(position,
\r
317 "Position")</p>
\r
319 <p class="whs1"> </p>
\r
321 <p># display the results</p>
\r
323 <p class="whs1">gg.createAndDisplayGO(id_cylinder)</p>
\r
325 <p class="whs1">gg.setDisplayMode(id_cylinder,1)</p>
\r
327 <p class="whs1">gg.createAndDisplayGO(id_position)</p>
\r
329 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_position,1)</span>
\r
334 <h3><a name=bookmark5>Mirror Image</a></h3>
\r
336 <p class="whs1">import geompy</p>
\r
338 <p class="whs1">import salome</p>
\r
340 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
344 <p># create a box</p>
\r
346 <p class="whs1">box = geompy.MakeBoxDXDYDZ(200,
\r
351 <p># create an object, symmetrical to another object through the given
\r
354 <p class="whs1">p1 = geompy.MakeVertex(
\r
355 0, 25, 0)</p>
\r
357 <p class="whs1">p2 = geompy.MakeVertex(
\r
358 5, 25, 0)</p>
\r
360 <p class="whs1">p3 = geompy.MakeVertex(
\r
363 <p class="whs1">plane = geompy.MakePlaneThreePnt(p1,
\r
366 <p class="whs1">mirror1 = geompy.MakeMirrorByPlane(box,
\r
371 <p># create an object, symmetrical to another object through the given
\r
374 <p class="whs1">p4 = geompy.MakeVertex(
\r
377 <p class="whs1">p5 = geompy.MakeVertex(
\r
380 <p class="whs1">axis = geompy.MakeVector(p4,
\r
383 <p class="whs1">mirror2 = geompy.MakeMirrorByAxis(box,
\r
388 <p># create an object, symmetrical to another object through the given
\r
391 <p class="whs1">mirror3 = geompy.MakeMirrorByPoint(box,
\r
396 <p># add objects in the study</p>
\r
398 <p class="whs1">id_box = geompy.addToStudy(box,
\r
399 "Box")</p>
\r
401 <p class="whs1">id_plane = geompy.addToStudy(plane,
\r
402 "Plane")</p>
\r
404 <p class="whs1">id_mirror1 = geompy.addToStudy(mirror1,
\r
405 "Mirror plane")</p>
\r
407 <p class="whs1">id_axis = geompy.addToStudy(axis,
\r
408 "Axis")</p>
\r
410 <p class="whs1">id_mirror2 = geompy.addToStudy(mirror2,
\r
411 "Mirror axis")</p>
\r
413 <p class="whs1">id_p4 = geompy.addToStudy(p4,
\r
414 "Point")</p>
\r
416 <p class="whs1">id_mirror3 = geompy.addToStudy(mirror3,
\r
417 "Mirror point")</p>
\r
421 <p># display the results</p>
\r
423 <p class="whs1">gg.createAndDisplayGO(id_box)</p>
\r
425 <p class="whs1">gg.setDisplayMode(id_box,1)</p>
\r
427 <p class="whs1">gg.createAndDisplayGO(id_plane)</p>
\r
429 <p class="whs1">gg.createAndDisplayGO(id_mirror1)</p>
\r
431 <p class="whs1">gg.setDisplayMode(id_mirror1,1)</p>
\r
433 <p class="whs1">gg.createAndDisplayGO(id_axis)</p>
\r
435 <p class="whs1">gg.createAndDisplayGO(id_mirror2)</p>
\r
437 <p class="whs1">gg.setDisplayMode(id_mirror2,1)</p>
\r
439 <p class="whs1">gg.createAndDisplayGO(id_p4)</p>
\r
441 <p class="whs1">gg.createAndDisplayGO(id_mirror3)</p>
\r
443 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_mirror3,1)</span>
\r
448 <h3><a name=bookmark6>Scale Transform </a></h3>
\r
450 <p class="whs1">import geompy</p>
\r
452 <p class="whs1">import salome</p>
\r
454 <p class="whs1"> </p>
\r
456 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
458 <p class="whs1"> </p>
\r
460 <p class="whs2"># create a box and a
\r
463 <p class="whs1">box = geompy.MakeBoxDXDYDZ(200,
\r
466 <p class="whs1"> </p>
\r
468 <p class="whs2"># scale the given object
\r
471 <p class="whs1">p0 = geompy.MakeVertex(100,
\r
474 <p class="whs1">factor = 0.5</p>
\r
476 <p class="whs1">scale = geompy.MakeScaleTransform(box,
\r
479 <p class="whs1"> </p>
\r
481 <p class="whs2"># add objects in the
\r
484 <p class="whs1">id_box = geompy.addToStudy(box,
\r
485 "Box")</p>
\r
487 <p class="whs1">id_scale = geompy.addToStudy(scale,
\r
488 "Scale")</p>
\r
490 <p class="whs1"> </p>
\r
492 <p class="whs2"># display the results</p>
\r
494 <p class="whs1">gg.createAndDisplayGO(id_box)</p>
\r
496 <p class="whs1">gg.setDisplayMode(id_box,1)</p>
\r
498 <p class="whs1">gg.setTransparency(id_box,0.5)</p>
\r
500 <p class="whs1">gg.createAndDisplayGO(id_scale)</p>
\r
502 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_scale,1)</span>
\r
507 <h3><a name=bookmark7>Offset Surface</a></h3>
\r
509 <p class="whs1">import geompy</p>
\r
511 <p class="whs1">import salome</p>
\r
513 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
517 <p># create a box and a sphere</p>
\r
519 <p class="whs1">box = geompy.MakeBox(20,
\r
520 20, 20, 200, 200, 200)</p>
\r
524 <p># create a new object as offset of the given object</p>
\r
526 <p class="whs1">offset = geompy.MakeOffset(box,
\r
531 <p># add objects in the study</p>
\r
533 <p class="whs1">id_box = geompy.addToStudy(box,
\r
534 "Box")</p>
\r
536 <p class="whs1">id_offset = geompy.addToStudy(offset,
\r
537 "Offset")</p>
\r
539 <p class="whs1"> </p>
\r
541 <p># display the results</p>
\r
543 <p class="whs1">gg.createAndDisplayGO(id_box)</p>
\r
545 <p class="whs1">gg.setDisplayMode(id_box,1)</p>
\r
547 <p><span style="font-family: 'Lucida Console', monospace;">gg.createAndDisplayGO(id_offset)</span>
\r
552 <h3><a name=bookmark8>Multi Translation</a></h3>
\r
554 <p class="whs1">import geompy</p>
\r
556 <p class="whs1">import salome</p>
\r
558 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
562 <p># create vertices and vectors</p>
\r
564 <p class="whs1">p0 =
\r
565 geompy.MakeVertex( 0., 0.,
\r
568 <p class="whs1">px =
\r
569 geompy.MakeVertex(20., 0.,
\r
572 <p class="whs1">py =
\r
573 geompy.MakeVertex( 0., 20., 0.)</p>
\r
575 <p class="whs1">pz =
\r
576 geompy.MakeVertex( 0., 0.,
\r
579 <p class="whs1">pxy = geompy.MakeVertex(
\r
582 <p class="whs1">pxyz = geompy.MakeVertex(
\r
585 <p class="whs1">vz =
\r
586 geompy.MakeVector(p0, pz)</p>
\r
588 <p class="whs1">vxy = geompy.MakeVector(px,
\r
591 <p class="whs1">vtr1d = geompy.MakeVector(p0,
\r
594 <p class="whs1">vtr2d = geompy.MakeVector(p0,
\r
597 <p> </p>
\r
599 <p># create an arc</p>
\r
601 <p class="whs1">arc = geompy.MakeArc(py,
\r
606 <p># create a wire</p>
\r
608 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
613 <p># create a planar face</p>
\r
615 <p class="whs1">face = geompy.MakeFace(wire,
\r
620 <p># create a prism</p>
\r
622 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
627 <p># translate the given object along the given vector a given number of
\r
630 <p class="whs1">tr1d = geompy.MakeMultiTranslation1D(prism,
\r
635 <p># consequently apply two specified translations to the object a given
\r
636 number of times</p>
\r
638 <p class="whs1">tr2d = geompy.MakeMultiTranslation2D(prism,
\r
639 vtr1d, 20, 4, vtr2d, 80, 3)</p>
\r
643 <p># add objects in the study</p>
\r
645 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
647 <p class="whs1">id_tr1d = geompy.addToStudy(tr1d,"Translation
\r
650 <p class="whs1">id_tr2d = geompy.addToStudy(tr2d,"Translation
\r
655 <p># display the prism and the results of fillet operation</p>
\r
657 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
659 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
661 <p class="whs1">gg.createAndDisplayGO(id_tr1d)</p>
\r
663 <p class="whs1">gg.setDisplayMode(id_tr1d,1)</p>
\r
665 <p class="whs1">gg.createAndDisplayGO(id_tr2d)</p>
\r
667 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_tr2d,1)</span>
\r
672 <h3><a name=bookmark9>Multi Rotation</a></h3>
\r
674 <p class="whs1">import geompy</p>
\r
676 <p class="whs1">import salome</p>
\r
678 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
682 <p># create vertices and vectors</p>
\r
684 <p class="whs1">p0 =
\r
685 geompy.MakeVertex( 0., 0.,
\r
688 <p class="whs1">px =
\r
689 geompy.MakeVertex(20., 0.,
\r
692 <p class="whs1">py =
\r
693 geompy.MakeVertex( 0., 20., 0.)</p>
\r
695 <p class="whs1">pz =
\r
696 geompy.MakeVertex( 0., 0.,
\r
699 <p class="whs1">pxyz = geompy.MakeVertex(
\r
702 <p class="whs1">vz =
\r
703 geompy.MakeVector(p0, pz)</p>
\r
705 <p class="whs1">vxy = geompy.MakeVector(px,
\r
708 <p class="whs1">vrot1d = geompy.MakeVector(p0,
\r
711 <p> </p>
\r
713 <p># create an arc</p>
\r
715 <p class="whs1">arc = geompy.MakeArc(py,
\r
720 <p># create a wire</p>
\r
722 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
727 <p># create a planar face</p>
\r
729 <p class="whs1">face = geompy.MakeFace(wire,
\r
734 <p># create a prism</p>
\r
736 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
741 <p># rotate the given object around the given axis by the given angle a
\r
742 given number of times</p>
\r
744 <p class="whs1">rot1d = geompy.MultiRotate1D(prism,
\r
749 <p># rotate the given object around the given axis by the given angle a
\r
750 given number of times</p>
\r
752 <p># and multi-translate the result of each rotation</p>
\r
754 <p class="whs1">rot2d = geompy.MultiRotate2D(prism,
\r
755 vrot1d, 60, 4, 50, 5)</p>
\r
759 <p># add objects in the study</p>
\r
761 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
763 <p class="whs1">id_rot1d = geompy.addToStudy(rot1d,"Rotation
\r
766 <p class="whs1">id_rot2d = geompy.addToStudy(rot2d,"Rotation
\r
771 <p># display the prism and the results of fillet operation</p>
\r
773 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
775 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
777 <p class="whs1">gg.createAndDisplayGO(id_rot1d)</p>
\r
779 <p class="whs1">gg.setDisplayMode(id_rot1d,1)</p>
\r
781 <p class="whs1">gg.createAndDisplayGO(id_rot2d)</p>
\r
783 <p class="whs1">gg.setDisplayMode(id_rot2d,1)
\r
786 <p class="whs1"> </p>
\r
788 <h3><a name=bookmark2>Fillet</a></h3>
\r
790 <p class="whs1">import geompy</p>
\r
792 <p class="whs1">import salome</p>
\r
794 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
796 <p class="whs1">radius =
\r
799 <p class="whs1">ShapeTypeEdge = geompy.ShapeType["EDGE"]</p>
\r
801 <p class="whs1"> </p>
\r
803 <p># create vertices and vectors</p>
\r
805 <p class="whs1">p0 =
\r
806 geompy.MakeVertex( 0.,
\r
808 0.)</p>
\r
810 <p class="whs1">px =
\r
811 geompy.MakeVertex(100., 0.,
\r
812 0.)</p>
\r
814 <p class="whs1">py =
\r
815 geompy.MakeVertex( 0.,
\r
816 100., 0.)</p>
\r
818 <p class="whs1">pz =
\r
819 geompy.MakeVertex( 0.,
\r
823 <p class="whs1">vz =
\r
824 geompy.MakeVector(p0, pz)</p>
\r
826 <p class="whs1">vxy = geompy.MakeVector(px,
\r
829 <p> </p>
\r
831 <p># create an arc</p>
\r
833 <p class="whs1">arc = geompy.MakeArc(py,
\r
838 <p># create a wire</p>
\r
840 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
845 <p># create a planar face</p>
\r
847 <p class="whs1">face = geompy.MakeFace(wire,
\r
852 <p># create a prism</p>
\r
854 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
859 <p># get the list of IDs (IDList) for the fillet</p>
\r
861 <p class="whs1">prism_edges = geompy.SubShapeAllSorted(prism,
\r
864 <p class="whs1">IDlist_e = []</p>
\r
866 <p class="whs1">IDlist_e.append(geompy.GetSubShapeID(prism,
\r
867 prism_edges[0]))</p>
\r
869 <p class="whs1">IDlist_e.append(geompy.GetSubShapeID(prism,
\r
870 prism_edges[1]))</p>
\r
872 <p class="whs1">IDlist_e.append(geompy.GetSubShapeID(prism,
\r
873 prism_edges[2]))</p>
\r
877 <p># make a fillet on the specified edges of the given shape</p>
\r
879 <p class="whs1">fillet = geompy.MakeFillet(prism,
\r
880 radius, ShapeTypeEdge, IDlist_e)</p>
\r
884 <p># make a fillet on all edges of the given shape</p>
\r
886 <p class="whs1">filletall = geompy.MakeFilletAll(prism,
\r
891 <p># add objects in the study</p>
\r
893 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
895 <p class="whs1">id_fillet = geompy.addToStudy(fillet,"Fillet")</p>
\r
897 <p class="whs1">id_filletall = geompy.addToStudy(filletall,"Fillet
\r
902 <p># display the prism and the results of fillet operation</p>
\r
904 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
906 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
908 <p class="whs1">gg.createAndDisplayGO(id_fillet)</p>
\r
910 <p class="whs1">gg.setDisplayMode(id_fillet,1)</p>
\r
912 <p class="whs1">gg.createAndDisplayGO(id_filletall)</p>
\r
914 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_filletall,1)</span>
\r
919 <h3><a name=bookmark3>Chamfer</a></h3>
\r
921 <p class="whs1">import geompy</p>
\r
923 <p class="whs1">import salome</p>
\r
925 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
927 <p class="whs1">d1 = 10.</p>
\r
929 <p class="whs1">d2 = 10.</p>
\r
931 <p class="whs1">ShapeTypeFace = geompy.ShapeType["FACE"]</p>
\r
935 <p># create vertices and vectors</p>
\r
937 <p class="whs1">p0 =
\r
938 geompy.MakeVertex( 0.,
\r
940 0.)</p>
\r
942 <p class="whs1">px =
\r
943 geompy.MakeVertex(100., 0.,
\r
944 0.)</p>
\r
946 <p class="whs1">py =
\r
947 geompy.MakeVertex( 0.,
\r
948 100., 0.)</p>
\r
950 <p class="whs1">pz =
\r
951 geompy.MakeVertex( 0.,
\r
955 <p class="whs1">vz =
\r
956 geompy.MakeVector(p0, pz)</p>
\r
958 <p class="whs1">vxy = geompy.MakeVector(px,
\r
961 <p> </p>
\r
963 <p># create an arc</p>
\r
965 <p class="whs1">arc = geompy.MakeArc(py,
\r
970 <p># create a wire</p>
\r
972 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
977 <p># create a planar face</p>
\r
979 <p class="whs1">face = geompy.MakeFace(wire,
\r
984 <p># create a prism</p>
\r
986 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
991 <p># get the list of IDs (IDList) for the chamfer</p>
\r
993 <p class="whs1">prism_faces = geompy.SubShapeAllSorted(prism,
\r
996 <p class="whs1">f_ind_1 = geompy.GetSubShapeID(prism,
\r
997 prism_faces[0])</p>
\r
999 <p class="whs1">f_ind_2 = geompy.GetSubShapeID(prism,
\r
1000 prism_faces[1])</p>
\r
1002 <p class="whs1">IDlist_f = [f_ind_1,
\r
1007 <p># perform a chamfer on the edges common to the specified faces</p>
\r
1009 <p class="whs1">chamfer_e = geompy.MakeChamferEdge(prism,
\r
1010 d1, d2, f_ind_1, f_ind_2)</p>
\r
1014 <p># perform a chamfer on all edges of the specified faces</p>
\r
1016 <p class="whs1">chamfer_f = geompy.MakeChamferFaces(prism,
\r
1017 d1, d2, IDlist_f)</p>
\r
1019 <p class="whs1">chamfer_f1 = geompy.MakeChamfer(prism,
\r
1020 d1, d2, ShapeTypeFace, IDlist_f)</p>
\r
1024 <p># perform a symmetric chamfer on all edges of the given shape</p>
\r
1026 <p class="whs1">chamfer_all = geompy.MakeChamferAll(prism,
\r
1031 <p># add objects in the study</p>
\r
1033 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
1035 <p class="whs1">id_chamfer_e = geompy.addToStudy(chamfer_e,"Chamfer
\r
1038 <p class="whs1">id_chamfer_f = geompy.addToStudy(chamfer_f,"Chamfer
\r
1041 <p class="whs1">id_chamfer_f1 = geompy.addToStudy(chamfer_f1,"Chamfer
\r
1042 faces 1")</p>
\r
1044 <p class="whs1">id_chamfer_all = geompy.addToStudy(chamfer_all,"Chamfer
\r
1049 <p># display the prism and the results of chamfer operation</p>
\r
1051 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
1053 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
1055 <p class="whs1">gg.createAndDisplayGO(id_chamfer_e)</p>
\r
1057 <p class="whs1">gg.setDisplayMode(id_chamfer_e,1)</p>
\r
1059 <p class="whs1">gg.createAndDisplayGO(id_chamfer_f)</p>
\r
1061 <p class="whs1">gg.setDisplayMode(id_chamfer_f,1)</p>
\r
1063 <p class="whs1">gg.createAndDisplayGO(id_chamfer_f1)</p>
\r
1065 <p class="whs1">gg.setDisplayMode(id_chamfer_f1,1)</p>
\r
1067 <p class="whs1">gg.createAndDisplayGO(id_chamfer_all)</p>
\r
1069 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_chamfer_all,1)</span>
\r
1076 <script type="text/javascript" language="javascript1.2">
\r
1078 if (window.writeIntopicBar)
\r
1079 writeIntopicBar(0);
\r