예제 #1
0
def rotate_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).
    """
    rotateVertex(object, edge_index, angle, center, axis)
    if utils.isClosedEdge(edge_index, object):
        rotateVertex(object, 0, angle, center, axis)
    else:
        rotateVertex(object, edge_index+1, angle, center, axis)
예제 #2
0
def scale_edge(obj, edge_index, scale, center):
    """
    Needed for SubObjects modifiers.
    Implemented by Dion Moult during 0.19 dev cycle (works only with Draft Wire).
    """
    scaleVertex(obj, edge_index, scale, center)
    if utils.isClosedEdge(edge_index, obj):
        scaleVertex(obj, 0, scale, center)
    else:
        scaleVertex(obj, edge_index + 1, scale, center)
예제 #3
0
def move_edge(object, edge_index, vector):
    """
    Needed for SubObjects modifiers.
    Implemented by Dion Moult during 0.19 dev cycle (works only with Draft Wire).
    """
    moveVertex(object, edge_index, vector)
    if utils.isClosedEdge(edge_index, object):
        moveVertex(object, 0, vector)
    else:
        moveVertex(object, edge_index + 1, vector)
예제 #4
0
파일: move.py 프로젝트: zikpuppy/FreeCAD
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)
예제 #5
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).
    """
    import Part
    vertex1 = scaleVectorFromCenter(
        obj.Placement.multVec(obj.Points[edge_index]), scale, center)
    if utils.isClosedEdge(edge_index, obj):
        vertex2 = scaleVectorFromCenter(obj.Placement.multVec(obj.Points[0]),
                                        scale, center)
    else:
        vertex2 = scaleVectorFromCenter(
            obj.Placement.multVec(obj.Points[edge_index + 1]), scale, center)
    return Part.makeLine(vertex1, vertex2)
예제 #6
0
파일: rotate.py 프로젝트: zikpuppy/FreeCAD
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)