3dsmax 2010 Support for Deadline 3.1

Hi Everyone,

Attached is a patch that adds 3dsmax 2010 support to Deadline 3.1. We have tested this against a clean Deadline 3.1 install without any problems. To install, first make back up copies of the following folders (just to be safe):

[Repository]\plugins\3dsCmd
[Repository]\plugins\3dsmax
[Repository]\submission\3dsCmd
[Repository]\submission\3dsmax
[Repository]\scripts\Submission\3dsCommandSubmission
[Repository]\scripts\Submission\3dsmaxSubmission

Then unzip the attached patch to your repository root folder. So if your repository is installed to \server\DeadlineRepository, unzip the patch to \server\DeadlineRepository. This will copy over all the necessary files.

After unzipping the patch, you need to configure the 3dsmax 2010 executable in the Plugin Configuration. After that, you should be able to submit jobs from 3dsmax 2010 (providing you’ve already installed the client proxy script as described here: franticfilms.com/software/su … tsetup.php).

Cheers,

  • Ryan

EDIT: A new patch can be found below.

Couple of GUI issues in the SMTD, maybe due to a UI/font change in 2010…? See image. M

Here is a new patch that fixes a problem that was causing 3dsmax 9, 2008, and 2009 jobs to fail. It also addresses “Submit Visible Objects” gui problem by removing ‘More’ from the setting name. This patch should be installed the same way as the original as described above.

We have confirmed that the correct version is max is displayed in the comment field in the release version of 2010.

Cheers,

Hi Ryan,

Since I’ve installed this patch I’ve had jobs submitted from Max 2008/2009 failing. I don’t know if the same problem exists for Max 2010 as we haven’t submitted any jobs from that yet.
It appears that although the job is completed successfully and the image is written out correctly, the job marks as failed and restarts.
I’ve applied the latest patch above which I’m guessing should fix this issue but it’s still an problem for us.

Any thoughts?

Thanks,
Rob

Hi Rob,

Can you post the error report? Even better, can you post the full task log report? Deadline will always requeue a task if an error occurs, even if that error occurs after the frames are written. We can take a look at the render log and try to figure out what is going on.

Thanks,

  • Ryan

Ryan,

I’ve attached a typical error report and log report to this post for you to have a look at.
It doesn’t appear to happen to every job we submit, only about 50% of them but I’m yet to find out the common factor.

For the time being I’ve set jobs to fail after 1 error so that they don’t endlessly render…

Thanks
Rob
error_log_report.zip (32 KB)

Hi Rob,

It looks like Deadline is just the messenger is this case, as the following is being printed out to the Max log:

That error often causes max to crash, which is why Deadline prints this out:

It might be a good idea (if you haven’t already done so) to start with a scene that reproduces this problem, and then strip things out of the scene until it renders. That should help narrow down the problem.

Cheers,

  • Ryan

yeah, after reading through the logs myself I’d come to the same conclusion.
However, it is strange how this happens on independent scenes with nothing in common.
I’m wondering if it could be RPManager data in (or remaining in) the scenes which are causing the problem as I think this is the only common ground with the max files - I’ll drop Grant a line and see if he’s got any ideas.

Cheers,
Rob

Make sure you have the latest version of RPManager installed.
Previous versions had a MAXScript callback issue, which I told Grant about and he has fixed.
Try typing “callbacks.show()” into the maxScript listener window and showing us what callbacks you have in play.
Mike

Design 2010 doesn’t work with provided 3dsmax.py. The problem is that the settings for Design 2010 are stored in a different directory than max 2010. With Design 2009 they were the same, but Autodesk in their ultimate wisdom decided to mess with us and put it somewhere else for 2010. So I had to rewrite a few lines in the python file to get Design 2010 working. I’ve made bold the changes I made. My changes don’t work with Max 2010, so it will need further altering to support both. But this should be enough to get you started.

