import math from graphic import Canvas, Line, Ruler, draw_text from type3d import Vector3D if __name__ == "__main__": canvas = Canvas() canvas.init_canvas() line = Line(canvas.msp, Vector3D(20, 30, 0), Vector3D(400, 100, 1), 0.3 * 1e-3, 800) line.curve() line.sag() # canvas.draw(line.swing(80 / 180 * math.pi)) line111 = Line( canvas.msp, Vector3D(50, 30, 0), Vector3D(430, 190, 1), 0.35 * 1e-3, 800 ) line111_swing = line111.swing(30 / 180 * math.pi) ruler = Ruler(line.curve(), line111_swing) closest_distance, poc1, poc2 = ruler.closest_distance() canvas.draw([poc1, poc2]) draw_text(canvas.msp, f"closest distance: {closest_distance}", poc1) print(closest_distance) canvas.save("lwpolyline1.dxf")