PDA

View Full Version : MAXscript used for interapplication communication...


Blacksmith3D
03-28-2009, 08:00 PM
Hey everybody!

I just developed a MAXscript that allows 3D Studio MAX to communicate and share data with a host application, Blacksmith3D-Suite, Paint and Paint-Freeware. Given the limitations of MAXscript, and not being able to open sockets and that sort of thing, I implemented a really simple method where "flag" files are written to a temporary directory to signal the host application to do certian things, read exported data, etc.

I decided to create this solution in the form of a MAXscript rather than a compiled plug-in such that the user is free to make customizations, tweaks, fixes for special cases, etc. if they are MAXscript savvy.

So I would be very interested in hearing the opinions of other MAXscripters with regards to this scripted plug-in. It can be freely downloaded along with the Blacksmith3D-Paint-Freeware at

http://www.blacksmith3d.com

Cheers and I look forward to your input!

thatoneguy
03-29-2009, 04:27 AM
Were you aware of Max's COM interface? If not I would take a good look at that and see if it doesn't solve a lot of the problems you were encountering.

You can execute code in max or inject data directly using COM.

Kramsurfer
03-30-2009, 09:42 PM
In Max 9 and later, you could use the dotnet socket class to create and communicate via sockets.

JHN
03-31-2009, 07:35 AM
Keith, is there some sample script or info on that anywhere?
I'd be interested for a collaborative thingie I'm planning.

Thanks,
-Johan

Kramsurfer
03-31-2009, 04:07 PM
I've not "Actually" programmed sockets through MXS+Dotnet, but have with MXS+python+Pyro so I would think the dotnet way is possible as well... As far as the python, I've only a built simple server/client as a test, then the Archi market collapsed along with real estate and I'm back to "doing work" instead of pipeline improvements.. The Pipe is already alot bigger than the work unfortunatly...
So Sorry, I don't have a coded example of sockets in Dotnet, although I'm now curious.

JHN
03-31-2009, 05:29 PM
Yeah it's a real pain when work comes in the way instead of the great pipeline ideas you have... same here, although not so heavy hit for now fortunatly (tv series/commercials).
But cool that you have a connection up with python, I'm still dabbling with all these new possibilities of dotnet and python and whatnot. I'm looking to build an solid file exchange system without the use of temp folders on each machine etc. and or exchange all sorts of data in a transparent way. But I'm losing topic here.

Thanks for the reply,
-Johan

Blacksmith3D
03-31-2009, 07:23 PM
Wow. I didn't realize that Max 9+ had socket support. Thanks for the heads up. That could come in handy in the future. However, the main reason why I did the simple "file flagging" technique was so the plugin can be used in previous versions of max, and I am also thinking ahead of doing the same thing for Maya, Lightwave, etc. where the scripting languages may be limited. Also, the response time does not have to be all that zippy in this case.

CGTalk Moderation
03-31-2009, 07:23 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.