Set 3dsmax Ini file.

	if( self.Version >= 2008 [b]and self.Version <=2009[/b] and self.UseUserProfiles ):
		# In max 2008, the 3dsmax.ini file is in the user profile directory if UseUserProfiles is enabled.
		if( self.Is64Bit ):
			self.MaxIni = Path.Combine( GetLocalApplicationDataPath(), "Autodesk\\3dsmax\\" + str(self.Version) + " - 64bit\\enu\\3dsmax.ini" )
		else:
			self.MaxIni = Path.Combine( GetLocalApplicationDataPath(), "Autodesk\\3dsmax\\" + str(self.Version) + " - 32bit\\enu\\3dsmax.ini" )
	[b]elif (self.Version ==2010):
	        if( self.Is64Bit ):
			self.MaxIni = Path.Combine( GetLocalApplicationDataPath(), "Autodesk\\3dsMaxDesign\\" + str(self.Version) + " - 64bit\\enu\\3dsmax.ini" )
		else:
			self.MaxIni = Path.Combine( GetLocalApplicationDataPath(), "Autodesk\\3dsMaxDesign\\" + str(self.Version) + " - 32bit\\enu\\3dsmax.ini" )[/b]

            else:
		self.MaxIni = ChangeFilename( self.MaxRenderExecutable, "3dsmax.ini" )
	if( File.Exists( self.MaxIni ) ):
		LogInfo( "Using 3dsmax ini file: %s" % self.MaxIni )
	else:
		LogWarning( "3dsmax ini file does not exist: %s" % self.MaxIni )

======================================================
if self.Version == 2010:
pluginIniDirectory = Path.GetDirectoryName( self.MaxRenderExecutable )
if self.UseUserProfiles :
if( self.Is64Bit ):
pluginIniDirectory = Path.Combine( GetLocalApplicationDataPath(), “Autodesk\3dsMaxDesign\” + str(self.Version) + " - 64bit\enu" )
else:
pluginIniDirectory = Path.Combine( GetLocalApplicationDataPath(), “Autodesk\3dsMaxDesign\” + str(self.Version) + " - 32bit\enu" )

		LogInfo( "Copying " + Path.GetFileName( pluginIni ) + " to " + pluginIniDirectory + " to workaround a problem with version 2010" )
		LogInfo( "If this fails, make sure that the necessary permissions are set on this folder to allow for this copy to take place" )
		
		tempPluginIni = pluginIni
		newPluginIni = Path.Combine( pluginIniDirectory, Path.GetFileName( pluginIni ) )
		File.Copy( tempPluginIni, newPluginIni, True )
		pluginIni = Path.GetFileName( pluginIni )

Thanks for the info! We’ll make sure Deadline supports both max 2010 and max design 2010 for the 3.1 service pack release.

Cheers,

  • Ryan

i’ve copied the patch to the repository but i’m getting this error

Error Message
An error occurred in StartJob(): There was an error running the 3dsmax command line renderer, C:\Program Files\Autodesk\3ds Max 2009\3dsmaxcmd.exe
This may be caused by an incorrect install of 3dsmax.
Contact Deadline support with the following information from its command line output:
‘P10/09/2009 16:47:40; Error initializing backburner path system’ (Deadline.Plugins.ScriptPlugin+FailRenderException)

Slave Log
stem’ (Deadline.Plugins.ScriptPlugin+FailRenderException)

RenderPluginException.Cause: JobError (2)

Exception.Data: ( )

Exception.TargetSite: Void StartJob(Deadline.Jobs.Job)

Exception.Source: deadline

Exception.StackTrace:

at Deadline.Plugins.ScriptPlugin.StartJob(Job job)

at Deadline.Plugins.Plugin.StartJob(Job job)

