<p>我写了我的第一行(在SO的帮助下):</p>
<pre><code>import rhinoscriptsyntax as rs
obj = rs.GetObject("Select a curve", rs.filter.curve)
maxd = input("max offset: ")
a = input("first offset: ")
b = input("next offset: ")
if rs.IsCurve(obj):
i=0
while i < maxd:
rs.OffsetCurve( obj, [0,0,0], -i )
i += a
rs.OffsetCurve( obj, [0,0,0], -i )
i += b
</code></pre>
<p>现在,我试图通过插入一个偏移输入列表来进一步说明这一点。但最后我似乎得到了一个无限循环。而且,第一个<code>rs.OffsetCurve()</code>似乎运行了两次,或者第二个<code>rs.OffserCurve()</code>while循环的第一次运行没有更新<code>i</code>。你知道吗</p>
<pre><code>import rhinoscriptsyntax as rs
obj = rs.GetObject("Select a curve", rs.filter.curve)
maxd = input("max offset: ")
a = input("first offset: ")
offlist = []
while True:
b = input("next offset or 0 for exit: ")
offlist.append(b)
if b == 0:
break
if rs.IsCurve(obj):
i=0
while i < maxd:
rs.OffsetCurve( obj, [0,0,0], -i )
i = a
c = len(offlist)
k = 0
while k != c:
rs.OffsetCurve( obj, [0,0,0], -i )
i = offlist[k]
k += 1
</code></pre>