| 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 ) === |