Xmesh Frost Without A Frost License?

Is there a way to Xmesh Frost without taking a Frost license. We have about 5 license of frost but now we need to distribute them to other users and we want to use Xmesh. Also we have our farm working to distribute Xmesh Saves, but we don’t want to have to buy as many frost licenses as Xmesh license to use the farm. If you render frost you don’t need a license but that seems to be only from the 3dsmaxcmd.exe. I can’t seem to get the Saver Script to work without using the GUI. I tried using a pre-render script but it never seems to save out the meshes. I realize you want to sell more Frost licenses but to me Xmeshing your frost mesh should be treated like rendering it. I still have to pay per xmesh saver license. It would just make distributing the Frost Meshes way easier since other departments aren’t ever going to change the settings

As far as I know, running Frost + XMesh in network rendering mode would require no license. Of course, my only experience with these is from using them with Deadline where running a MAXScript job requires no pre-render script hacks, and back in the day we had unlimited licenses anyway, so I wouldn’t have known either way.

So I am not sure how to help you here without having access to exactly the same pipeline. I could remove the Frost license from my license file and try to submit an XMesh saving job, but all I can run is Deadline. What were you running the job on? Can you show me the script you tried to execute?

So I did some license file juggling to disable the license on my machine while running in network rendering mode (a.k.a. Slave Mode) and it worked as expected. Here is what I did and what the gotchas are:

*I created a scene in 3ds Max in workstation mode using some particles I had. Turned to FROST.
*I submitted a saving job to the network and after that but before enabling it to process, I switched to a license file that did not have FROST licensing in it.
*The result was correctly saved meshes from the network job regardless of the missing FROST license.

NOTE that in the above second step, if I disabled the license BEFORE I submitted, the scene that went out would be saved from a license-less workstation and would NOT work in network rendering mode because this is an obvious limitation of the FROST licensing model - you cannot render for free unless the scene was saved with a valid license. This is to prevent smart people from downloading the evaluation version and rendering for free without ever purchasing a license. And we really don’t want that, greedy as we are :mrgreen:

So the FROST license is really not required to save an XMesh - as repeated many times already, XMesh is a kind of a renderer. But I can only test with Deadline here, so YMMV.

The code used by Deadline to perform the saving can be found in the file
C:\Program Files (x86)\Thinkbox\MeshSaver\Scripts\MeshSaverDeadlineScriptJob.ms
It is a similar function to what is in the GUI, but it does not need the GUI as it gets all its settings from the Job Info file.

Thanks for the reply. I’m not familiar with deadline, when you run a script job. Are you using the 3dsmaxcmd.exe? Can you run your script from command line? I guess my problem isn’t even the licensing yet its getting the Xmesh to save from the 3dsmaxcmd.exe.
bat script
“C:\Max2010_x64\Must_Be_Run_From_This_Folder\3dsmaxcmd.exe” -script=“C:\1\Dev-John\scripts\Xmesh.ms” “C:\temp\testX.max”

–Your Sample Code
theObject = $Teapot001
theNewPath = @“c:\temp\testX\xmeshtest_.xmesh” --define the output file name
makeDir (getFileNamePath theNewPath) all:true --make the directory if it does not exist
MeshSaverUtils.SetSequenceName theNewPath --set the save path
MeshSaverUtils.SetSceneRenderBegin() --enable render mode
for t = 0 to 100 do --save from 0 to 100, ignore empty meshes, topology, save in world space and save velocities
at time t (MeshSaverUtils.SaveMeshToSequence theObject true true false true)
MeshSavqwerUtils.SetSceneRenderEnd()

Also I wasn’t implying you guys are greedy I think Thinkbox is great and very easy to work with.
-John Kosnik

I’m using 3dsmaxcmd.exe. (I think you need to use 3dsmaxcmd.exe to save a Frost mesh without checking out a license.)

Here’s the script I’m using (named backburner_teapot.ms):

MeshSaverUtils.SetSceneRenderBegin() try ( local ignoreEmpty = true local ignoreTopology = true local useObjectSpace = true local saveVelocity = true MeshSaverUtils.SetSequenceName "C:/temp/backburner_teapot_0000.xmesh" for t = 0 to 100 do at time t (MeshSaverUtils.SaveMeshToSequence $Teapot001 ignoreEmpty ignoreTopology useObjectSpace saveVelocity) ) catch ( MeshSaverUtils.SetSceneRenderEnd() throw() ) MeshSaverUtils.SetSceneRenderEnd()

And I’m using the command line:

"c:\Program Files\Autodesk\3ds Max 2012\3dsmaxcmd.exe" -script=backburner_teapot.ms backburner_teapot.max

It looks like we’re doing almost exactly the same thing, but it works as expected for me. I’m trying to find the issue now, and I’ll let you know if I find anything.

(Edit: I assume this typo is not in your original script? MeshSavqwerUtils.SetSceneRenderEnd())

well not sure how your code is different but this seems to work for me. I’m gonna do some more complex tests, maybe I had something else wrong.

Do you see any errors when running your script? I get the following error in 3ds Max 2010, but not in 3ds Max 2011 or 2012:

9/1/2011 13:07:59 PM; Error rendering frame 0: Unknown error while loading application
9/1/2011 13:08:07 PM; Job Completed with Error(s) - see above

Followed by a 3ds Max crash. I’m wondering if you have the same problem, or if this is just a problem on my machine.

(Edit: It was just my machine. The crash went away after updating to the latest 3ds Max 2010 hotfix. The error went away after re-saving the max file.)

yeah this seems to be working thanks for the help.

Alright, I’m happy to hear you got it working!