Announcements

Between mid-October and November, the content on AREA will be relocated to the Autodesk Community M&E Hub and the Autodesk Community Gallery. Learn more HERE.

Maya is Clash When "double referenced file " file -importReference

Maya is Clash When "double referenced file " file -importReference

Anonymous
Not applicable
1,437 Views
4 Replies
Message 1 of 5

Maya is Clash When "double referenced file " file -importReference

Anonymous
Not applicable

 

Maya2016で2重に子供ファイルをリファレンスした親ファイルを以下のスクリプトを実行するとクラッシュしてしまいます

 

Maya is Clash when"the Mayabinary file was reference to the double"

was

loaded with MelScript"

SimpleImportReference()

" below will Clash.

 

 

global proc SimpleImportReference()
{
    string $reference[] = `file -q -reference -shortName`;
	string $referenceLongName[] = `file -q -reference`;
	int $count5 = 0;
	for($tmp4 in $reference)
	    {
	        
	       $indexOf= `gmatch $reference[$count5] "*{*"`;
	       $LastIndex=size($reference[$count5])-3;
	       if($indexOf==0)
	       {
              print("-importReference $reference["+$count5+"]="+$reference[$count5]+"\n");
              
              //referenceQuery -referenceNode mid.ma;

	           string $referenceNode=`referenceQuery -referenceNode $reference[$count5]`;
	           print("$referenceNode="+$referenceNode+"\n");
	           file -loadReferenceDepth "asPrefs" -loadReference $referenceNode $reference[$count5];
	           //file -importReference $loadfilepath;
              
	          //file -importReference $reference[$count5];
	          //------referenceEdImportCB----file -importReference -referenceNode $selRefNode[0]=test_ian01_rigRN-------
	          //file -importReference -referenceNode test_ian01_rigRN
	          if(`file -q -writable`=="1")
              {
	          file -importReference -referenceNode $referenceNode;
	          }

	       }else
	       {
	           string $loadfilepath=`substring $reference[$count5] 1 $LastIndex`;
	           print(" $LastIndex="+$LastIndex+" -importReference $loadfilepath="+$loadfilepath+"\n");
	           print("$referenceLongName["+$count5+"]="+$referenceLongName[$count5]+"\n");
	           string $referenceNode=`referenceQuery -referenceNode $reference[$count5]`;
	           print("$referenceNode="+$referenceNode+"\n");

	           file -loadReferenceDepth "asPrefs" -loadReference $referenceNode $loadfilepath;

	          //file -importReference -referenceNode test_ian01_rigRN
	          if(`file -q -writable`=="1")
              {
	            file -importReference -referenceNode $referenceNode;
	          }
	       }
	       $count5++;
	    }
}

 

共有違反

と言われます。

Log.txt

 

リファレンスファイルのインポート ファイル名は-importReference $reference[0]=test_generic_rig.mb
2-リファレンスノードは名は$referenceNode=test_chara01_rigRN

