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