Thanks for that Bruce! Splicing does seem to work. Splicing point by point is too slow, but splicing the whole curve (apart from the last point?) is OK. See this snippet:
from vpython import *
scene=canvas()
c=curve()
for i in range(100):
x=i/10-5
y=sin(i/10)
z=0
c.append(pos=vector(x,y,z))
#sleep(1)
j=0
while j<10:
rate(2)
j=j+1
print(j)
t=[]
for i in range(99):
t.append(vector(i/10-5,sin(j*i/10.0),0.0))
c.splice(0,99,t)
As soon as I change 99 to 100 it complains that it is deleting too much.
Thanks again for looking at this!