memory -he -mb -af;
// 結果: 740.898438 // 
memory -fr -mb -af;
// 結果: 21160.195313 // 
memory -pf;
// 結果: 465525 // 
memory -he -mb -af;
// 結果: 740.898438 // 
memory -fr -mb -af;
// 結果: 21160.132813 // 
memory -pf;
// 結果: 465541 // 
parent -s -r |wep_C0004_001:wep_c005_401_01_joint|wep_c005_401_01_joint_parentConstraint1 |wep_C0004_001RNfosterParent1;
// 結果: wep_c005_401_01_joint_parentConstraint1 // 
memory -he -mb -af;
// 結果: 740.898438 // 
memory -fr -mb -af;
// 結果: 21160.152344 // 
memory -pf;
// 結果: 465542 // 
parent -s -r |wep_c005_401_01:wep_c005_401_01_joint|wep_c005_401_01_joint_parentConstraint2 |wep_c005_401_01RNfosterParent1;
// 結果: wep_c005_401_01_joint_parentConstraint2 // 
memory -he -mb -af;
// 結果: 740.898438 // 
memory -fr -mb -af;
// 結果: 21160.152344 // 
memory -pf;
// 結果: 465543 // 
parent -s -r |generic_rig:hanyou_model:Root|generic_rig:Root_parentConstraint1 |generic_rig:test_chara01_modelRNfosterParent1;
// 結果: generic_rig:Root_parentConstraint1 // 
parent -s -r |generic_rig:hanyou_model:Root|generic_rig:hanyou_model:Hip|generic_rig:Hip_parentConstraint1 |generic_rig:test_chara01_modelRNfosterParent1;
// 結果: generic_rig:Hip_parentConstraint1 // 
parent -s -r |generic_rig:hanyou_model:Root|generic_rig:hanyou_model:Hip|generic_rig:hanyou_model:R_Skirt_f1|generic_rig:R_Skirt_f1_parentConstraint1 |generic_rig:test_chara01_modelRNfosterParent1;
// 結果: generic_rig:R_Skirt_f1_parentConstraint1 // 
parent -s -r |generic_rig:hanyou_model:Root|generic_rig:hanyou_model:Hip|generic_rig:hanyou_model:R_Skirt_f1|generic_rig:hanyou_model:R_Skirt_f2|generic_rig:R_Skirt_f2_parentConstraint1 |generic_rig:test_chara01_modelRNfosterParent1;
// 結果: generic_rig:R_Skirt_f2_parentConstraint1 // 
parent -s -r |generic_rig:hanyou_model:Root|generic_rig:hanyou_model:Hip|generic_rig:hanyou_model:R_Skirt_f1|generic_rig:hanyou_model:R_Skirt_f2|generic_rig:hanyou_model:R_Skirt_f3|generic_rig:R_Skirt_f3_parentConstraint1 |generic_rig:test_chara01_modelRNfosterParent1;
// 結果: generic_rig:R_Skirt_f3_parentConstraint1 // 

memory -he -mb -af;
// 結果: 743.160156 // 
memory -fr -mb -af;
// 結果: 21160.171875 // 
memory -pf;
// 結果: 465853 // 
memory -he -mb -af;
// 結果: 743.160156 // 
memory -fr -mb -af;
// 結果: 21160.171875 // 
memory -pf;
// 結果: 465853 // 
memory -he -mb -af;
// 結果: 743.160156 // 
memory -fr -mb -af;
// 結果: 21160.171875 // 
memory -pf;
// 結果: 465853 // 
pluginInfo -q -pluginsInUse -activeFile;
// 結果: Turtle 2016.0.0 stereoCamera 10.0 // 
pluginInfo -q -dependNode -activeFile Turtle;
// 結果: ilrOptionsNode ilrUIOptionsNode ilrBakeLayerManager ilrBakeLayer // 
pluginInfo -q -data Turtle;
pluginInfo -q -dependNode -activeFile stereoCamera;
pluginInfo -q -data stereoCamera;
parent -s -r "|generic_rig:test_chara01_modelRNfosterParent1|generic_rig:Root_parentConstraint1" "|generic_rig:hanyou_model:Root";
// 結果: generic_rig:Root_parentConstraint1 // 
parent -s -r "|generic_rig:test_chara01_modelRNfosterParent1|generic_rig:Hip_parentConstraint1" "|generic_rig:hanyou_model:Root|generic_rig:hanyou_model:Hip";
// 結果: generic_rig:Hip_parentConstraint1 // 
parent -s -r "|generic_rig:test_chara01_modelRNfosterParent1|generic_rig:R_Skirt_f1_parentConstraint1" "|generic_rig:hanyou_model:Root|generic_rig:hanyou_model:Hip|generic_rig:hanyou_model:R_Skirt_f1";
// 結果: generic_rig:R_Skirt_f1_parentConstraint1 // 

memory -he -mb -af;
// 結果: 743.191406 // 
memory -fr -mb -af;
// 結果: 21160.113281 // 
memory -pf;
// 結果: 465915 // 
fileCmdRestoreCallback;
// 結果: C:/Users/B07363/AppData/Local/Temp/B07363.20160608.1957.ma // 
{global string $gCommandExecuter[];for ( $ce in $gCommandExecuter ){	cmdScrollFieldExecuter -e -stc "C:/Users/B07363/AppData/Local/Temp/B07363.20160608.1957.ma-ScriptEditor" $ce;}};

