Ejemplo n.º 1
0
def solid(faces):
    sewing = BRepBuilderAPI_Sewing()
    for face in faces:
        pts = []
        for node in face:
            pts.append(Common.gp_Pnt(node[0], node[1], node[2]))
        try:
            sewing.Add(Construct.make_face(Construct.make_closed_polygon(pts)))
        except AssertionError:
            print pts
            exit(1)
    sewing.Perform()
    sewed_shape = sewing.SewedShape()
    return sewed_shape
Ejemplo n.º 2
0
def solid(faces):
  sewing = BRepBuilderAPI_Sewing()
  for face in faces:
    pts = []
    for node in face:
      pts.append(Common.gp_Pnt(node[0], node[1], node[2]))
    try:
      sewing.Add(Construct.make_face(Construct.make_closed_polygon(pts)))
    except AssertionError:
      print pts
      exit(1)
  sewing.Perform()
  sewed_shape = sewing.SewedShape() 
  return sewed_shape
Ejemplo n.º 3
0
def rotate(shape, x1, y1, z1, x2, y2, z2, angle):
  L = math.sqrt((x2 - x1)**2 + (y2 - y1)**2 + (z2 - z1)**2)
  direction = Common.gp_Dir((x2 - x1)/L, (y2 - y1)/L, (z2 - z1)/L)
  axis = Common.gp_Ax1(Common.gp_Pnt(x1, y1, z1), direction)
  return Construct.rotate(shape, axis, angle)
Ejemplo n.º 4
0
def scale(shape, x, y, z, factor):
  return Construct.scale(shape, Common.gp_Pnt(x,y,z), factor)
Ejemplo n.º 5
0
def move_z(shape, dz):
  return Construct.translate_topods_from_vector(shape, Common.gp_Vec(0, 0, dz))
Ejemplo n.º 6
0
def move_y(shape, dy):
  return Construct.translate_topods_from_vector(shape, Common.gp_Vec(0, dy, 0))
Ejemplo n.º 7
0
def move_x(shape, dx):
  return Construct.translate_topods_from_vector(shape, Common.gp_Vec(dx, 0, 0))
Ejemplo n.º 8
0
def join(shape1, shape2):
    return Construct.boolean_fuse(shape1, shape2)
Ejemplo n.º 9
0
def rotate(shape, x1, y1, z1, x2, y2, z2, angle):
    L = math.sqrt((x2 - x1)**2 + (y2 - y1)**2 + (z2 - z1)**2)
    direction = Common.gp_Dir((x2 - x1) / L, (y2 - y1) / L, (z2 - z1) / L)
    axis = Common.gp_Ax1(Common.gp_Pnt(x1, y1, z1), direction)
    return Construct.rotate(shape, axis, angle)
Ejemplo n.º 10
0
def move_z(shape, dz):
    return Construct.translate_topods_from_vector(shape,
                                                  Common.gp_Vec(0, 0, dz))
Ejemplo n.º 11
0
def scale(shape, x, y, z, factor):
    return Construct.scale(shape, Common.gp_Pnt(x, y, z), factor)
Ejemplo n.º 12
0
def move_y(shape, dy):
    return Construct.translate_topods_from_vector(shape,
                                                  Common.gp_Vec(0, dy, 0))
Ejemplo n.º 13
0
def move_x(shape, dx):
    return Construct.translate_topods_from_vector(shape,
                                                  Common.gp_Vec(dx, 0, 0))
Ejemplo n.º 14
0
def move(shape, dx, dy, dz):
    return Construct.translate_topods_from_vector(shape,
                                                  Common.gp_Vec(dx, dy, dz))
Ejemplo n.º 15
0
def cut(shape1, shape2):
  return Construct.boolean_cut(shape1, shape2)
Ejemplo n.º 16
0
def move(shape, dx, dy, dz):
  return Construct.translate_topods_from_vector(shape, Common.gp_Vec(dx, dy, dz))
Ejemplo n.º 17
0
def join(shape1, shape2):
  return Construct.boolean_fuse(shape1, shape2)
Ejemplo n.º 18
0
def cut(shape1, shape2):
    return Construct.boolean_cut(shape1, shape2)