[Closed] "Merge Transforms" with XrefObjects
what is proper way to “Merge Transforms” when adding XrefObjects with script:
[b][/b]xrefs.addNewXRefObject "filename" objectname_array
that’s from mxs help:
[left]<Interface>objXRefMgr.AddXRefItemsFromFile <filename>fileName promptObjNames:<bool> objNames:<string array> xrefOptions:<&enum array>
[/left]
[left]promptObjNames default value: false
[/left]
[left]objNames default value: #()
[/left]
[left]xrefOptions enums: {#asProxy|#xrefModifiers|#dropModifiers|#mergeModifiers|#mergeManipulators|#selectNodes|#mergeMaterials}
[/left]
[left]xrefOptions default value: #()
[/left]
[left]xrefOptions is In parameter
[/left]
[left]Adds the array of names to the given record.
[/left]
[left]
[/left]
[left]you have to use objXRefMgr.AddXRefItemsFromFile with some undocumented xrefOption… I don’t remember: #mergeTransform, #mergeTransforms, or #mergeControllers.[b]
edit:
it’s #mergeControllers
http://forums.cgsociety.org/showpost.php?p=6501632&postcount=1
[/b]
[/left]
Running “showinterface objXrefMgr” (in 3ds Max 2011) returns a few options you can use.
Interface: objXRefMgr
Properties:
.recordCount : DWORD : Read
.dupObjNameAction : enum : Read|Write
dupObjNameAction enums: {#prompt|#xref|#skip|#deleteOld|#autoRename}
.dupMtlNameAction : enum : Read|Write
dupMtlNameAction enums: {#prompt|#useXRefed|#useScene|#autoRename}
.mergeTransforms : bool : Read|Write
.mergeMaterials : bool : Read|Write
.mergeManipulators : bool : Read|Write
.mergeModifiers : enum : Read|Write
mergeModifiers enums: {#xrefModifiers|#ignoreModifiers|#mergeModifiers}
.mergeTransforms : bool : Read|Write
.getAutoUpdate : bool : Read|Write
NOTE: Setting the properties on objXrefMgr don’t carry over to xrefs.addNewXrefObject, but they do carry over to opening the files from the Xref Objects Dialog. So you would need to continue using objXrefMgr to have the set properties carry over.
<Interface>AddXRefItemsFromFile <filename>fileName promptObjNames:<bool> objNames:<string array> xrefOptions:<&enum array>
promptObjNames default value: false
objNames default value: #()
xrefOptions enums: {#asProxy|#xrefModifiers|#dropModifiers|#mergeModifiers|#mergeManipulators|#selectNodes|#mergeControllers|#mergeMaterials}
xrefOptions default value: #()
xrefOptions is In parameter
<void>ApplyXRefControllersToXRefObjects <&maxObject array>objectXRefItems objectXRefItems is In parameter
-Eric
Thanks U both very much. I am in 3ds Max 2010 but thanks to denisT it looks the script works.
Run the “showinterface objXrefMgr” command to see what is exposed in your version of 3ds Max.
-Eric