Page 211 - 6734
P. 211

mw.Add(edge1) # додати ребро
           mw.Add(edge2) # додати ребро
           wire=mw.Wire() # контур (TopoDS_Wire)

           face=BRepBuilderAPI_MakeFace(wire).Face() # грань
           (TopoDS_Face)
           vector=gp_Vec(p1, gp_Pnt(1, 0, 1)) # вектор (gp_Vec)
           from OCC.BRepPrimAPI import * # забезпечує API для
           створення примітивів (призм, тіл обертання,
           витягувань, сфер, циліндрів ...)
           solid1 = BRepPrimAPI_MakePrism(face, vector).Shape()
           # призма (TopoDS_Shape)

           axis=gp_Ax1(gp_Pnt(),gp_Dir(0,1,0)) # вісь Y (gp_Ax1)
           solid2 = BRepPrimAPI_MakeRevol(face, axis,
           pi).Shape() # тіло обертання (TopoDS_Shape)

           from OCC.BRepAlgoAPI import * # забезпечує новий API
           для булевих операцій з формами (об'єднань, вирізів,
           перетинів)
           solid3=BRepAlgoAPI_Fuse(solid2, solid1).Shape() #
           тіло після об'єднання (TopoDS_Shape); деколи важлива
           послідовність аргументів

           from OCC.Display.SimpleGui import init_display #
           засоби для створення GUI
           display, start_display, add_menu,
           add_function_to_menu = init_display()
           display.set_bg_gradient_color(255,255,255,255,255,255
           ) # колір фону
           display.DisplayShape(solid3) # показати форму
           display.FitAll()
           start_display()



                                         210
   206   207   208   209   210   211   212   213   214   215   216