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
36 p.WebHelpNavBar { text-align:right; }
\r
38 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
\r
39 <script type="text/javascript" language="javascript" src="whver.js"></script>
\r
40 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
\r
41 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
\r
42 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
\r
43 <script type="text/javascript" language="javascript1.2">
\r
45 if (window.gbWhTopic)
\r
47 if (window.setRelStartPage)
\r
49 addTocInfo("Geometry module\nTUI Scripts\nTransformation\nTransformation Operations");
\r
50 addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
\r
51 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
\r
56 if (window.setRelStartPage)
\r
58 setRelStartPage("index.htm");
\r
68 document.location.reload();
\r
72 <body><script type="text/javascript" language="javascript1.2">
\r
74 if (window.writeIntopicBar)
\r
78 <h1>Transformation Operations</h1>
\r
80 <h3><a name=bookmark>Translation</a></h3>
\r
82 <p class="whs1">import geompy</p>
\r
84 <p class="whs1">import salome</p>
\r
86 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
90 <p># create a vertex and a vector</p>
\r
92 <p class="whs1">p1 = geompy.MakeVertex(10,
\r
95 <p class="whs1">p2 = geompy.MakeVertex(
\r
98 <p class="whs1">p3 = geompy.MakeVertex(50,
\r
101 <p class="whs1">v = geompy.MakeVector(p1,
\r
104 <p class="whs1">vt = geompy.MakeVector(p1,
\r
109 <p># create a cylinder</p>
\r
111 <p class="whs1">height = 35</p>
\r
113 <p class="whs1">radius1 = 20</p>
\r
115 <p class="whs1">cylinder = geompy.MakeCylinder(p1,
\r
116 v, radius1, height)</p>
\r
120 <p># translate the given object along the vector, specified by its end
\r
123 <p># (all three functions produce the same result)</p>
\r
125 <p class="whs1">translation1 = geompy.MakeTranslationTwoPoints(cylinder,
\r
128 <p class="whs1">translation2 = geompy.MakeTranslation(cylinder,
\r
131 <p class="whs1">translation3 = geompy.MakeTranslationVector(cylinder,
\r
136 <p># add objects in the study</p>
\r
138 <p class="whs1">id_cylinder = geompy.addToStudy(cylinder,
\r
139 "Cylinder")</p>
\r
141 <p class="whs1">id_translation1 =
\r
142 geompy.addToStudy(translation1, "Translation1")</p>
\r
144 <p class="whs1">id_translation2 =
\r
145 geompy.addToStudy(translation2, "Translation2")</p>
\r
147 <p class="whs1">id_translation3 =
\r
148 geompy.addToStudy(translation3, "Translation3")</p>
\r
152 <p># display the results</p>
\r
154 <p class="whs1">gg.createAndDisplayGO(id_cylinder)</p>
\r
156 <p class="whs1">gg.setDisplayMode(id_cylinder,1)</p>
\r
158 <p class="whs1">gg.createAndDisplayGO(id_translation1)</p>
\r
160 <p class="whs1">gg.setDisplayMode(id_translation1,1)</p>
\r
162 <p class="whs1">gg.createAndDisplayGO(id_translation2)</p>
\r
164 <p class="whs1">gg.setDisplayMode(id_translation2,1)</p>
\r
166 <p class="whs1">gg.createAndDisplayGO(id_translation3)</p>
\r
168 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_translation3,1)</span>
\r
171 <h3><a name=bookmark1>Rotation</a></h3>
\r
173 <p class="whs1">import geompy</p>
\r
175 <p class="whs1">import salome</p>
\r
177 <p class="whs1">import math</p>
\r
179 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
183 <p># create a vertex and a vector</p>
\r
185 <p class="whs1">p1 = geompy.MakeVertex(10,
\r
188 <p class="whs1">p2 = geompy.MakeVertex(
\r
189 0, 0, 50)</p>
\r
191 <p class="whs1">p3 = geompy.MakeVertex(10,
\r
194 <p class="whs1">p4 = geompy.MakeVertex(10,
\r
197 <p class="whs1">v = geompy.MakeVector(p1,
\r
200 <p class="whs1">vr = geompy.MakeVector(p3,
\r
205 <p># create a cylinder</p>
\r
207 <p class="whs1">height = 35</p>
\r
209 <p class="whs1">radius1 = 20</p>
\r
211 <p class="whs1">cylinder = geompy.MakeCylinder(p1,
\r
212 v, radius1, height)</p>
\r
216 <p># rotate the given object around the given axis by the given angle</p>
\r
218 <p class="whs1">rotation = geompy.MakeRotation(cylinder,
\r
223 <p># add objects in the study</p>
\r
225 <p class="whs1">id_vr = geompy.addToStudy(vr,
\r
226 "Rotation axis")</p>
\r
228 <p class="whs1">id_cylinder = geompy.addToStudy(cylinder,
\r
229 "Cylinder")</p>
\r
231 <p class="whs1">id_rotation = geompy.addToStudy(rotation,
\r
232 "Rotation")</p>
\r
236 <p># display the results</p>
\r
238 <p class="whs1">gg.createAndDisplayGO(id_vr)</p>
\r
240 <p class="whs1">gg.createAndDisplayGO(id_cylinder)</p>
\r
242 <p class="whs1">gg.setDisplayMode(id_cylinder,1)</p>
\r
244 <p class="whs1">gg.createAndDisplayGO(id_rotation)</p>
\r
246 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_rotation,1)</span>
\r
251 <h3><a name=bookmark4>Modify Location</a></h3>
\r
253 <p class="whs1">import geompy</p>
\r
255 <p class="whs1">import salome</p>
\r
257 <p class="whs1">import math</p>
\r
259 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
263 <p># create a vertex and a vector</p>
\r
265 <p class="whs1">p1 = geompy.MakeVertex(10,
\r
268 <p class="whs1">p2 = geompy.MakeVertex(
\r
269 0, 0, 50)</p>
\r
271 <p class="whs1">v = geompy.MakeVector(p1,
\r
276 <p># create a cylinder</p>
\r
278 <p class="whs1">height = 35</p>
\r
280 <p class="whs1">radius1 = 20</p>
\r
282 <p class="whs1">cylinder = geompy.MakeCylinder(p1,
\r
283 v, radius1, height)</p>
\r
287 <p># create local coordinate systems</p>
\r
289 <p class="whs1">cs1 = geompy.MakeMarker(
\r
290 0, 0, 0, 1,0,0, 0,1,0)</p>
\r
292 <p class="whs1">cs2 = geompy.MakeMarker(30,40,40,
\r
297 <p># modify the location of the given object</p>
\r
299 <p class="whs1">position = geompy.MakePosition(cylinder,
\r
304 <p># add objects in the study</p>
\r
306 <p class="whs1">id_cs1 = geompy.addToStudy(cs1,
\r
307 "Coordinate system 1")</p>
\r
309 <p class="whs1">id_cs2 = geompy.addToStudy(cs2,
\r
310 "Coordinate system 2")</p>
\r
312 <p class="whs1">id_cylinder = geompy.addToStudy(cylinder,
\r
313 "Cylinder")</p>
\r
315 <p class="whs1">id_position = geompy.addToStudy(position,
\r
316 "Position")</p>
\r
318 <p class="whs1"> </p>
\r
320 <p># display the results</p>
\r
322 <p class="whs1">gg.createAndDisplayGO(id_cylinder)</p>
\r
324 <p class="whs1">gg.setDisplayMode(id_cylinder,1)</p>
\r
326 <p class="whs1">gg.createAndDisplayGO(id_position)</p>
\r
328 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_position,1)</span>
\r
333 <h3><a name=bookmark5>Mirror Image</a></h3>
\r
335 <p class="whs1">import geompy</p>
\r
337 <p class="whs1">import salome</p>
\r
339 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
343 <p># create a box</p>
\r
345 <p class="whs1">box = geompy.MakeBoxDXDYDZ(200,
\r
350 <p># create an object, symmetrical to the given one relatively the given
\r
353 <p class="whs1">p1 = geompy.MakeVertex(
\r
354 0, 25, 0)</p>
\r
356 <p class="whs1">p2 = geompy.MakeVertex(
\r
357 5, 25, 0)</p>
\r
359 <p class="whs1">p3 = geompy.MakeVertex(
\r
362 <p class="whs1">plane = geompy.MakePlaneThreePnt(p1,
\r
365 <p class="whs1">mirror1 = geompy.MakeMirrorByPlane(box,
\r
370 <p># create an object, symmetrical to the given one relatively the given
\r
373 <p class="whs1">p4 = geompy.MakeVertex(
\r
376 <p class="whs1">p5 = geompy.MakeVertex(
\r
379 <p class="whs1">axis = geompy.MakeVector(p4,
\r
382 <p class="whs1">mirror2 = geompy.MakeMirrorByAxis(box,
\r
387 <p># create an object, symmetrical to the given one relatively the given
\r
390 <p class="whs1">mirror3 = geompy.MakeMirrorByPoint(box,
\r
395 <p># add objects in the study</p>
\r
397 <p class="whs1">id_box = geompy.addToStudy(box,
\r
398 "Box")</p>
\r
400 <p class="whs1">id_plane = geompy.addToStudy(plane,
\r
401 "Plane")</p>
\r
403 <p class="whs1">id_mirror1 = geompy.addToStudy(mirror1,
\r
404 "Mirror plane")</p>
\r
406 <p class="whs1">id_axis = geompy.addToStudy(axis,
\r
407 "Axis")</p>
\r
409 <p class="whs1">id_mirror2 = geompy.addToStudy(mirror2,
\r
410 "Mirror axis")</p>
\r
412 <p class="whs1">id_p4 = geompy.addToStudy(p4,
\r
413 "Point")</p>
\r
415 <p class="whs1">id_mirror3 = geompy.addToStudy(mirror3,
\r
416 "Mirror point")</p>
\r
420 <p># display the results</p>
\r
422 <p class="whs1">gg.createAndDisplayGO(id_box)</p>
\r
424 <p class="whs1">gg.setDisplayMode(id_box,1)</p>
\r
426 <p class="whs1">gg.createAndDisplayGO(id_plane)</p>
\r
428 <p class="whs1">gg.createAndDisplayGO(id_mirror1)</p>
\r
430 <p class="whs1">gg.setDisplayMode(id_mirror1,1)</p>
\r
432 <p class="whs1">gg.createAndDisplayGO(id_axis)</p>
\r
434 <p class="whs1">gg.createAndDisplayGO(id_mirror2)</p>
\r
436 <p class="whs1">gg.setDisplayMode(id_mirror2,1)</p>
\r
438 <p class="whs1">gg.createAndDisplayGO(id_p4)</p>
\r
440 <p class="whs1">gg.createAndDisplayGO(id_mirror3)</p>
\r
442 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_mirror3,1)</span>
\r
447 <h3><a name=bookmark6>Scale Transform </a></h3>
\r
449 <p class="whs1">import geompy</p>
\r
451 <p class="whs1">import salome</p>
\r
453 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
457 <p># create a box and a sphere</p>
\r
459 <p class="whs1">box = geompy.MakeBoxDXDYDZ(200,
\r
464 <p># scale the given object by the factor</p>
\r
466 <p class="whs1">p0 = geompy.MakeVertex(100,
\r
469 <p class="whs1">factor = 0.5</p>
\r
471 <p class="whs1">scale = geompy.MakeScaleTransform(box,
\r
476 <p># add objects in the study</p>
\r
478 <p class="whs1">id_box = geompy.addToStudy(box,
\r
479 "Box")</p>
\r
481 <p class="whs1">id_scale = geompy.addToStudy(scale,
\r
482 "Scale")</p>
\r
486 <p># display the results</p>
\r
488 <p class="whs1">gg.createAndDisplayGO(id_box)</p>
\r
490 <p class="whs1">gg.setDisplayMode(id_box,1)</p>
\r
492 <p class="whs1">gg.createAndDisplayGO(id_scale)</p>
\r
494 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_scale,1)</span>
\r
499 <h3><a name=bookmark7>Offset Surface</a></h3>
\r
501 <p class="whs1">import geompy</p>
\r
503 <p class="whs1">import salome</p>
\r
505 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
509 <p># create a box and a sphere</p>
\r
511 <p class="whs1">box = geompy.MakeBox(20,
\r
512 20, 20, 200, 200, 200)</p>
\r
516 <p># create a new object as offset of the given object</p>
\r
518 <p class="whs1">offset = geompy.MakeOffset(box,
\r
523 <p># add objects in the study</p>
\r
525 <p class="whs1">id_box = geompy.addToStudy(box,
\r
526 "Box")</p>
\r
528 <p class="whs1">id_offset = geompy.addToStudy(offset,
\r
529 "Offset")</p>
\r
531 <p class="whs1"> </p>
\r
533 <p># display the results</p>
\r
535 <p class="whs1">gg.createAndDisplayGO(id_box)</p>
\r
537 <p class="whs1">gg.setDisplayMode(id_box,1)</p>
\r
539 <p><span style="font-family: 'Lucida Console', monospace;">gg.createAndDisplayGO(id_offset)</span>
\r
544 <h3><a name=bookmark8>Multi Translation</a></h3>
\r
546 <p class="whs1">import geompy</p>
\r
548 <p class="whs1">import salome</p>
\r
550 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
554 <p># create vertices and vectors</p>
\r
556 <p class="whs1">p0 =
\r
557 geompy.MakeVertex( 0., 0.,
\r
560 <p class="whs1">px =
\r
561 geompy.MakeVertex(20., 0.,
\r
564 <p class="whs1">py =
\r
565 geompy.MakeVertex( 0., 20., 0.)</p>
\r
567 <p class="whs1">pz =
\r
568 geompy.MakeVertex( 0., 0.,
\r
571 <p class="whs1">pxy = geompy.MakeVertex(
\r
574 <p class="whs1">pxyz = geompy.MakeVertex(
\r
577 <p class="whs1">vz =
\r
578 geompy.MakeVector(p0, pz)</p>
\r
580 <p class="whs1">vxy = geompy.MakeVector(px,
\r
583 <p class="whs1">vtr1d = geompy.MakeVector(p0,
\r
586 <p class="whs1">vtr2d = geompy.MakeVector(p0,
\r
589 <p> </p>
\r
591 <p># create an arc</p>
\r
593 <p class="whs1">arc = geompy.MakeArc(py,
\r
598 <p># create a wire</p>
\r
600 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
605 <p># create a planar face</p>
\r
607 <p class="whs1">face = geompy.MakeFace(wire,
\r
612 <p># create a prism</p>
\r
614 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
619 <p># translate the given object along the given vector a given number of
\r
622 <p class="whs1">tr1d = geompy.MakeMultiTranslation1D(prism,
\r
627 <p># consequently apply two specified translations to the object a given
\r
628 number of times</p>
\r
630 <p class="whs1">tr2d = geompy.MakeMultiTranslation2D(prism,
\r
631 vtr1d, 20, 4, vtr2d, 80, 3)</p>
\r
635 <p># add objects in the study</p>
\r
637 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
639 <p class="whs1">id_tr1d = geompy.addToStudy(tr1d,"Translation
\r
642 <p class="whs1">id_tr2d = geompy.addToStudy(tr2d,"Translation
\r
647 <p># display the prism and the results of fillet operation</p>
\r
649 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
651 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
653 <p class="whs1">gg.createAndDisplayGO(id_tr1d)</p>
\r
655 <p class="whs1">gg.setDisplayMode(id_tr1d,1)</p>
\r
657 <p class="whs1">gg.createAndDisplayGO(id_tr2d)</p>
\r
659 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_tr2d,1)</span>
\r
664 <h3><a name=bookmark9>Multi Rotation</a></h3>
\r
666 <p class="whs1">import geompy</p>
\r
668 <p class="whs1">import salome</p>
\r
670 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
674 <p># create vertices and vectors</p>
\r
676 <p class="whs1">p0 =
\r
677 geompy.MakeVertex( 0., 0.,
\r
680 <p class="whs1">px =
\r
681 geompy.MakeVertex(20., 0.,
\r
684 <p class="whs1">py =
\r
685 geompy.MakeVertex( 0., 20., 0.)</p>
\r
687 <p class="whs1">pz =
\r
688 geompy.MakeVertex( 0., 0.,
\r
691 <p class="whs1">pxyz = geompy.MakeVertex(
\r
694 <p class="whs1">vz =
\r
695 geompy.MakeVector(p0, pz)</p>
\r
697 <p class="whs1">vxy = geompy.MakeVector(px,
\r
700 <p class="whs1">vrot1d = geompy.MakeVector(p0,
\r
703 <p> </p>
\r
705 <p># create an arc</p>
\r
707 <p class="whs1">arc = geompy.MakeArc(py,
\r
712 <p># create a wire</p>
\r
714 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
719 <p># create a planar face</p>
\r
721 <p class="whs1">face = geompy.MakeFace(wire,
\r
726 <p># create a prism</p>
\r
728 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
733 <p># rotate the given object around the given axis by the given angle a
\r
734 given number of times</p>
\r
736 <p class="whs1">rot1d = geompy.MultiRotate1D(prism,
\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># and multi-translate the result of each rotation</p>
\r
746 <p class="whs1">rot2d = geompy.MultiRotate2D(prism,
\r
747 vrot1d, 60, 4, 50, 5)</p>
\r
751 <p># add objects in the study</p>
\r
753 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
755 <p class="whs1">id_rot1d = geompy.addToStudy(rot1d,"Rotation
\r
758 <p class="whs1">id_rot2d = geompy.addToStudy(rot2d,"Rotation
\r
763 <p># display the prism and the results of fillet operation</p>
\r
765 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
767 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
769 <p class="whs1">gg.createAndDisplayGO(id_rot1d)</p>
\r
771 <p class="whs1">gg.setDisplayMode(id_rot1d,1)</p>
\r
773 <p class="whs1">gg.createAndDisplayGO(id_rot2d)</p>
\r
775 <p class="whs1">gg.setDisplayMode(id_rot2d,1)
\r
778 <p class="whs1"> </p>
\r
780 <h3><a name=bookmark2>Fillet</a></h3>
\r
782 <p class="whs1">import geompy</p>
\r
784 <p class="whs1">import salome</p>
\r
786 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
788 <p class="whs1">radius =
\r
791 <p class="whs1">ShapeTypeEdge = geompy.ShapeType["EDGE"]</p>
\r
793 <p class="whs1"> </p>
\r
795 <p># create vertices and vectors</p>
\r
797 <p class="whs1">p0 =
\r
798 geompy.MakeVertex( 0.,
\r
800 0.)</p>
\r
802 <p class="whs1">px =
\r
803 geompy.MakeVertex(100., 0.,
\r
804 0.)</p>
\r
806 <p class="whs1">py =
\r
807 geompy.MakeVertex( 0.,
\r
808 100., 0.)</p>
\r
810 <p class="whs1">pz =
\r
811 geompy.MakeVertex( 0.,
\r
815 <p class="whs1">vz =
\r
816 geompy.MakeVector(p0, pz)</p>
\r
818 <p class="whs1">vxy = geompy.MakeVector(px,
\r
821 <p> </p>
\r
823 <p># create an arc</p>
\r
825 <p class="whs1">arc = geompy.MakeArc(py,
\r
830 <p># create a wire</p>
\r
832 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
837 <p># create a planar face</p>
\r
839 <p class="whs1">face = geompy.MakeFace(wire,
\r
844 <p># create a prism</p>
\r
846 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
851 <p># get the list of IDs (IDList) for the fillet</p>
\r
853 <p class="whs1">prism_edges = geompy.SubShapeAllSorted(prism,
\r
856 <p class="whs1">IDlist_e = []</p>
\r
858 <p class="whs1">IDlist_e.append(geompy.GetSubShapeID(prism,
\r
859 prism_edges[0]))</p>
\r
861 <p class="whs1">IDlist_e.append(geompy.GetSubShapeID(prism,
\r
862 prism_edges[1]))</p>
\r
864 <p class="whs1">IDlist_e.append(geompy.GetSubShapeID(prism,
\r
865 prism_edges[2]))</p>
\r
869 <p># make a fillet on the specified edges of the given shape</p>
\r
871 <p class="whs1">fillet = geompy.MakeFillet(prism,
\r
872 radius, ShapeTypeEdge, IDlist_e)</p>
\r
876 <p># make a fillet on all edges of the given shape</p>
\r
878 <p class="whs1">filletall = geompy.MakeFilletAll(prism,
\r
883 <p># add objects in the study</p>
\r
885 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
887 <p class="whs1">id_fillet = geompy.addToStudy(fillet,"Fillet")</p>
\r
889 <p class="whs1">id_filletall = geompy.addToStudy(filletall,"Fillet
\r
894 <p># display the prism and the results of fillet operation</p>
\r
896 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
898 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
900 <p class="whs1">gg.createAndDisplayGO(id_fillet)</p>
\r
902 <p class="whs1">gg.setDisplayMode(id_fillet,1)</p>
\r
904 <p class="whs1">gg.createAndDisplayGO(id_filletall)</p>
\r
906 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_filletall,1)</span>
\r
911 <h3><a name=bookmark3>Chamfer</a></h3>
\r
913 <p class="whs1">import geompy</p>
\r
915 <p class="whs1">import salome</p>
\r
917 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
919 <p class="whs1">d1 = 10.</p>
\r
921 <p class="whs1">d2 = 10.</p>
\r
923 <p class="whs1">ShapeTypeFace = geompy.ShapeType["FACE"]</p>
\r
927 <p># create vertices and vectors</p>
\r
929 <p class="whs1">p0 =
\r
930 geompy.MakeVertex( 0.,
\r
932 0.)</p>
\r
934 <p class="whs1">px =
\r
935 geompy.MakeVertex(100., 0.,
\r
936 0.)</p>
\r
938 <p class="whs1">py =
\r
939 geompy.MakeVertex( 0.,
\r
940 100., 0.)</p>
\r
942 <p class="whs1">pz =
\r
943 geompy.MakeVertex( 0.,
\r
947 <p class="whs1">vz =
\r
948 geompy.MakeVector(p0, pz)</p>
\r
950 <p class="whs1">vxy = geompy.MakeVector(px,
\r
953 <p> </p>
\r
955 <p># create an arc</p>
\r
957 <p class="whs1">arc = geompy.MakeArc(py,
\r
962 <p># create a wire</p>
\r
964 <p class="whs1">wire = geompy.MakeWire([vxy,
\r
969 <p># create a planar face</p>
\r
971 <p class="whs1">face = geompy.MakeFace(wire,
\r
976 <p># create a prism</p>
\r
978 <p class="whs1">prism = geompy.MakePrismVecH(face,
\r
983 <p># get the list of IDs (IDList) for the chamfer</p>
\r
985 <p class="whs1">prism_faces = geompy.SubShapeAllSorted(prism,
\r
988 <p class="whs1">f_ind_1 = geompy.GetSubShapeID(prism,
\r
989 prism_faces[0])</p>
\r
991 <p class="whs1">f_ind_2 = geompy.GetSubShapeID(prism,
\r
992 prism_faces[1])</p>
\r
994 <p class="whs1">IDlist_f = [f_ind_1,
\r
999 <p># perform a chamfer on the edges common to the specified faces</p>
\r
1001 <p class="whs1">chamfer_e = geompy.MakeChamferEdge(prism,
\r
1002 d1, d2, f_ind_1, f_ind_2)</p>
\r
1006 <p># perform a chamfer on all edges of the specified faces</p>
\r
1008 <p class="whs1">chamfer_f = geompy.MakeChamferFaces(prism,
\r
1009 d1, d2, IDlist_f)</p>
\r
1011 <p class="whs1">chamfer_f1 = geompy.MakeChamfer(prism,
\r
1012 d1, d2, ShapeTypeFace, IDlist_f)</p>
\r
1016 <p># perform a symmetric chamfer on all edges of the given shape</p>
\r
1018 <p class="whs1">chamfer_all = geompy.MakeChamferAll(prism,
\r
1023 <p># add objects in the study</p>
\r
1025 <p class="whs1">id_prism = geompy.addToStudy(prism,"Prism")</p>
\r
1027 <p class="whs1">id_chamfer_e = geompy.addToStudy(chamfer_e,"Chamfer
\r
1030 <p class="whs1">id_chamfer_f = geompy.addToStudy(chamfer_f,"Chamfer
\r
1033 <p class="whs1">id_chamfer_f1 = geompy.addToStudy(chamfer_f1,"Chamfer
\r
1034 faces 1")</p>
\r
1036 <p class="whs1">id_chamfer_all = geompy.addToStudy(chamfer_all,"Chamfer
\r
1041 <p># display the prism and the results of chamfer operation</p>
\r
1043 <p class="whs1">gg.createAndDisplayGO(id_prism)</p>
\r
1045 <p class="whs1">gg.setDisplayMode(id_prism,1)</p>
\r
1047 <p class="whs1">gg.createAndDisplayGO(id_chamfer_e)</p>
\r
1049 <p class="whs1">gg.setDisplayMode(id_chamfer_e,1)</p>
\r
1051 <p class="whs1">gg.createAndDisplayGO(id_chamfer_f)</p>
\r
1053 <p class="whs1">gg.setDisplayMode(id_chamfer_f,1)</p>
\r
1055 <p class="whs1">gg.createAndDisplayGO(id_chamfer_f1)</p>
\r
1057 <p class="whs1">gg.setDisplayMode(id_chamfer_f1,1)</p>
\r
1059 <p class="whs1">gg.createAndDisplayGO(id_chamfer_all)</p>
\r
1061 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_chamfer_all,1)</span>
\r
1068 <script type="text/javascript" language="javascript1.2">
\r
1070 if (window.writeIntopicBar)
\r
1071 writeIntopicBar(0);
\r