Hi!
I still have a problem with my script, I would like only the axes to align, and not the object like now, would be great if you could help me?
Thanks very much!
from typing import Optional
import c4d
doc: c4d.documents.BaseDocument # The active document
op: Optional[c4d.BaseObject] # The active object, None if unselected
def main() -> None:
# Called when the plugin is selected by the user. Similar to CommandData.Execute.
# Get the selected objects in the active document.
selected = doc.GetActiveObjects(c4d.GETACTIVEOBJECTFLAGS_CHILDREN)
# The fixed global position all objects should be set to.
pos = c4d.Vector(0, 0, 0)
# Iterate over all selected objects and set the global position of each.
for obj in selected:
# Get the global matrix of the object, set its offset and write it back.
mg = obj.GetMg()
mg.off = pos
obj.SetMg(mg)
obj[c4d.ID_BASEOBJECT_USECOLOR] = c4d.ID_BASEOBJECT_USECOLOR_ALWAYS
obj[c4d.ID_BASEOBJECT_COLOR] = c4d.Vector(0.5, 0.8, 0.3)
obj[c4d.ID_BASEOBJECT_GLOBAL_ROTATION] = c4d.Vector(0, 0, 0)
obj[c4d.ID_BASEOBJECT_USECOLOR] = 1
# Push and update event to Cinema 4D.
c4d.EventAdd()
#Drop it Flor
c4d.CallCommand(1041642)
if __name__ == '__main__':
main()