| 672 | | }}} |
| 673 | | 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: |
| 674 | | {{{ |
| 675 | | #!python |
| 676 | | lupina = BRepOffsetAPI_MakeThickSolid(Oblika, Odstr_ploskve, debelina, toleranca) |
| 677 | | ''' |
| 678 | | #Uporabimo seznam, ki vsebuje povšine (postopek je opisan pri Izdelava posnetij (Chamfer)) |
| | 676 | from OCC.TopExp import * |
| | 677 | from OCC.TopoDS import * |
| | 678 | from OCC.TopTools import * |
| | 679 | from OCC.TopAbs import * |
| | 680 | |
| | 681 | display, start_display, add_menu, add_function_to_menu = init_display() |
| | 682 | my_box = BRepPrimAPI_MakeBox(10., 20., 30.) |
| | 683 | |
| | 684 | debelina = 1 |
| | 685 | toleranca = 1.e-8 |
| | 686 | |
| | 687 | # -------------------------------------------------- |
| | 688 | # Seznam, ki vsebuje vse površine |
| | 689 | # -------------------------------------------------- |
| | 690 | |
| | 691 | aFaceExplorer = TopExp_Explorer(my_box.Shape(), TopAbs_FACE) |
| | 692 | |
| | 693 | face_results = [] |
| | 694 | while aFaceExplorer.More(): |
| | 695 | aFace = topods().Face(aFaceExplorer.Current()) |
| | 696 | face_results.append(aFace) |
| | 697 | aFaceExplorer.Next() |
| | 698 | aFaceExplorer.ReInit() |
| | 699 | |
| | 700 | # -------------------------------------------------- |
| | 701 | # Odstranjevanje ploskev, ki jih v modelu ne želimo |
| | 702 | # -------------------------------------------------- |
| | 703 | |
| 680 | | Odstr_ploskve.Append(face_results[0]) #Sedaj smo med povšine, ki bodo odstranjene, dodali površino 0. Dodajamo poljubno. |
| 681 | | debelina = 1 |
| 682 | | toleranca = 1.e-3 |
| 683 | | ''' |
| | 705 | Odstr_ploskve.Append(face_results[0]) |
| | 706 | Odstr_ploskve.Append(face_results[2]) |
| | 707 | |
| | 708 | # -------------------------------------------------- |
| | 709 | # Definiranje lupine |
| | 710 | # -------------------------------------------------- |
| | 711 | lupina = BRepOffsetAPI_MakeThickSolid(my_box.Shape(), Odstr_ploskve, debelina, toleranca) |
| | 712 | |
| | 713 | |
| | 714 | #display.DisplayShape(my_box.Shape(), update=True) |
| | 715 | display.DisplayShape(lupina.Shape(), update=True) |
| | 716 | start_display() |
| | 717 | |