我正在编写一个脚本以读取DXF文件并返回形状的长度和面积,以便可以自动计算激光切割零件的价格。
弧应从dxf文件中获取弧名称,中心点,半径,起始角度,终止角度。 弧应计算弧的起点和终点。
问题是角度是任意的,所以起点和终点是任意的, 这样一来,我很难将弧形连接在一起以形成完整的图形, 如果我注意到起点和终点向后,我需要一种机制来切换起点和终点。 我试图在arc类中编写一个函数,以切换起点和终点 但这没用 我对OOP不太满意,请帮助
附加代码
class arc:
def __init__(self, name, center_point, radius, angles):
self.name = name
self.center_point = center_point
self.radius = radius
self.starting_angle = angles[0]
self.ending_angle = angles[1]
starting_angle = angles[0]
ending_angle = angles[1]
self.starting_point = center_point[0]+radius * math.cos((starting_angle)*((math.pi)/(180))),center_point[1]+radius * math.sin((starting_angle)*((math.pi)/(180)))
self.ending_point = center_point[0]+radius * math.cos((ending_angle)*((math.pi)/(180))),center_point[1]+radius * math.sin((ending_angle)*((math.pi)/(180)))
starting_point =center_point[0]+radius * math.cos((starting_angle)*((math.pi)/(180))),center_point[1]+radius * math.sin((starting_angle)*((math.pi)/(180)))
ending_point = center_point[0]+radius * math.cos((ending_angle)*((math.pi)/(180))),center_point[1]+radius * math.sin((ending_angle)*((math.pi)/(180)))
self.length = math.sqrt((starting_point[0]-ending_point[0])**2+(starting_point[1]-ending_point[1])**2)
我想要一个名为switch的功能
这是应该如何工作的:
arc1.starting_point = (0,0)
arc1.ending_point = (1,1)
print(arc1.starting_point, arc1.ending_point)
#Desired Output:
((0,0),(1,1))
arc1.switch()
print(arc1.starting_point, arc1.ending_point)
#Desired Output:
((1,1),(0,0))
答案 0 :(得分:1)
您可以交换具有同时赋值的两个变量的值:
read.mulTree
如此
mulTree
应该这样做。