Poor mans tracer/linker - help pls
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 03/12/2011 at 02:43, xxxxxxxx wrote:
OK
I've set myself a task
this isn't supposed to be anything specialUbertracer is far more advanced than anything I can dream of
but I'd like to understand some of the processes (and syntax) in creating splines between clonesProblems to date
Best way to generate the splines Once!
Best 'Holder' to use for the code - generator - effector etcCan I use the 'holder' object to Insert the splines 'Under'
Then check to see if they exist?Forgive the stumblings (again)
Got this far in modifying a Python Effector
It will generate a set of splines between
the original clones position
and the effectors offsetYes you have to switch it off once the splines are generated (problem 1 above)
any suggestion
snippets of codegreatly recieved
import c4d
from c4d.modules import mograph as modef main() :
md = mo.GeGetMoData(op)
if md==None: return
cnt = md.GetCount()
#matrix list of clones
marr = md.GetArray(c4d.MODATA_MATRIX)
#flag list of clones
farr = md.GetArray(c4d.MODATA_FLAGS)
offset = op[c4d.ID_USERDATA, 1]for i in xrange(0, cnt) : #iterate over clones
marr .off = marr .off +(marr .v3*offset)
_ _ _ spl = c4d.SplineObject(2,c4d.SPLINETYPE_LINEAR) #Create a 2pt. Bezier spline in memory only___
_ _ _ spl.SetPoint(0,c4d.Vector(marr .v3)) #Place the first point here___
_ _ _ _ spl.SetPoint(1,c4d.Vector(marr .off)) #Place the second point here____
_ _ _ _ _ _____
_ _ _ _ _ spl.Message(c4d.MSG_POINTS_CHANGED) # tell the spline it's points did change_____
_ _ _ _ _ doc.InsertObject(spl)_____
_ _ _ _ _ _____
_ _ _ _ _ #handle the modified flag list back to mograph_____
_ _ _ _ _ md.SetArray(c4d.MODATA_FLAGS, farr, True)_____
_ _ _ _ _ _____
_ _ _ _ _ #handle the modified matrix list back to mograph_____
_ _ _ _ _ md.SetArray(c4d.MODATA_MATRIX, marr, True)_____