我是初学者,我想在python中创建一个while循环。我有两条相交的共面曲线,我想在公共平面上移动第一条曲线,直到它们不再相交。我试过像:
vec = [0,0.1,0]
int = True
while True:
move=rs.MoveObject(curve1,vec)
int=rs.CurveCurveIntersection(curve1, curve2)
if int = False:
break
任何人都知道我做错了什么? 提前谢谢!
答案 0 :(得分:3)
首先,您使用int关键字(整数类型)作为变量,并将'int'变量显式设置为False(这是if中的语法错误)。这可能会弄乱你的系统。您也没有显示错误消息。
intersect = rs.CurveCurveIntersection(curve1, curve2)
if not intersect:
break
答案 1 :(得分:1)
可以简化为
vec = [0, .1, 0]
while rs.CurveCurveIntersection(curve1, curve2):
move = rs.MoveObject(curve1, vec)
......我不太明白move
是什么。
如果rs.MoveObject()
修改了对象,则只需rs.MoveObject(curve1, vec)
;
如果它返回一个修改过的对象,则需要curve1 = rs.MoveObject(curve1, vec)
代替(并且您当前的代码将导致无限循环)。