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
for id in xrange(1,spl_pntC) :
spl_start = utils.MatrixRotY(pnt_rad) * utils.MatrixMove(spl_end) * spl_start
spl_A[c4d.SPLINEOBJECT_TYPE] = c4d.SPLINETYPE_AKIMA
# Spline does not close
spl_A[c4d.SPLINEOBJECT_CLOSED] = False
# Update of object
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 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.
On 13/02/2015 at 02:50, xxxxxxxx wrote:
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
As simple as that