at Deadline.Slaves.SlaveRenderThread.RenderCurrentTask()

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Constructor: 3dsmax
0: Task timeout is disabled.
0: Loaded job: Home_Shot11_Lighting_Coin_AI_04 (001_080_999_2614306c)
0: INFO: StartJob: initializing script plugin 3dsmax
0: INFO: About: 3dsmax Plugin for Deadline
0: INFO: Start Job called - starting up 3dsmax plugin
0: INFO: Rendering with 3dsmax version: 2009
0: INFO: Build of 3dsmax to force: none
0: INFO: Rendering with executable: C:\Program Files\Autodesk\3ds Max 2009\3dsmax.exe
0: INFO: Fail on existing 3dsmax process: 0
0: INFO: Load 3dsmax timeout: 4000 seconds
0: INFO: Start job timeout: 4000 seconds
0: INFO: Progress update timeout: 8000 seconds
0: INFO: Progress update timout disabled: 0
0: INFO: Slave mode enabled: 1
0: INFO: Silent mode enabled: 0
0: INFO: Local rendering enabled: 1
0: INFO: Strict 3dsmax check enabled: 1
0: INFO: Verifying installation of 3dsmax 2009 at C:\Program Files\Autodesk\3ds Max 2009
0: INFO: Version of core.dll: 11.5.2.318
0: INFO: Ensuring 3dsmax install is valid
0: INFO: Running 3dsmaxcmd workaround
Scheduler Thread - Render Thread 0 threw an error:
Scheduler Thread - An error occurred in StartJob(): There was an error running the 3dsmax command line renderer, C:\Program Files\Autodesk\3ds Max 2009\3dsmaxcmd.exe
This may be caused by an incorrect install of 3dsmax.
Contact Deadline support with the following information from its command line output:
‘P10/09/2009 16:47:40; Error initializing backburner path system’ (Deadline.Plugins.ScriptPlugin+FailRenderException)

Error Type
RenderPluginException

Error Stack Trace
at Deadline.Plugins.ScriptPlugin.StartJob(Job job)
at Deadline.Plugins.Plugin.StartJob(Job job)
at Deadline.Slaves.SlaveRenderThread.RenderCurrentTask()

Seems like there is a problem with the backburner install on the machine. Maybe try reinstalling it.

Cheers,

  • Ryan

Im getting an error when using the SubmitMaxToDeadline.mcr The error is ~~Runtime error: No such macro-script: SubmitMaxToDeadline. However when I use 3dsCmd2Deadline.mcr there is no problems. I’ve installed the max 2010 patch. job renders fine using 2dsCmd2deadline but I perfer the UI using the other script. Any thoughts?

Have you tried reinstalling the client script?
software.primefocusworld.com/sof … tsetup.php

If you have, and that didn’t help, check \your\repository\submission\3dsmax to see if the SubmitMaxToDeadline.ms script actually exists there.

Cheers,

  • Ryan

hello rrussell,

I have installed the Deadline 3.1 SP1( Windows ) and applyed the patch, as far i try here are my results:

  • 3d max 2010 using “SubmitMaxToDeadline.mcr” from the patch i got: “Runtime error: No such macro-script: SubmitMaxToDeadline”.
  • 3d max 2010 using “SubmitMaxToDeadline.mcr” from old version(3.1) BUT Everything else from the patch i got: Success.

therefore, with the second option i’m having some problems with the external files using mental ray(perhapes scanline too). In the old version i belive that slaves got the file ex:“myMap.jpg” with the new version that image is {31829318731849124} (some crazy number) without extension. In advance i’m forced to use an mxp file pointing all slaves to connect to some machine that i manually put the maps there.

anything make sense?

After you dropped in the new SubmitMaxToDeadline.mcr file, did you run the script again from within 3dsmax? See step 2 here:
software.primefocusworld.com/sof … tsetup.php

We’ll first focus on getting the patched version SubmitMaxToDeadline.mcr working, and then see if you continue to have the problem with external files.

Cheers,

  • Ryan

rrussell,

Yes, i did all steps in 3dmax when i replace the .mcr file.
I tryed different versions in different machines.

Its weird, this start to happen when i update the repository and clients to SP version. Are you guys using the same version?

  • i’m running on Xp 64 bits with max 2010 64 bits.

We tested the submitter against the 3.1 SP1 version before releasing it, and others who have applied the patch haven’t had any problems. We’ve also tested specifically with XP 64 and Max 2010 64.

When you said that the old 3.1 mcr script worked, were you referring to the 3.1 or 3.1 SP1 version of the script?

rrussel,

I refered to the 3.1
2010 patch scripts + 3.1 .mcr + 3.1 SP1 client/repository = working( except the collect files )
2010 patch scripts + 3.1 SP1 .mcr + 3.1 SP1 client/repository = max script error.