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
19 </style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
22 if (innerWidth != origWidth || innerHeight != origHeight)
\r
25 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
26 origWidth = innerWidth;
\r
27 origHeight = innerHeight;
\r
33 <style type="text/css">
\r
35 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
\r
37 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
\r
38 <script type="text/javascript" language="javascript" src="whver.js"></script>
\r
39 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
\r
40 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
\r
41 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
\r
43 <body><script type="text/javascript" language="javascript1.2">
\r
45 if (window.gbWhTopic)
\r
47 if (window.addTocInfo)
\r
49 addTocInfo("GEOM module\nTUI Scripts\nTransformation\nTransformation Operations");
\r
50 addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
\r
53 if (window.writeBtnStyle)
\r
56 if (window.writeIntopicBar)
\r
59 if (window.setRelStartPage)
\r
61 setRelStartPage("geom.htm");
\r
70 document.location.reload();
\r
73 <h1>Transformation Operations</h1>
\r
75 <h3><a name=bookmark>Translation</a></h3>
\r
77 <p class="whs1">import geompy</p>
\r
79 <p class="whs1">import salome</p>
\r
81 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
85 <p># create a vertex and a vector</p>
\r
87 <p class="whs1">p1 = geompy.MakeVertex(10,
\r
90 <p class="whs1">p2 = geompy.MakeVertex(
\r
93 <p class="whs1">p3 = geompy.MakeVertex(50,
\r
96 <p class="whs1">v = geompy.MakeVector(p1,
\r
99 <p class="whs1">vt = geompy.MakeVector(p1,
\r
104 <p># create a cylinder</p>
\r
106 <p class="whs1">height = 35</p>
\r
108 <p class="whs1">radius1 = 20</p>
\r
110 <p class="whs1">cylinder = geompy.MakeCylinder(p1,
\r
111 v, radius1, height)</p>
\r
115 <p># translate the given object along the vector, specified by its end
\r
118 <p># (all three functions produce the same result)</p>
\r
120 <p class="whs1">translation1 = geompy.MakeTranslationTwoPoints(cylinder,
\r
123 <p class="whs1">translation2 = geompy.MakeTranslation(cylinder,
\r
126 <p class="whs1">translation3 = geompy.MakeTranslationVector(cylinder,
\r
131 <p># add objects in the study</p>
\r
133 <p class="whs1">id_cylinder = geompy.addToStudy(cylinder,
\r
134 "Cylinder")</p>
\r
136 <p class="whs1">id_translation1 =
\r
137 geompy.addToStudy(translation1, "Translation1")</p>
\r
139 <p class="whs1">id_translation2 =
\r
140 geompy.addToStudy(translation2, "Translation2")</p>
\r
142 <p class="whs1">id_translation3 =
\r
143 geompy.addToStudy(translation3, "Translation3")</p>
\r
147 <p># display the results</p>
\r
149 <p class="whs1">gg.createAndDisplayGO(id_cylinder)</p>
\r
151 <p class="whs1">gg.setDisplayMode(id_cylinder,1)</p>
\r
153 <p class="whs1">gg.createAndDisplayGO(id_translation1)</p>
\r
155 <p class="whs1">gg.setDisplayMode(id_translation1,1)</p>
\r
157 <p class="whs1">gg.createAndDisplayGO(id_translation2)</p>
\r
159 <p class="whs1">gg.setDisplayMode(id_translation2,1)</p>
\r
161 <p class="whs1">gg.createAndDisplayGO(id_translation3)</p>
\r
163 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_translation3,1)</span>
\r
166 <h3><a name=bookmark1>Rotation</a></h3>
\r
168 <p class="whs1">import geompy</p>
\r
170 <p class="whs1">import salome</p>
\r
172 <p class="whs1">import math</p>
\r
174 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
178 <p># create a vertex and a vector</p>
\r
180 <p class="whs1">p1 = geompy.MakeVertex(10,
\r
183 <p class="whs1">p2 = geompy.MakeVertex(
\r
184 0, 0, 50)</p>
\r
186 <p class="whs1">p3 = geompy.MakeVertex(10,
\r
189 <p class="whs1">p4 = geompy.MakeVertex(10,
\r
192 <p class="whs1">v = geompy.MakeVector(p1,
\r
195 <p class="whs1">vr = geompy.MakeVector(p3,
\r
200 <p># create a cylinder</p>
\r
202 <p class="whs1">height = 35</p>
\r
204 <p class="whs1">radius1 = 20</p>
\r
206 <p class="whs1">cylinder = geompy.MakeCylinder(p1,
\r
207 v, radius1, height)</p>
\r
211 <p># rotate the given object around the given axis by the given angle</p>
\r
213 <p class="whs1">rotation = geompy.MakeRotation(cylinder,
\r
218 <p># add objects in the study</p>
\r
220 <p class="whs1">id_vr = geompy.addToStudy(vr,
\r
221 "Rotation axis")</p>
\r
223 <p class="whs1">id_cylinder = geompy.addToStudy(cylinder,
\r
224 "Cylinder")</p>
\r
226 <p class="whs1">id_rotation = geompy.addToStudy(rotation,
\r
227 "Rotation")</p>
\r
231 <p># display the results</p>
\r
233 <p class="whs1">gg.createAndDisplayGO(id_vr)</p>
\r
235 <p class="whs1">gg.createAndDisplayGO(id_cylinder)</p>
\r
237 <p class="whs1">gg.setDisplayMode(id_cylinder,1)</p>
\r
239 <p class="whs1">gg.createAndDisplayGO(id_rotation)</p>
\r
241 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_rotation,1)</span>
\r
246 <h3><a name=bookmark4>Modify Location</a></h3>
\r
248 <p class="whs1">import geompy</p>
\r
250 <p class="whs1">import salome</p>
\r
252 <p class="whs1">import math</p>
\r
254 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
258 <p># create a vertex and a vector</p>
\r
260 <p class="whs1">p1 = geompy.MakeVertex(10,
\r
263 <p class="whs1">p2 = geompy.MakeVertex(
\r
264 0, 0, 50)</p>
\r
266 <p class="whs1">v = geompy.MakeVector(p1,
\r
271 <p># create a cylinder</p>
\r
273 <p class="whs1">height = 35</p>
\r
275 <p class="whs1">radius1 = 20</p>
\r
277 <p class="whs1">cylinder = geompy.MakeCylinder(p1,
\r
278 v, radius1, height)</p>
\r
282 <p># create local coordinate systems</p>
\r
284 <p class="whs1">cs1 = geompy.MakeMarker(
\r
285 0, 0, 0, 1,0,0, 0,1,0)</p>
\r
287 <p class="whs1">cs2 = geompy.MakeMarker(30,40,40,
\r
292 <p># modify the location of the given object</p>
\r
294 <p class="whs1">position = geompy.MakePosition(cylinder,
\r
299 <p># add objects in the study</p>
\r
301 <p class="whs1">id_cs1 = geompy.addToStudy(cs1,
\r
302 "Coordinate system 1")</p>
\r
304 <p class="whs1">id_cs2 = geompy.addToStudy(cs2,
\r
305 "Coordinate system 2")</p>
\r
307 <p class="whs1">id_cylinder = geompy.addToStudy(cylinder,
\r
308 "Cylinder")</p>
\r
310 <p class="whs1">id_position = geompy.addToStudy(position,
\r
311 "Position")</p>
\r
313 <p class="whs1"> </p>
\r
315 <p># display the results</p>
\r
317 <p class="whs1">gg.createAndDisplayGO(id_cylinder)</p>
\r
319 <p class="whs1">gg.setDisplayMode(id_cylinder,1)</p>
\r
321 <p class="whs1">gg.createAndDisplayGO(id_position)</p>
\r
323 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_position,1)</span>
\r
328 <h3><a name=bookmark5>Mirror Image</a></h3>
\r
330 <p class="whs1">import geompy</p>
\r
332 <p class="whs1">import salome</p>
\r
334 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
338 <p># create a box</p>
\r
340 <p class="whs1">box = geompy.MakeBoxDXDYDZ(200,
\r
345 <p># create an object, symmetrical to the given one relatively the given
\r
348 <p class="whs1">p1 = geompy.MakeVertex(
\r
349 0, 25, 0)</p>
\r
351 <p class="whs1">p2 = geompy.MakeVertex(
\r
352 5, 25, 0)</p>
\r
354 <p class="whs1">p3 = geompy.MakeVertex(
\r
357 <p class="whs1">plane = geompy.MakePlaneThreePnt(p1,
\r
360 <p class="whs1">mirror1 = geompy.MakeMirrorByPlane(box,
\r
365 <p># create an object, symmetrical to the given one relatively the given
\r
368 <p class="whs1">p4 = geompy.MakeVertex(
\r
371 <p class="whs1">p5 = geompy.MakeVertex(
\r
374 <p class="whs1">axis = geompy.MakeVector(p4,
\r
377 <p class="whs1">mirror2 = geompy.MakeMirrorByAxis(box,
\r
382 <p># create an object, symmetrical to the given one relatively the given
\r
385 <p class="whs1">mirror3 = geompy.MakeMirrorByPoint(box,
\r
390 <p># add objects in the study</p>
\r
392 <p class="whs1">id_box = geompy.addToStudy(box,
\r
393 "Box")</p>
\r
395 <p class="whs1">id_plane = geompy.addToStudy(plane,
\r
396 "Plane")</p>
\r
398 <p class="whs1">id_mirror1 = geompy.addToStudy(mirror1,
\r
399 "Mirror plane")</p>
\r
401 <p class="whs1">id_axis = geompy.addToStudy(axis,
\r
402 "Axis")</p>
\r
404 <p class="whs1">id_mirror2 = geompy.addToStudy(mirror2,
\r
405 "Mirror axis")</p>
\r
407 <p class="whs1">id_p4 = geompy.addToStudy(p4,
\r
408 "Point")</p>
\r
410 <p class="whs1">id_mirror3 = geompy.addToStudy(mirror3,
\r
411 "Mirror point")</p>
\r
415 <p># display the results</p>
\r
417 <p class="whs1">gg.createAndDisplayGO(id_box)</p>
\r
419 <p class="whs1">gg.setDisplayMode(id_box,1)</p>
\r
421 <p class="whs1">gg.createAndDisplayGO(id_plane)</p>
\r
423 <p class="whs1">gg.createAndDisplayGO(id_mirror1)</p>
\r
425 <p class="whs1">gg.setDisplayMode(id_mirror1,1)</p>
\r
427 <p class="whs1">gg.createAndDisplayGO(id_axis)</p>
\r
429 <p class="whs1">gg.createAndDisplayGO(id_mirror2)</p>
\r
431 <p class="whs1">gg.setDisplayMode(id_mirror2,1)</p>
\r
433 <p class="whs1">gg.createAndDisplayGO(id_p4)</p>
\r
435 <p class="whs1">gg.createAndDisplayGO(id_mirror3)</p>
\r
437 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_mirror3,1)</span>
\r
442 <h3><a name=bookmark6>Scale Transform </a></h3>
\r
444 <p class="whs1">import geompy</p>
\r
446 <p class="whs1">import salome</p>
\r
448 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
452 <p># create a box and a sphere</p>
\r
454 <p class="whs1">box = geompy.MakeBoxDXDYDZ(200,
\r
459 <p># scale the given object by the factor</p>
\r
461 <p class="whs1">p0 = geompy.MakeVertex(100,
\r
464 <p class="whs1">factor = 0.5</p>
\r
466 <p class="whs1">scale = geompy.MakeScaleTransform(box,
\r
471 <p># add objects in the study</p>
\r
473 <p class="whs1">id_box = geompy.addToStudy(box,
\r
474 "Box")</p>
\r
476 <p class="whs1">id_scale = geompy.addToStudy(scale,
\r
477 "Scale")</p>
\r
481 <p># display the results</p>
\r
483 <p class="whs1">gg.createAndDisplayGO(id_box)</p>
\r
485 <p class="whs1">gg.setDisplayMode(id_box,1)</p>
\r
487 <p class="whs1">gg.createAndDisplayGO(id_scale)</p>
\r
489 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_scale,1)</span>
\r
494 <h3><a name=bookmark7>Offset Surface</a></h3>
\r
496 <p class="whs1">import geompy</p>
\r
498 <p class="whs1">import salome</p>
\r
500 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
504 <p># create a box and a sphere</p>
\r
506 <p class="whs1">box = geompy.MakeBox(20,
\r
507 20, 20, 200, 200, 200)</p>
\r
511 <p># create a new object as offset of the given object</p>
\r
513 <p class="whs1">offset = geompy.MakeOffset(box,
\r
518 <p># add objects in the study</p>
\r
520 <p class="whs1">id_box = geompy.addToStudy(box,
\r
521 "Box")</p>
\r
523 <p class="whs1">id_offset = geompy.addToStudy(offset,
\r
524 "Offset")</p>
\r
526 <p class="whs1"> </p>
\r
528 <p># display the results</p>
\r
530 <p class="whs1">gg.createAndDisplayGO(id_box)</p>
\r
532 <p class="whs1">gg.setDisplayMode(id_box,1)</p>
\r
534 <p><span style="font-family: 'Lucida Console', monospace;">gg.createAndDisplayGO(id_offset)</span>
\r
539 <h3><a name=bookmark8>Multi Translation</a></h3>
\r
541 <p class="whs1">import geompy</p>
\r
543 <p class="whs1">import salome</p>
\r
545 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
549 <p># create vertices and vectors</p>
\r
551 <p class="whs1">p0 =
\r
552 geompy.MakeVertex( 0., 0.,
\r
555 <p class="whs1">px =
\r
556 geompy.MakeVertex(20., 0.,
\r
559 <p class="whs1">py =
\r
560 geompy.MakeVertex( 0., 20., 0.)</p>
\r
562 <p class="whs1">pz =
\r
563 geompy.MakeVertex( 0., 0.,
\r
566 <p class="whs1">pxy = geompy.MakeVertex(
\r
569 <p class="whs1">pxyz = geompy.MakeVertex(
\r
572 <p class="whs1">vz =
\r
573 geompy.MakeVector(p0, pz)</p>
\r
575 <p class="whs1">vxy = geompy.MakeVector(px,
\r
578 <p class="whs1">vtr1d = geompy.MakeVector(p0,
\r
581 <p class="whs1">vtr2d = geompy.MakeVector(p0,
\r
584 <p> </p>
\r
586 <p># create an arc</p>
\r
588 <p class="whs1">arc = geompy.MakeArc(py,
\r
593 <p># create a wire</p>
\r
595 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
600 <p># create a planar face</p>
\r
602 <p class="whs1">face = geompy.MakeFace(wire,
\r
607 <p># create a prism</p>
\r
609 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
614 <p># translate the given object along the given vector a given number of
\r
617 <p class="whs1">tr1d = geompy.MakeMultiTranslation1D(prism,
\r
622 <p># consequently apply two specified translations to the object a given
\r
623 number of times</p>
\r
625 <p class="whs1">tr2d = geompy.MakeMultiTranslation2D(prism,
\r
626 vtr1d, 20, 4, vtr2d, 80, 3)</p>
\r
630 <p># add objects in the study</p>
\r
632 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
634 <p class="whs1">id_tr1d = geompy.addToStudy(tr1d,"Translation
\r
637 <p class="whs1">id_tr2d = geompy.addToStudy(tr2d,"Translation
\r
642 <p># display the prism and the results of fillet operation</p>
\r
644 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
646 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
648 <p class="whs1">gg.createAndDisplayGO(id_tr1d)</p>
\r
650 <p class="whs1">gg.setDisplayMode(id_tr1d,1)</p>
\r
652 <p class="whs1">gg.createAndDisplayGO(id_tr2d)</p>
\r
654 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_tr2d,1)</span>
\r
659 <h3><a name=bookmark9>Multi Rotation</a></h3>
\r
661 <p class="whs1">import geompy</p>
\r
663 <p class="whs1">import salome</p>
\r
665 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
669 <p># create vertices and vectors</p>
\r
671 <p class="whs1">p0 =
\r
672 geompy.MakeVertex( 0., 0.,
\r
675 <p class="whs1">px =
\r
676 geompy.MakeVertex(20., 0.,
\r
679 <p class="whs1">py =
\r
680 geompy.MakeVertex( 0., 20., 0.)</p>
\r
682 <p class="whs1">pz =
\r
683 geompy.MakeVertex( 0., 0.,
\r
686 <p class="whs1">pxyz = geompy.MakeVertex(
\r
689 <p class="whs1">vz =
\r
690 geompy.MakeVector(p0, pz)</p>
\r
692 <p class="whs1">vxy = geompy.MakeVector(px,
\r
695 <p class="whs1">vrot1d = geompy.MakeVector(p0,
\r
698 <p> </p>
\r
700 <p># create an arc</p>
\r
702 <p class="whs1">arc = geompy.MakeArc(py,
\r
707 <p># create a wire</p>
\r
709 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
714 <p># create a planar face</p>
\r
716 <p class="whs1">face = geompy.MakeFace(wire,
\r
721 <p># create a prism</p>
\r
723 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
728 <p># rotate the given object around the given axis by the given angle a
\r
729 given number of times</p>
\r
731 <p class="whs1">rot1d = geompy.MultiRotate1D(prism,
\r
736 <p># rotate the given object around the given axis by the given angle a
\r
737 given number of times</p>
\r
739 <p># and multi-translate the result of each rotation</p>
\r
741 <p class="whs1">rot2d = geompy.MultiRotate2D(prism,
\r
742 vrot1d, 60, 4, 50, 5)</p>
\r
746 <p># add objects in the study</p>
\r
748 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
750 <p class="whs1">id_rot1d = geompy.addToStudy(rot1d,"Rotation
\r
753 <p class="whs1">id_rot2d = geompy.addToStudy(rot2d,"Rotation
\r
758 <p># display the prism and the results of fillet operation</p>
\r
760 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
762 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
764 <p class="whs1">gg.createAndDisplayGO(id_rot1d)</p>
\r
766 <p class="whs1">gg.setDisplayMode(id_rot1d,1)</p>
\r
768 <p class="whs1">gg.createAndDisplayGO(id_rot2d)</p>
\r
770 <p class="whs1">gg.setDisplayMode(id_rot2d,1)
\r
773 <p class="whs1"> </p>
\r
775 <h3><a name=bookmark2>Fillet</a></h3>
\r
777 <p class="whs1">import geompy</p>
\r
779 <p class="whs1">import salome</p>
\r
781 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
783 <p class="whs1">radius =
\r
786 <p class="whs1">ShapeTypeEdge = geompy.ShapeType["EDGE"]</p>
\r
788 <p class="whs1"> </p>
\r
790 <p># create vertices and vectors</p>
\r
792 <p class="whs1">p0 =
\r
793 geompy.MakeVertex( 0.,
\r
795 0.)</p>
\r
797 <p class="whs1">px =
\r
798 geompy.MakeVertex(100., 0.,
\r
799 0.)</p>
\r
801 <p class="whs1">py =
\r
802 geompy.MakeVertex( 0.,
\r
803 100., 0.)</p>
\r
805 <p class="whs1">pz =
\r
806 geompy.MakeVertex( 0.,
\r
810 <p class="whs1">vz =
\r
811 geompy.MakeVector(p0, pz)</p>
\r
813 <p class="whs1">vxy = geompy.MakeVector(px,
\r
816 <p> </p>
\r
818 <p># create an arc</p>
\r
820 <p class="whs1">arc = geompy.MakeArc(py,
\r
825 <p># create a wire</p>
\r
827 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
832 <p># create a planar face</p>
\r
834 <p class="whs1">face = geompy.MakeFace(wire,
\r
839 <p># create a prism</p>
\r
841 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
846 <p># get the list of IDs (IDList) for the fillet</p>
\r
848 <p class="whs1">prism_edges = geompy.SubShapeAllSorted(prism,
\r
851 <p class="whs1">IDlist_e = []</p>
\r
853 <p class="whs1">IDlist_e.append(geompy.GetSubShapeID(prism,
\r
854 prism_edges[0]))</p>
\r
856 <p class="whs1">IDlist_e.append(geompy.GetSubShapeID(prism,
\r
857 prism_edges[1]))</p>
\r
859 <p class="whs1">IDlist_e.append(geompy.GetSubShapeID(prism,
\r
860 prism_edges[2]))</p>
\r
864 <p># make a fillet on the specified edges of the given shape</p>
\r
866 <p class="whs1">fillet = geompy.MakeFillet(prism,
\r
867 radius, ShapeTypeEdge, IDlist_e)</p>
\r
871 <p># make a fillet on all edges of the given shape</p>
\r
873 <p class="whs1">filletall = geompy.MakeFilletAll(prism,
\r
878 <p># add objects in the study</p>
\r
880 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
882 <p class="whs1">id_fillet = geompy.addToStudy(fillet,"Fillet")</p>
\r
884 <p class="whs1">id_filletall = geompy.addToStudy(filletall,"Fillet
\r
889 <p># display the prism and the results of fillet operation</p>
\r
891 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
893 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
895 <p class="whs1">gg.createAndDisplayGO(id_fillet)</p>
\r
897 <p class="whs1">gg.setDisplayMode(id_fillet,1)</p>
\r
899 <p class="whs1">gg.createAndDisplayGO(id_filletall)</p>
\r
901 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_filletall,1)</span>
\r
906 <h3><a name=bookmark3>Chamfer</a></h3>
\r
908 <p class="whs1">import geompy</p>
\r
910 <p class="whs1">import salome</p>
\r
912 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
914 <p class="whs1">d1 = 10.</p>
\r
916 <p class="whs1">d2 = 10.</p>
\r
918 <p class="whs1">ShapeTypeFace = geompy.ShapeType["FACE"]</p>
\r
922 <p># create vertices and vectors</p>
\r
924 <p class="whs1">p0 =
\r
925 geompy.MakeVertex( 0.,
\r
927 0.)</p>
\r
929 <p class="whs1">px =
\r
930 geompy.MakeVertex(100., 0.,
\r
931 0.)</p>
\r
933 <p class="whs1">py =
\r
934 geompy.MakeVertex( 0.,
\r
935 100., 0.)</p>
\r
937 <p class="whs1">pz =
\r
938 geompy.MakeVertex( 0.,
\r
942 <p class="whs1">vz =
\r
943 geompy.MakeVector(p0, pz)</p>
\r
945 <p class="whs1">vxy = geompy.MakeVector(px,
\r
948 <p> </p>
\r
950 <p># create an arc</p>
\r
952 <p class="whs1">arc = geompy.MakeArc(py,
\r
957 <p># create a wire</p>
\r
959 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
964 <p># create a planar face</p>
\r
966 <p class="whs1">face = geompy.MakeFace(wire,
\r
971 <p># create a prism</p>
\r
973 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
978 <p># get the list of IDs (IDList) for the chamfer</p>
\r
980 <p class="whs1">prism_faces = geompy.SubShapeAllSorted(prism,
\r
983 <p class="whs1">f_ind_1 = geompy.GetSubShapeID(prism,
\r
984 prism_faces[0])</p>
\r
986 <p class="whs1">f_ind_2 = geompy.GetSubShapeID(prism,
\r
987 prism_faces[1])</p>
\r
989 <p class="whs1">IDlist_f = [f_ind_1,
\r
994 <p># perform a chamfer on the edges common to the specified faces</p>
\r
996 <p class="whs1">chamfer_e = geompy.MakeChamferEdge(prism,
\r
997 d1, d2, f_ind_1, f_ind_2)</p>
\r
1001 <p># perform a chamfer on all edges of the specified faces</p>
\r
1003 <p class="whs1">chamfer_f = geompy.MakeChamferFaces(prism,
\r
1004 d1, d2, IDlist_f)</p>
\r
1006 <p class="whs1">chamfer_f1 = geompy.MakeChamfer(prism,
\r
1007 d1, d2, ShapeTypeFace, IDlist_f)</p>
\r
1011 <p># perform a symmetric chamfer on all edges of the given shape</p>
\r
1013 <p class="whs1">chamfer_all = geompy.MakeChamferAll(prism,
\r
1018 <p># add objects in the study</p>
\r
1020 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
1022 <p class="whs1">id_chamfer_e = geompy.addToStudy(chamfer_e,"Chamfer
\r
1025 <p class="whs1">id_chamfer_f = geompy.addToStudy(chamfer_f,"Chamfer
\r
1028 <p class="whs1">id_chamfer_f1 = geompy.addToStudy(chamfer_f1,"Chamfer
\r
1029 faces 1")</p>
\r
1031 <p class="whs1">id_chamfer_all = geompy.addToStudy(chamfer_all,"Chamfer
\r
1036 <p># display the prism and the results of chamfer operation</p>
\r
1038 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
1040 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
1042 <p class="whs1">gg.createAndDisplayGO(id_chamfer_e)</p>
\r
1044 <p class="whs1">gg.setDisplayMode(id_chamfer_e,1)</p>
\r
1046 <p class="whs1">gg.createAndDisplayGO(id_chamfer_f)</p>
\r
1048 <p class="whs1">gg.setDisplayMode(id_chamfer_f,1)</p>
\r
1050 <p class="whs1">gg.createAndDisplayGO(id_chamfer_f1)</p>
\r
1052 <p class="whs1">gg.setDisplayMode(id_chamfer_f1,1)</p>
\r
1054 <p class="whs1">gg.createAndDisplayGO(id_chamfer_all)</p>
\r
1056 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_chamfer_all,1)</span>
\r
1063 <script type="text/javascript" language="javascript1.2">
\r
1065 if (window.writeIntopicBar)
\r
1066 writeIntopicBar(0);
\r