Max 2023 and Vray 5 DBR (3dsCmd)

Hi,
I’ve having issues with Max 2023 and Vray 5 DBR (3dsCmd). I get the following error.

Error: ManagedProcessAbort : Error: FailRenderException : V-Ray DBR: V-Ray Spawner executable does not exist: C:\Program Files\Autodesk\3ds Max 2023\vrayspawner2023.exe

I need to edit where it looks for the vrayspawner2023.exe as this is the wrong location.

I had a similar issue with the Setup VRay DBR with Deadline submitter but was able to fix this by editing the VraySpawner.param

I can’t work out how to do this with the 3dsCmd.

For the submitter installers, they don’t work for me with the Setup VRay DBR, I have to copy the files manually

Many thanks,
Richard

The same as VraySpawner, you need to edit plugins/3dsCmd/3dsCmd.param to use the correct path.

thanks for the quick response.
I looked at that .param file before and can’t see the vrayspawaner path mentioned anywhere.
Could you explain where and what I should add?

Best,
Richard

Oh sorry I misread. Yeah apparently the path to vray spawner is hardcoded, if you look around line 1474 of 3dsCmd.py. If you want, you could extract it to a config parameter, same as the executable path for most render plugins.

Hi Mois,
thanks again for responding.

I’ve looked at the file in the area you mentioned.

# Figure out the render executable to use for rendering.
    vraySpawnerExecutable = ""
    if self.IsRt:
        if( forceBuild == "64bit" ):
            exeList = r"C:\Program Files\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x64\bin\vrayrtspawner.exe"
            vraySpawnerExecutable = FileUtils.SearchFileList( exeList )
        elif( forceBuild == "32bit" ):
            exeList = r"C:\Program Files\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x86\bin\vrayrtspawner.exe;C:\Program Files (x86)\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x86\bin\vrayrtspawner.exe"
            vraySpawnerExecutable = FileUtils.SearchFileList( exeList )
        else:
            exeList = r"C:\Program Files\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x64\bin\vrayrtspawner.exe;C:\Program Files\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x86\bin\vrayrtspawner.exe;C:\Program Files (x86)\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x86\bin\vrayrtspawner.exe"
            vraySpawnerExecutable = FileUtils.SearchFileList( exeList )
            
        if( vraySpawnerExecutable == "" ):
            self.Plugin.FailRender( self.Plugin.Prefix + "Could not find V-Ray Spawner executable in the following locations: " + exeList )
    else:

I’m not experienced with this type of thing and not sure how to extract things to a config parameter. It might be simple but it’s not for me!

Is there any chance you could give me a stet-by-step on this?

It’s very annoying about this not working as it should on the install. This method it part of our standard workflow and we are having to DBR locally when we want to offload it.

Really appreciate your help.

Best,
Richard

Hey, don’t have much time right now, but the gist of it is change exeList to

exeList = FileUtils.SearchFileList(self.Plugin.GetConfigEntry("VraySpawnerExecutable"))

The name of the config entry will have to appear in the .param file. Look at the other params and you’ll see. The parameter type in this config must be multilinemultifilename, which appears as a multiline text entry in the interface, and emitted as a semicolon-separated list when you ask for its value. SearchFileList takes a semicolon-separated list and returns the first path that exists on the file system.
The 64bit check is probably irrelevant, so you might as well remove it.

TBH I’m not fully understanding this due to my lack of knowledge in scripting. I tried swapping out the text you highlighted but I definitely did it wrong as I then got a syntaxerror.

I’m going to keep perusing this but if you do get a moment when you are less busy I would really appreciate it.

Many thanks,
Richard