Several issues one i think there is a better way and the other i think is a normals problem but i’m not entirely sure.

I has a SOPScript which implements a nice python script for evenly plotting points on a sphere (this is a test script, the algorithm will change).

Firstly, where in the world is it explained how to actually access custom parameters? I’ve seen references and examples citing me.pars.helloworld, but that simply didn’t work with the custom page parameter thats created as a part of the sample script.

I eventually ended up with ```
scriptOp.customPages[0].pars[0]
```

How do i go about using something more legible like me.customPars.Samples ?

Secondly I follow this node with a Noise Sop. But the points don’t move independently. I can create some movement but its like all the points are moving in the same way.

I think i’ve seen somewhere that a point has a normal attribute. I’ll try setting that tomorrow to see if it solves the problem. What am i missing?

```
# me - this DAT
# scriptOp - the OP which is cooking
# press 'Setup Parameters' in the OP to call this function to re-create the parameters
def onSetupParameters(scriptOp):
page = scriptOp.appendCustomPage('Custom')
p = page.appendFloat('Samples', label='Samples')
p.min= 0
p.max = 200
return
# called whenever custom pulse parameter is pushed
def onPulse(par):
return
def onCook(scriptOp):
scriptOp.clear()
samples = scriptOp.customPages[0].pars[0] * 200
samples = math.floor(samples) or 10
rnd = tdu.rand(1) * samples
offset = 2.0 / samples
increment = math.pi * (3.0 - math.sqrt(5.))
for i in range(samples):
y = ((i * offset) - 1) + (offset / 2)
r = math.sqrt(1 - pow(y,2))
phi = ((i + rnd) % samples) * increment
x = math.cos(phi) * r
z = math.sin(phi) * r
#
pt = scriptOp.appendPoint()
return
```

pointcloud.172.toe (6.14 KB)