PC Spec

 

------------------
System Information
------------------
Time of this report: 6/14/2016, 20:31:02
       Machine name: PXF-0021
   Operating System: Windows 7 Professional 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_ldr.160408-2045)
           Language: Japanese (Regional Setting: Japanese)
System Manufacturer: THIRDWAVE Diginnos CORPORATION
       System Model: Diginnos PC
               BIOS: BIOS Date: 11/09/15 16:52:25 Ver: 23.06
          Processor: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz (8 CPUs), ~3.6GHz
             Memory: 32768MB RAM
Available OS Memory: 32674MB RAM
          Page File: 12042MB used, 53304MB available
        Windows Dir: C:\Windows
    DirectX Version: DirectX 11
DX Setup Parameters: Not found
   User DPI Setting: Using System DPI
 System DPI Setting: 96 DPI (100 percent)
    DWM DPI Scaling: Disabled
     DxDiag Version: 6.01.7601.17514 32bit Unicode


--------------------
DirectX Debug Levels
--------------------
Direct3D:    0/4 (retail)

---------------
Display Devices
---------------
          Card name: NVIDIA GeForce GTX 750 Ti
       Manufacturer: NVIDIA
          Chip type: GeForce GTX 750 Ti
           DAC type: Integrated RAMDAC
         Device Key: Enum\PCI\VEN_10DE&DEV_1380&SUBSYS_138010DE&REV_A2
     Display Memory: 4041 MB
   Dedicated Memory: 1993 MB
      Shared Memory: 2048 MB
       Current Mode: 1920 x 1080 (32 bit) (60Hz)
      Monitor Model: BenQ GL2460
         Monitor Id: BNQ78CE
        Native Mode: 1920 x 1080(p) (60.000Hz)
        Output Type: DVI
        Driver Name: nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,nvwgf2um,nvwgf2um
Driver File Version: 10.18.0013.5906 (English)
     Driver Version: 10.18.13.5906
        DDI Version: 11
       Driver Model: WDDM 1.1
  Driver Attributes: Final Retail
   Driver Date/Size: 11/25/2015 08:10:30, 15717672 bytes
        WHQL Logo'd: Yes
    WHQL Date Stamp: 
  Device Identifier: {D7B71E3E-50C0-11CF-7C64-8D331FC2C735}
          Vendor ID: 0x10DE
          Device ID: 0x1380
          SubSys ID: 0x138010DE
        Revision ID: 0x00A2
 Driver Strong Name: oem15.inf:NVIDIA_Devices.NTamd64.6.1:Section130:10.18.13.5906:pci\ven_10de&dev_1380
     Rank Of Driver: 00E62001
        Video Accel: 
       D3D9 Overlay: Supported
            DXVA-HD: Supported
       DDraw Status: Enabled
         D3D Status: Enabled
         AGP Status: Enabled

          Card name: NVIDIA GeForce GTX 750 Ti
       Manufacturer: NVIDIA
          Chip type: GeForce GTX 750 Ti
           DAC type: Integrated RAMDAC
         Device Key: Enum\PCI\VEN_10DE&DEV_1380&SUBSYS_138010DE&REV_A2
     Display Memory: 4041 MB
   Dedicated Memory: 1993 MB
      Shared Memory: 2048 MB
       Current Mode: 1920 x 1080 (32 bit) (60Hz)
      Monitor Model: BenQ GL2460
         Monitor Id: BNQ78CE
        Native Mode: 1920 x 1080(p) (60.000Hz)
        Output Type: HD15
        Driver Name: nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,nvwgf2um,nvwgf2um
