572 | | |
573 | | === Izdelava lupine (Shell) === |
574 | | |
575 | | === Izdelava odmika (OffsetShape) === |
576 | | |
577 | | === Izdelava kota nagiba (Draft_Angle) === |
578 | | |
579 | | === Izdelava rebra (MakeLinerForm) === |
| 572 | Pri izdelavi posnetij v programskem okolju je potrebno predhodno uvesti knjižnico orodij za izdelavo posnetij: |
| 573 | {{{ |
| 574 | #!python |
| 575 | from OCC.TopExp import* #knjiznica z topoloskimi elementi |
| 576 | from OCC.BRepFilletAPI import * #Knjiznica z zaokrozitvami |
| 577 | from OCC.Utils.Topology import * |
| 578 | from OCC.BRep import * |
| 579 | }}} |
| 580 | Izdelava posnetja poteka podobno, kakor izdelava zaokrožitve, saj imamo za vir ukazov isto knjižnico BRepFilletAPI. Na enak način, kot v primeru zaokrožitve, določimo uporabo posnetja: |
| 581 | {{{ |
| 582 | #!python |
| 583 | posnetje = BRepFilletAPI_MakeChamfer(kocka.Shape()) |
| 584 | }}} |
| 585 | Operacija za izdelavo posnetja pa zahteva nekoliko več argumentov, saj je lokacija posnetja določena z izbiro robu ter referenčne površine. Pri določitvi velikosti posnetja imamo lahko primer posnetja pod kotom 45°, za kar rabimo določiti samo eno razdaljo posnetja, ali pa primer ko imamo kot posnetja različen od 45°. V tem primeru je potrebno določiti razdalji posnetja na površinah, ki obdajata rob. Dodajanje posnetja na obliko poteka: |
| 586 | {{{ |
| 587 | #!python |
| 588 | posnetje.Add(Razdalja, Rob, Povrsina) |
| 589 | posnetje.Add(Razdalja_1, Razdalja_2, Rob, Povrsina) |
| 590 | }}} |
| 591 | Primer izdelave posnetja na zgornji in spodnji ploskvi kocke: |
| 592 | {{{ |
| 593 | #!python |
| 594 | posnetje = BRepFilletAPI_MakeChamfer(Oblika) |
| 595 | topology_traverser = Topo(Oblika) |
| 596 | for aEdge in topology_traverser.edges(): |
| 597 | first, last = TopExp().FirstVertex(aEdge), TopExp().LastVertex(aEdge) |
| 598 | first_vert, last_vert = BRep_Tool().Pnt(first), BRep_Tool().Pnt(last) |
| 599 | if first_vert.Z()==Visina and last_vert.Z()==Visina: |
| 600 | for aFace in topology_traverser.faces(): |
| 601 | posnetje.Add(Razdalja, Rob, Povrsina) |
| 602 | # posnetje.Add(Razdalja_1, Razdalja_2, Rob, Povrsina) |
| 603 | if first_vert.Z()==0 and last_vert.Z()==0: |
| 604 | for aFace in topology_traverser.faces(): |
| 605 | posnetje.Add(Razdalja, Rob, Povrsina) |
| 606 | # posnetje.Add(Razdalja_1, Razdalja_2, Rob, Povrsina) |
| 607 | kocka = posnetje |
| 608 | }}} |
| 609 | |
| 610 | === Izdelava lupine ( Shell ) === |
| 611 | Volumski model lahko pretvorimo tudi v tenkostenski objekt z orodjem za izdelavo lupin. Pri tem uporabimo nabor ukazov iz knjižnice BRepOffsetAPI: |
| 612 | {{{ |
| 613 | #!python |
| 614 | from OCC.BRepOffsetAPI import * |
| 615 | }}} |
| 616 | Pri izdelavi lupine je potrebno določiti geometrijo iz katere hočemo narediti lupiono, ploskve, ki jih hočemo odstraniti, debelino lupine ter toleranco izdelave modela: |
| 617 | {{{ |
| 618 | #!python |
| 619 | lupina = BRepOffsetAPI_MakeThickSolid(Oblika, Odstr_ploskve, debelina, toleranca) |
| 620 | }}} |
| 621 | |
| 622 | === Izdelava odmika ( OffsetShape ) === |
| 623 | Z orodjem za izdelavo odmika lahko napravimo nov objekt, ki bazira na obstoječi geometriji, le da je nekoliko večji ali pa manjši. Za uporabo ukaza je potrebno v program uvesti knjižnico: |
| 624 | {{{ |
| 625 | #!python |
| 626 | from OCC.BRepOffsetAPI import * |
| 627 | }}} |
| 628 | Napravimo vzporedni odmik posamezne ploskve ali pa vzamemo kar celotni objekt. Najbolj preprosta operacija zahteva argumente geometrije, dolžine vzporednega odmika ter tolerace. Vzporedni odmik lahko poteka v obe smeri- lahko naredimo element, ki je večji ali manjši od osnovnega modela. |
| 629 | {{{ |
| 630 | #!python |
| 631 | odmik = BRepOffsetAPI_MakeOffsetShape(Oblika,debelina,toleranca) |
| 632 | odmik = BRepOffsetAPI_MakeOffsetShape(Oblika,debelina,toleranca, BRepOffset_Skin, Standard_False, Standard_False, GeomAbs_Intersection) |
| 633 | }}} |
| 634 | === Izdelava kota nagiba ( Draft_Angle ) === |
| 635 | |
| 636 | === Izdelava rebra ( MakeLinerForm ) === |