| 640 | [[Image(32.png, 300, right)]] |
| 641 | Z ukazom modificiramo obstoječo geometrijo s tem, da dodamo nagibne kote na planarne, cilindrične ali konične ploskve na modelu. Uporabimo knjižnico ukazov BRepOffsetAPI. Uporabo ukaza določimo z: |
| 642 | {{{ |
| 643 | #!python |
| 644 | nagib = BRepOffsetAPI_DraftAngle(oblika) |
| 645 | }}} |
| 646 | Pri tem je potrebno odločiti še parametre, kot so smer normale, kot nagiba v radianih ter nevtralno ravnino. Primer dodajanja kota nagiba na objekt: |
| 647 | {{{ |
| 648 | #!python |
| 649 | nagib = BRepOffsetAPI_DraftAngle(Oblika) |
| 650 | for f in topo.faces(): |
| 651 | surf = Handle_Geom_Plane_DownCast(BRep_Tool_Surface(f)).GetObject() |
| 652 | dirf = surf.Pln().Axis().Direction() |
| 653 | ddd = gp_Dir(0,0,1) |
| 654 | if dirf.IsNormal(ddd, Precision_Angular()): |
| 655 | nagib.Add(f, ddd, math.radians(25), gp_Pln(gp_Ax3(gp_XOY()))) |
| 656 | nagib.Build() |
| 657 | }}} |
| 658 | [[BR]][[BR]] |
| 661 | [[Image(32.png, 300, right)]] |
| 662 | Za izdelavo ojačitvenega rebra med dvema planarnima površinama se uporabi ukaz BRepFeat. Za izvedbo ukaza je potrebno vključiti naslednjo knjižnico: |
| 663 | {{{ |
| 664 | #!python |
| 665 | from OCC.BRepFeat import * |
| 666 | from OCC.BRepAlgoAPI import * |
| 667 | }}} |
| 668 | Pri izdelavi rebra je potrebno imeti najprej že predhodno narejen model, ki vsebuje dve povšini, med katerima lahko napravimo rebro. Izdelava rebra poteka v parih preprostih korakih. Najprej je potrebno napraviti črto, ki povezuje obe površini. To naredimo tako, da določimo dve točki, ki se nahajata vsaka na eni izmed površin. Nato naredimo referenčno ravnino, ki služi kot referenca za prerez rebra: |
| 669 | {{{ |
| 670 | #!python |
| 671 | Povezava = BRepBuilderAPI_MakeWire(BRepBuilderAPI_MakeEdge(Tocka_1, Tocka_2.Edge() ) |
| 672 | ravnina = Geom_Plane(U_X,U_Y,U_Z,Velikost_U) |
| 673 | }}} |
| 674 | Za izdelavo rebra uporabimo ukaz MakeLinearForm, kjer uporabimo poznano obliko, povezavo med površinama, referenčno ravnino, ter dva vektorja, ki nam določita smer oziroma debelino rebra v eni ter v drugi smeri glede na normalo ravnine: |
| 675 | {{{ |
| 676 | #!python |
| 677 | rebro = BRepFeat_MakeLinearForm( Oblika, Povezava, ravnina,Vect_1, Vect_2, 1, True ) |
| 678 | }}} |
| 679 | [[BR]][[BR]] |
| 680 | |
| 681 | === Zrcaljenje ( Mirror ) === |
| 682 | [[Image(33.png, 300, right)]] |
| 683 | Za zrcaljenje poljubne oblike se uporabi ukaz iz knjižnice BRepBuilderAPI: |
| 684 | {{{ |
| 685 | #!python |
| 686 | from OCC.BRepBuilderAPI import * |
| 687 | }}} |
| 688 | Pri zrcaljenju objekta preko točke je potrebno najprej definirati točko zrcaljenja ter nato določiti izbrano točko za zrcaljenje: |
| 689 | {{{ |
| 690 | #!python |
| 691 | Transformacija = gp_Trsf() |
| 692 | Tocka_zrcaljenja = gp_Pnt(110.,60.,60.) |
| 693 | Vozlisce = BRepBuilderAPI_MakeVertex(Tocka_zrcaljenja) |
| 694 | Transformacija.SetMirror(Tocka_zrcaljenja); |
| 695 | }}} |
| 696 | Za izvedbo zrcaljenja uporabimo ukaz BRepBuilderAPI_Transform, kjer v prvem argumentu določimo objekt ki ga zrcalimo, v drugem argumentu pa transformacijsko obliko, ki že vsebuje podatek o tipu transformacije ter parametre. |
| 697 | {{{ |
| 698 | #!python |
| 699 | myBRepTransformation = BRepBuilderAPI_Transform(Prizma,Transformacija) |
| 700 | Zrcalna_oblika = myBRepTransformation.Shape() |
| 701 | }}} |