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