我是python的新手,我正在尝试使用python生成g代码。我使用sympy因为我还需要做段,交叉,甚至凸壳。
给定一个初始点我需要将它(它们)从中心(0,0)旋转+/- 120度,我的最终结果应该是这样的:
" G0 X0 Y120.4"
我将evaluate = False转为获得实际积分,但我这样做的方式只适用于初始的,而不是其他的:
G0 X0 Y120.400000000000
G0 X-301 * sqrt(3)/ 5 Y-301/5
如何以初始Z点的形式制作其他点?
from sympy import Point, pi
z = Point(0, 120.4, evaluate = False)
x = z.rotate(pi*2/3)
y = z.rotate(-pi*2/3)
print('G0 X{0} Y{1}'.format(z.x,z.y))
print('G0 X{0} Y{1}'.format(x.x,x.y))
答案 0 :(得分:1)
尝试在打印前或打印期间评估坐标:
>>> Point(0, 120.4) # with evaluate=True, the Float is made Rational
Point(0, 602/5)
>>> _.n() # evaluate the coordinates
Point(0, 120.400000000000)
>>> print('G0 X{0} Y{1}'.format(x.x.n(),x.y.n())) # from your example
G0 X-104.269458615646 Y-60.2000000000000