Script Log ?? Softimage Script Editor
-
On 20/08/2013 at 14:17, xxxxxxxx wrote:
Hello,
I want know what is (Alt+AddNull on object = Null become parent) in python, because i want create a batch of Null parent of 200 obj.I didn't find in the python docs, only a myobject.InsertUnder(). but i want create a Null parent.
In a Script Log, when i do the command, it's write : c4d.CallCommand(5140) # Null
What its mean ?
I want see the FULL code not a command number.In Softimage the script editor is really friendly.
Every action are wrote on the window, so it's really easy to create a macro script.Someone knows where i could see this in C4D ?
-
On 20/08/2013 at 17:37, xxxxxxxx wrote:
import c4d def main() : null = c4d.BaseList2D(c4d.Onull) select = doc.GetActiveObject() or doc.GetActiveObjects(c4d.GETACTIVEOBJECTFLAGS_CHILDREN) if isinstance(select, c4d.BaseObject) : prev = select.GetPred() next = select.GetNext() parent = select.GetUp() select.Remove() select.InsertUnderLast(null) if prev is not None: null.InsertAfter(prev) elif next is not None: null.InsertBefore(next) elif parent is not None: null.InsertUnderLast(parent) else: doc.InsertObject(null) elif isinstance (select, list) and len(select) > 0: inspnt = select[0].GetPred() for obj in select: obj.Remove() obj.InsertUnderLast(null) doc.InsertObject(null, pred=inspnt) null.ChangeNBit(c4d.NBIT_OM1_FOLD, c4d.NBITCONTROL_SET) c4d.EventAdd() if __name__=='__main__': main()
-
On 23/08/2013 at 08:50, xxxxxxxx wrote:
Thank you littledevil !
Someone can explain to me, why the Script Log don't show the real code ? only command code ?
-
On 23/08/2013 at 09:47, xxxxxxxx wrote:
CallCommand() is real code. c4d.callCommand() is a normal method in the c4d API. C4D is much
more OO than Softimage XSI, everything is an object with its own methods and so on. C4d does
not use a central hub like XSI (XSIFactory.DoSoemthingMehtod(parameter)) you can easily feed
from a script parser. -
On 23/08/2013 at 12:19, xxxxxxxx wrote:
Ok,
Do you know, where i can find the list of all the c4d.CallCommand(????) and the detail for each ?
I read the Python SDK Docs, (but nothing here).
Thank -
On 23/08/2013 at 12:40, xxxxxxxx wrote:
sure it is documented, right there in the c4d module. but you won't find a very extensive
description there, as maxon expects you to either use a text search engine on the c4d
resource folder or the c4d console to find IDs. -
On 23/08/2013 at 13:30, xxxxxxxx wrote:
Ooh i try many time the research engine, but it don't work with chrome... only firefox rocks !
-
On 23/08/2013 at 16:16, xxxxxxxx wrote:
with text search engine i meant a software like Agent Ransack.
-
On 26/08/2013 at 13:34, xxxxxxxx wrote:
Finally, i find the way to finish my little script :
import c4d
def main() :
select = doc.GetActiveObject() or doc.GetActiveObjects(c4d.GETACTIVEOBJECTFLAGS_0)
Nselect = len(select)
for i in range(Nselect) :
pos = c4d.BaseObject.GetAbsPos(select _) # Get position objects
obj = c4d.BaseObject(c4d.Onull) # Create new nulls
obj.SetAbsPos(pos) # Set position of nulls
doc.InsertObject(obj) # Insert objects in document
select _.SetAbsPos(c4d.Vector(0)) # Reset objects position to 0
select _.InsertUnder(obj) # Set nulls parent of objects
c4d.EventAdd()if __name__=='__main__':
main()It's helpful with Fracture moggraph, it's for keep axis pivot the same.
But i continue to think than have the option to see Script log like :
c4d.DoSomething.Method(parameter)
Will help people to understand what they write, and create script easier.