Driver File Version: 10.18.0013.5906 (English)
     Driver Version: 10.18.13.5906
        DDI Version: 11
       Driver Model: WDDM 1.1
  Driver Attributes: Final Retail
   Driver Date/Size: 11/25/2015 08:10:30, 15717672 bytes
        WHQL Logo'd: Yes
    WHQL Date Stamp: 
  Device Identifier: {D7B71E3E-50C0-11CF-7C64-8D331FC2C735}
          Vendor ID: 0x10DE
          Device ID: 0x1380
          SubSys ID: 0x138010DE
        Revision ID: 0x00A2
 Driver Strong Name: oem15.inf:NVIDIA_Devices.NTamd64.6.1:Section130:10.18.13.5906:pci\ven_10de&dev_1380
     Rank Of Driver: 00E62001
        Video Accel: 
       D3D9 Overlay: Supported
            DXVA-HD: Supported
       DDraw Status: Enabled
         D3D Status: Enabled
         AGP Status: Enabled


-
-
-

 

 

 

my page http://whaison.jugem.jp/?eid=861

 

email:whaison@me.com

 

phone:(81)8033104028

 

 

 

 

 

 

0 Likes
Accepted solutions (1)
1,438 Views
4 Replies
Replies (4)
Message 2 of 5

Anonymous
Not applicable

 Error Dialog Image

0 Likes
Message 3 of 5

Anonymous
Not applicable
0 Likes
Message 4 of 5

Anonymous
Not applicable
Accepted solution

