I am struggling with implementing this when I have a list of values for, say, 4 points that I want to add:h.pt3dadd(xvec, yvec, zvec, dvec, sec=section)

...

Add the 3d location and diameter point (or points in the second form) at the end of the current pt3d list

...

Note: A more object-oriented approach is to use sec.pt3dclear() instead.

Code: Select all

```
from neuron import h, gui
import numpy as np
dend=h.Section(name='dend')
dend.pt3dclear()
xvec=h.Vector(np.array([-0.72,-0.72,-0.72,-0.72]))
yvec=h.Vector(np.array([-16.42,-18.16,-22.14,-24.13]))
zvec=h.Vector(np.array([0.0,0.0,0.0,0.0]))
dvec=h.Vector(np.array([2.4,2.2,2.0,1.96]))
dend.pt3dadd(xvec, yvec, zvec, dvec)
```

I get the same error with:TypeError: must be real number, not hoc.HocObject

Code: Select all

`xvec=h.Vector([-0.72,-0.72,-0.72,-0.72])`

Code: Select all

```
xvec=[-0.72,-0.72,-0.72,-0.72] # gives the error: must be real number, not list
xvec=np.array([-0.72,-0.72,-0.72,-0.72]) # gives the error: TypeError: only size-1 arrays can be converted to Python scalars
```

Code: Select all

```
print(neuron.version)
7.7.2
```