A modern version of MXSCOM, to allow for editing & execution of 3ds Max MaxScript and Python files from external code editors.
In 2005 Simon Feltman released the first MXSCOM, a small Visual Basic 6 application that took commands and sent them to Autodesk's
3ds Max's internal COM server. This allowed users to choose their own external code editor for editing MaxScript and to be able to
have their MaxScript code execute in 3ds Max by way of having the code editor utilize MXSCOM to send the file into 3ds Max and have it
executed. Modern versions of Windows can not use Simon Feltman's old MXSCOM.exe program due to it being ActiveX based.
MXSPyCOM is a C# based replacement for MXSCOM. It offers the same functionality as MXSCOM but can run on modern versions of Windows.
It also supports editing of Python files and having them execute in versions of 3ds Max, starting with 3ds Max 2015, that support Python
* Put MXSPyCOM.exe on your harddrive.
* Put the initialize_COM_server.ms file in %localappdata%\autodesk\3dsmax\\\scripts\startup
for instance, %localappdata%\autodesk\3dsmax\2017 - 64bit\scripts\startup
* In your editor of choice add an external tool.
For instance, in UltraEdit (www.ultraedit.com) go to Advanced \ User Tools \ Configure Tools
* On the Tool Configuration dialog insert a new command.
* Set the Menu Item Name to something like, "Execute Script in 3ds Max".
* Set the command line to the path where MXSPyCOM.exe is located, a -f command switch and "%f", which UltraEdit replaces with the
filepath of the current document. E.g. C:\Program Files\MXSPyCOM\MXSPyCOM.exe -f "%f"
* Click OK to add the command.
MXSPyCOM supports the following options:
-f Execute the provided file in 3ds Max's script interpreter
-e Edit the provided file in 3ds Max's internal script editor.
-c Encrypt the provided file. This only works for MaxScript files.
A note on Visual Studio: If you use Python Tools for Visual Studio and attach to 3dsmax.exe any breakpoints you have set will get hit. This makes debugging Python scripts for 3ds Max much easier than trying to use 3ds Max's internal editor, which has no debugger or breakpoint capabilities. Attaching a debugger and utilizing breakpoints is probably also achievable in other Python code editors like WingIDE or PyCharm.