The answer might be simple.
Introduction of parts
  /Scenes/*.mb File also is that you import.

 

 

code

Reference_importReference_Simple_workspaces_all_do_method_Class.py

 

 

# -*- coding: cp932 -*- 
from maya import cmds 
import pymel.core as pm
from python.MotionMerge.p015Reference_importReference import Reference_importReference_Simple_Class#OK
#import python.MotionMerge.p015Reference_importReference.Reference_importReference_Simple
class Reference_importReference_Simple_workspaces_all_do_method_Class:
	def Reference_importReference_Simple_workspaces_all_do_method_py(self):
		self.Reference_importReference_Simple_workspaces_all_do_method_py_dirstr("scenes/")
		self.Reference_importReference_Simple_workspaces_all_do_method_py_dirstr("scenes/motion/")
		
	def Reference_importReference_Simple_workspaces_all_do_method_py_dirstr(self,dirPath):
		print "Reference_importReference_Simple_workspaces_all_do_method_py_dirstr()--------"+dirPath+"----start"
		workspaceRoot=str(pm.workspace(q=1, rootDirectory=1))
		print workspaceRoot
		#motionFileDir=workspaceRoot + "scenes/motion/"
		motionFileDir=workspaceRoot + dirPath
		pm.mel.chdir(motionFileDir)
		motionFilesRoot=pm.getFileList(folder=motionFileDir, filespec="*.mb")
		print motionFilesRoot
		motionFilesRootLength=len(motionFilesRoot)
		print("motionFilesRootLength="+str(motionFilesRootLength))
		for i in range(0,motionFilesRootLength):
			motionFileFullpath=motionFileDir + motionFilesRoot[i]
			print motionFileFullpath
			cmds.file(motionFileFullpath, ignoreVersion=1, typ="mayaBinary", options="v=0;", o=1, f=1)
			pm.mel.addRecentFile(motionFileFullpath, "mayaBinary")
			ended=0
			if cmds.file(q=1, writable=1) == 1:
				print "$writable_bool=1"
				print "Reference_importReference_Simple() Do"
				#python.MotionMerge.p015Reference_importReference.Reference_importReference_Simple()
				
				# Class  export  instance.
				Instance = Reference_importReference_Simple_Class.Reference_importReference_Simple_Class()  
				#Call Method
				Instance.Reference_importReference_Simple_py() 
				
				
				cmds.file(save=1)
				
			
		ended=0
		if cmds.file(q=1, writable=1) == 1:
			print "$writable_bool=1"
			print "Reference_importReference_Simple_workspaces_all_do_method()--------"+dirPath+"----ending"
						
		#//////////////////////////////////////////////////////////////////////////////////////////////////
		#//////////////////////////////////// Class Unit Test /////////////////////////////////////////////
		#//////////////////////////////////////////////////////////////////////////////////////////////////		
	def getClassName(self):
		print( u"className= " + self.__class__.__name__)
		return self.__class__.__name__

Instance = Reference_importReference_Simple_workspaces_all_do_method_Class()  # Class  export  instance.
if(__name__ == Instance.getClassName() or "__main__"):
	print (u"__name__==self.__class__.__name__  Same!! File Test")
	print (u"=============Simple Single Class Unit Test Start==========")
	#Instance.basenameEx
	Instance.Reference_importReference_Simple_workspaces_all_do_method_py() #Call Method
	
else:
	print (u"__name__!=self.__class__.__name__  Othor File Import")
	print("__name__= "+__name__)

Reference_importReference_Simple_Class.py

# -*- coding: cp932 -*- 
from maya import cmds 
#import pymel.core as pm
class Reference_importReference_Simple_Class:
	def Reference_importReference_Simple_py(self):
		print("Reference_importReference_Simple() do")
		reference=cmds.file(q=1, shortName=1, reference=1)
		referenceLongName=cmds.file(q=1, reference=1)
		count5=0
		for tmp4 in reference:
			#indexOf=pm.mel.gmatch(reference[count5], "*{*")
			indexOf=reference[count5].find('{')  # => -1
			LastIndex=len(reference[count5]) - 3
			if indexOf == -1:
				#referenceNode=str(pm.referenceQuery(reference[count5], referenceNode=1))    #pymel
				#string $referenceNode=`referenceQuery -referenceNode $reference[$count5]`;  #mel
				referenceNode = cmds.referenceQuery(reference[count5], referenceNode=True )  #python

				print "-importReference@$reference[" + str(count5) + "]=" + reference[count5]
				#referenceQuery -referenceNode mid.ma;
				
				print "$referenceNode=" + referenceNode
				cmds.file(reference[count5], loadReferenceDepth="asPrefs", loadReference=referenceNode)
				#file -importReference $loadfilepath;
				#file -importReference $reference[$count5];
				#------referenceEdImportCB----file -importReference -referenceNode $selRefNode[0]=test_ian01_rigRN-------
				#file -importReference -referenceNode test_ian01_rigRN
				if cmds.file(q=1, writable=1) == 1:
					cmds.file(importReference=1, referenceNode=referenceNode)
					
				
			
			else:
				loadfilepath=reference[count5][0:LastIndex]
				print " $LastIndex=" + str(LastIndex) + "@-importReference@$loadfilepath=" + loadfilepath
				print "$referenceLongName[" + str(count5) + "]=" + referenceLongName[count5]
				#referenceNode=str(pm.referenceQuery(reference[count5], referenceNode=1)) #pymel
				#string $referenceNode=`referenceQuery -referenceNode $reference[$count5]`;  #mel
				referenceNode = cmds.referenceQuery(reference[count5], referenceNode=True )  #python
				print "$referenceNode=" + referenceNode
				cmds.file(loadfilepath, loadReferenceDepth="asPrefs", loadReference=referenceNode)
				#file -importReference -referenceNode test_ian01_rigRN
				if cmds.file(q=1, writable=1) == 1:
					cmds.file(importReference=1, referenceNode=referenceNode)
					
				
			count5+=1
		
		
		



		#//////////////////////////////////////////////////////////////////////////////////////////////////
		#//////////////////////////////////// Class Unit Test /////////////////////////////////////////////
		#//////////////////////////////////////////////////////////////////////////////////////////////////		
	def getClassName(self):
		print( u"className= " + self.__class__.__name__)
		return self.__class__.__name__

Instance = Reference_importReference_Simple_Class()  # Class  export  instance.
if(__name__ == Instance.getClassName() or "__main__"):
	print (u"__name__==self.__class__.__name__  Same!! File Test")
	print (u"=============Simple Single Class Unit Test Start==========")
	#Instance.basenameEx
	Instance.Reference_importReference_Simple_py() #Call Method
	
else:
	print (u"__name__!=self.__class__.__name__  Othor File Import")
	print("__name__= "+__name__)

OK!

 

 

Message 5 of 5

Anonymous
Not applicable
Thanks Reply Nice Answer
0 Likes