Example #1
0
 def turnToLine(obj):
     """Turn an edge into a Draft Line."""
     p1 = obj.Shape.Vertexes[0].Point
     p2 = obj.Shape.Vertexes[-1].Point
     newobj = make_line.make_line(p1, p2)
     add_list.append(newobj)
     delete_list.append(obj)
     return newobj
Example #2
0
def copy_moved_edge(object, edge_index, vector):
    """
    Needed for SubObjects modifiers.
    Implemented by Dion Moult during 0.19 dev cycle (works only with Draft Wire).
    """
    vertex1 = object.Placement.multVec(object.Points[edge_index]).add(vector)
    if utils.isClosedEdge(edge_index, object):
        vertex2 = object.Placement.multVec(object.Points[0]).add(vector)
    else:
        vertex2 = object.Placement.multVec(object.Points[edge_index+1]).add(vector)
    return make_line(vertex1, vertex2)
Example #3
0
def copy_scaled_edge(obj, edge_index, scale, center):
    """
    Needed for SubObjects modifiers.
    Implemented by Dion Moult during 0.19 dev cycle (works only with Draft Wire).
    """
    vertex1 = scale_vector_from_center(
        obj.Placement.multVec(obj.Points[edge_index]), scale, center)
    if utils.is_closed_edge(edge_index, obj):
        vertex2 = scale_vector_from_center(
            obj.Placement.multVec(obj.Points[0]), scale, center)
    else:
        vertex2 = scale_vector_from_center(
            obj.Placement.multVec(obj.Points[edge_index + 1]), scale, center)
    return make_line.make_line(vertex1, vertex2)
Example #4
0
def copy_rotated_edge(object, edge_index, angle, center, axis):
    """
    Needed for SubObjects modifiers.
    Implemented by Dion Moult during 0.19 dev cycle (works only with Draft Wire).
    """
    vertex1 = rotate_vector_from_center(
        object.Placement.multVec(object.Points[edge_index]), angle, axis,
        center)
    if utils.isClosedEdge(edge_index, object):
        vertex2 = rotate_vector_from_center(
            object.Placement.multVec(object.Points[0]), angle, axis, center)
    else:
        vertex2 = rotate_vector_from_center(
            object.Placement.multVec(object.Points[edge_index + 1]), angle,
            axis, center)
    return make_line(vertex1, vertex2)