c4d.utils.splinehelp
- 
 On 17/08/2015 at 08:18, xxxxxxxx wrote: User Information: 
 Cinema 4D Version: R16.050
 Platform: Mac ; Mac OSX ;
 Language(s) :--------- 
 Hello all,Within c4d.utils.splinehelp, the following functions seem to be wrongly implemented: 
 GetNormal: gives Tangent
 GetTangent: gives CrossNormal
 GetCrossNormal: gives NormalNot an urgent issue, because all functions are there, they just don't seem to have the right name. 
 A piece of code in which this became evident is attached below. It should be executed from a python generator, with a spline as its child.kind regards, Hermen PS: if this code is going to be updated, a nice extra feature would be the GetMatrix function as described below, which evaluates the matrix at any given offset. 
 ################# python code ###################
 import c4d
 import math as m
 #Welcome to the world of Pythondef GetMatrix(offset, segment, sh) : 
 m1 = c4d.Matrix()
 """
 the following functions seem to be wrongly implemented:
 GetNormal gives Tangent
 GetTangent gives CrossNormal
 GetCrossNormal gives Normal
 """
 m1.off = sh.GetPosition(offset, segment, realoffset=True)
 m1.v2 = sh.GetTangent(offset, segment, realoffset=True)
 m1.v3 = sh.GetNormal(offset, segment, realoffset=True) # not needed
 m1.v1 = sh.GetCrossNormal(offset, segment, realoffset=True)
 return m1def main() : 
 spl = op.GetDown() # original spline
 sh = c4d.utils.SplineHelp()
 sh.InitSpline(spl)
 
 N = 2 * m.pi * 100 # op[c4d.ID_USERDATA,1] # N windings
 R = 10 # op[c4d.ID_USERDATA,2] # Radius
 reverse = False #op[c4d.ID_USERDATA,3]
 phase = 0. # op[c4d.ID_USERDATA,4]
 d = 6 * N # density
 if reverse: N = -N
 newspl = c4d.SplineObject(d+1, 4)
 pts = range(d+1)for i in pts: 
 #print i
 p = float(i)/d
 m0 = GetMatrix(p, 0, sh=sh)
 t = N * p + phase
 v = R * c4d.Vector(m.cos(t), m.sin(t), 0)
 pts _= m0*v
 if i==10000:
 disc = c4d.BaseObject(c4d.Odisc)
 disc[c4d.PRIM_AXIS] = 4 # z = tangent
 disc.SetMg(m0)
 disc.InsertUnder(newspl)newspl.SetAllPoints(pts) 
 
 return newspl
- 
 On 19/08/2015 at 00:07, xxxxxxxx wrote: Hello, thanks for reporting this, a bug report was filed. SplineHelp already has a GetMatrix() function. Best wishes, 
 Sebastian
- 
 On 19/08/2015 at 14:21, xxxxxxxx wrote: Jee, how could I have missed that?!? I only noticed the "GetVertexMatrix" and never found this one. 
 Thanks for pointing it out,Regards, 
 
 Hermen