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)
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)
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)
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)
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)
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)