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) spl_A.ResizeObject(spl_pntC) 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) spl_A[c4d.SPLINEOBJECT_TYPE] = c4d.SPLINETYPE_AKIMA # 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
I want to adjust the height up and down with a controlThanks for any help
-
On 13/02/2015 at 02:31, xxxxxxxx wrote:
Hello,
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
Martin -
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:
Hi,
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 cmif 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
As simple as that