Created
January 16, 2024 09:17
-
-
Save jmacey/a3d2d079b4af7e0d9c14f36b09f45af5 to your computer and use it in GitHub Desktop.
Dump all top level groups to obj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# work in progress dump scene to individual obj needs some error checking etc. | |
import maya.OpenMaya as OpenMaya | |
# Assume 'selected_group' is the name of the selected group | |
selected_group = 'kitchen_group' | |
# Create a selection list | |
selection_list = OpenMaya.MSelectionList() | |
selection_list.add(selected_group) | |
# Create an MObject for the selected group | |
mobject = OpenMaya.MObject() | |
selection_list.getDependNode(0, mobject) | |
# Create an MFnDagNode for the selected group | |
dag_node_fn = OpenMaya.MFnDagNode(mobject) | |
# Iterate over the children of the selected group | |
for i in range(dag_node_fn.childCount()): | |
child_object = dag_node_fn.child(i) | |
child_dag_node = OpenMaya.MFnDagNode(child_object) | |
print(child_dag_node.name()) | |
cmds.select(child_dag_node.name()) | |
parts=cmds.ls(sl=True) | |
# create a group | |
grpName=f"exportGRP{child_dag_node.name()}" | |
print(grpName) | |
cmds.group(empty=True, world=True, name=grpName) | |
# duplicate | |
for p in parts: | |
cmds.duplicate(p, name=f"{p}_tmp") | |
cmds.parent(f"{p}_tmp", grpName) | |
# Move to origin | |
cmds.select(grpName) | |
cmds.CenterPivot() | |
cmds.move(0, 0, 0, grpName, rotatePivotRelative=True) | |
cmds.file( | |
f"D:\Objs\{grpName}.obj", | |
pr=1, | |
typ="OBJexport", | |
exportSelected=1, | |
op="groups=1;ptgroups=1;materials=0;smoothing=1;normals=1", | |
) | |
cmds.delete(grpName) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment