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