coor1 [coor0[i] yPlus[i] for i in range(3)]
coor2 [coor0[i] zPlus[i] yPlus[i] for i in range(3)]
coor3 [coor0[i] zPlus[i] for i in range(3)]
P0 gp_Pnt(coor0[0], coor0[1], coor0[2])
P1 gp_Pnt(coor1[0], coor1[1], coor1[2])
P2 gp_Pnt(coor2[0], coor2[1], coor2[2])
P3 gp_Pnt(coor3[0], coor3[1], coor3[2])
aSegment1 GC_MakeSegment(P0, P1)
anEdge1 BRepBuilderAPI_MakeEdge(aSegment1.Value())
aWire1 BRepBuilderAPI_MakeWire(anEdge1.Edge())
aSegment2 GC_MakeSegment(P1, P2)
anEdge2 BRepBuilderAPI_MakeEdge(aSegment2.Value())
aWire2 BRepBuilderAPI_MakeWire(anEdge2.Edge())
aSegment3 GC_MakeSegment(P2, P3)
anEdge3 BRepBuilderAPI_MakeEdge(aSegment3.Value())
aWire3 BRepBuilderAPI_MakeWire(anEdge3.Edge())
aSegment4 GC_MakeSegment(P3, P0)
anEdge4 BRepBuilderAPI_MakeEdge(aSegment4.Value())
aWire4 BRepBuilderAPI_MakeWire(anEdge4.Edge())
aRectangle BRepBuilderAPI_MakeWire(aWire1.Edge(), aWire2.Edge(), aWire3.Edge(), aWire4.Edge())
display.DisplayShape(aRectangle.Shape(), update True)
def make_pipe():
#边1 从第1---2点 #边2 从第2---3点
Edge21 BRepBuilderAPI_MakeEdge(gp_Pnt(40,0,10),gp_Pnt(82.5,25,10)).Edge()
Edge22 BRepBuilderAPI_MakeEdge(gp_Pnt(82.5,25,10),gp_Pnt(42.5,93,10)).Edge()
#组成1条线 1---2--3折线
pipe_outline_Wire BRepBuilderAPI_MakeWire(Edge21,Edge22)
# pipe_outline_Wire BRepBuilderAPI_MakeWire(Edge21)
#形成点圆的坐标点---#把点--边----- #边变成线 ---根据圆形的先变成面
circe_gp_dian gp_Circ(gp_Ax2(gp_Pnt(0, 0, 0), gp_Dir(0, 1, 0)), 10)
circe_Edge BRepBuilderAPI_MakeEdge(circe_gp_dian).Edge()
circe_Wire BRepBuilderAPI_MakeWire(circe_Edge).Wire()
circe_Face BRepBuilderAPI_MakeFace(circe_Wire, True)
#z组合成管子
pipe_shape BRepOffsetAPI_MakePipe(pipe_outline_Wire.Wire(), circe_Face.Shape()).Shape()# 第一个参数 轨迹线 第二个参数是轮廓线
display.DisplayShape(pipe_shape, update True)
return pipe_shape
def make_Revol():
# 函数作用 旋转拉伸
# 输入 面、围绕轴转
# 输出 一个壶
E11 BRepBuilderAPI_MakeEdge(gp_Pnt(40., 0., 0.), gp_Pnt(82.5, 25., 0.)).Edge()
E12 BRepBuilderAPI_MakeEdge(gp_Pnt(82.5, 25., 0.), gp_Pnt(42.5, 93., 0.)).Edge()
E13 BRepBuilderAPI_MakeEdge(gp_Pnt(42.5, 93., 0.), gp_Pnt(0., 68., 0.)).Edge()
E14 BRepBuilderAPI_MakeEdge(gp_Pnt(0., 68., 0.), gp_Pnt(40., 0., 0.)).Edge()
#点----线---面--体
shape_wire BRepBuilderAPI_MakeWire(E11, E12, E13, E14)
shape_face BRepBuilderAPI_MakeFace(shape_wire.Wire()).Face()
#旋转拉伸
shape BRepPrimAPI_MakeRevol(shape_face, gp_Ax1(gp_Pnt(0, 0, 0), gp_Dir(1, 1, 1)))
#拉升立方体--封闭曲线拉伸
# shape BRepPrimAPI_MakePrism(shape_face, gp_Vec(0., 0, 50))