3dsmax 2014 Python is out

One nice feature of RPYC is the ability to set up an ‘classic mode’ server which is basically gives you complete proxy access to the remote host:

http://rpyc.readthedocs.org/en/latest/docs/classic.html

It’s not something you’d want to include in production code, since it gives a remote machine complete control of the server - it can run os commands or whatever - but it’s great for giving remote access from outside of the host package while doing rapid development.

Hey guys, check out my latest post, feel free to jump in and add your own stuff!

http://www.youcandoitvfx.com/?p=599

Hi guys ,
Anyone tested PyQt or PySide in 3ds Max new python system yet ? :?:

Looking for a bit of help on how to accomplish the simple task of getting the material ID of a editable poly object’s face.

Why does this not work? I’m having tons of issues with MaxPlus. Maybe its my lack of knowledge of python(primarily a maxscript person before this but have wanted to learn python for awhile) or MaxPlus not being complete or straightforwards enough… Im just an artist who makes pipeline automation and modeling tools from time to time.

nodeTab is a MaxPlus.INodeTab() object with INodes appended earlier in the code. It works fine on editable mesh objects but not on editable poly or standard primitives


for i in nodeTab:
    mesh = i.GetObject().AsTriObject().GetMesh()
    for f in mesh.Faces:
        print f.GetMatID()

Thanks for any help!

I guess .AsTriObject() is broken for editable polys and primitive objects or its not doing what I think its doing… seems to return an empty mesh. I used maxscript to get around this and grabbed the .mesh from the node like so:


mesh = MaxPlus.Core.EvalMAXScript('$' + i.Name + '.mesh').Get()
mat_ids = set([x.GetMatID() for x in mesh.Faces])

In case anyone was interested…

[QUOTE=daw098;23035]Hi guys ,
Anyone tested PyQt or PySide in 3ds Max new python system yet ? :?:[/QUOTE]

I also want to know about this. I have very little experience with Python and have not been able to find much info on using Python in 3ds max. Creating a UI with PyQt or PySide would be so convenient. has anyone done this in 2014 or 2015?

Also, are there any example Python tools that can be run from 3DS MAX?

Thank for your input guys. My brain really appreciates it.

Yes we have and in its current state it is rather disappointing. For example there is no proper way to make a PySide window the child of the main window. While there is a helper function to do so it does not work as expected. You have 3 choices:

  • Use the helper function, then the PySide window can not leave the area of the main window. That’s ridiculous with dual monitor setups
  • Use “always on top”, then the window is on top even if you want to read a webpage or use another application
  • Don’t set it up then clicking the main window makes the PySide window get lost behind the main window

If you are using PyQt (which is not included and probably not really straight forward to get working) then there is a blog post that explains using part of the binaries from blur’s py3dsmax in order to use the qtwinmigrate wrappers there to hack that together.

And that’s just one example for the gripes that i have. As said i am rather dissapointed especially since we are in for the second release already.

Cheers,
Thorsten

Now that I have Max 2016 I am ready to to start exploration of The Python in Max
(I’m not new to Python, Just new to driving Max with it)

I posted questions on CG talk and got crickets, so here goes:

So some starter questions:
When I google MaxPlus , the first hit is the 3DS MAX Python API documentation.
Is “MaxPlus” == the Autodesk 3DS MAX Python API, or is it something else?

I think Py3DSMax completely different thing altogether?
Is this Py3DSMax Still actively supported by any community?
Is it basically obsoleted by the Autodesk 3DS MAX Python API?

Is there a particularly active forum somewhere for Python & 3DS Max ?

py3dsmax is something blur wrote, i don’t think its supported by AD at all
MaxPlus is their swig wrapper, kinda like OpenMaya, but less complete. Its getting there though.
Resources on this are slim

this is all i know

I don’t have a lot of experience with it - I just ported some asset management tools to Max. But you want to stick to Maxplus. For UI’s you can use Qt - it works quite well. Complex stuff I still do in MaxScript, which I call from Python. So far so good. With this approach I didn’t have too may problems, except that Python in Max doesn’t support threads. So make sure to call “processEvents” in Qt.