Custom Helix Spline Y_Movement [SOLVED]

On 13/02/2015 at 01:03, xxxxxxxx wrote:

I have this script for my own Helix spline:

spl_A = doc.SearchObject("Spline_01")    
    spl_pntC = 36    
    spl_start = c4d.Vector (100.0, 0.0, 0.0) # Spline Size 
    pnt_rad = utils.Rad((360.0 + 10.0) / spl_pntC)
    spl_end = c4d.Vector(0.0, 1.0, 0.0) #Movement
    spl_A.SetPoint (0,spl_start)
    for id in xrange(1,spl_pntC) : 
        spl_start = utils.MatrixRotY(pnt_rad) * utils.MatrixMove(spl_end) * spl_start 
        spl_A.SetPoint(id, spl_start) 
    # Spline does not close 
    spl_A[c4d.SPLINEOBJECT_CLOSED] = False 
    # Update of object 
    spl_A.Message (c4d.MSG_UPDATE)

I have a problem with my "MatrixMove" part. It does do what it is suppose to but I want to read it in cm eg: 21cm and not the matrix data. How would I do that :blush: 
I want to adjust the height up and down with a control

Thanks for any help

On 13/02/2015 at 02:31, xxxxxxxx wrote:


it´s already there.

your spl_end variable gives you units in centimeters.
c4d.Vector(0.0, 10.0, 0.0)  is 10 cm hight.

If your object should be 360 cm high you´ll need 37 points (because the first one is 0)
Keep in mind that your spline interpolation method add´s some hight to the bounding box, too.
With e.g. linear interpolation you´ll get exactly 360 cm at 37 points.

Best wishes

On 13/02/2015 at 02:50, xxxxxxxx wrote:

Hi Martin.

This "c4d.Vector(0.0, 10.0, 0.0) " does not give me a 10cm height as you stated but give me a height of 350 cm.

Is there maybe another way to re-script this so that I can get a accurate height reading.

On 13/02/2015 at 03:00, xxxxxxxx wrote:

this is your step vector you multiply it for every x in xrange in the script so:
Let´s say 37 steps -> spl-pntC = 37
the first one is at 0.0 height.
36*10 = 360 cm

if you want 10 cm at the end how is your step size than?
your step size should be 10/36.

easy I guess

hope this helps

On 13/02/2015 at 04:09, xxxxxxxx wrote:

Geez, thanks Martin :clap:
As simple as that :blush: