ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Send to 3ds Max

by cb109 ST3 Win

:telephone_receiver: MAXScript support and remote code execution in 3ds Max from Sublime.

Details

  • 0.11.0
  • github.​com
  • github.​com
  • 2 months ago
  • 18 minutes ago
  • 5 years ago

Installs

  • Total 3K
  • Win 3K
  • OS X 44
  • Linux 12
Feb 22 Feb 21 Feb 20 Feb 19 Feb 18 Feb 17 Feb 16 Feb 15 Feb 14 Feb 13 Feb 12 Feb 11 Feb 10 Feb 9 Feb 8 Feb 7 Feb 6 Feb 5 Feb 4 Feb 3 Feb 2 Feb 1 Jan 31 Jan 30 Jan 29 Jan 28 Jan 27 Jan 26 Jan 25 Jan 24 Jan 23 Jan 22 Jan 21 Jan 20 Jan 19 Jan 18 Jan 17 Jan 16 Jan 15 Jan 14 Jan 13 Jan 12 Jan 11 Jan 10 Jan 9 Jan 8
Windows 0 4 3 4 3 1 2 1 1 6 0 5 1 0 1 2 0 0 2 2 0 5 3 2 4 3 2 1 2 1 5 4 0 2 1 2 2 3 1 4 1 0 0 0 5 2
OS X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

Sublime 3ds Max

Sends MAXScript/Python files or selected lines to 3ds Max.

Benefit from Sublime as an editor without having to enter 3ds Max everytime you want to evaluate some code. Best used on a split- or two-monitor setup.

The plugin works by iterating all opened windows and searching for Autodesk 3ds Max to find the MAXScript Listener handle, that then gets pasted the code or import command. 3ds Max is found and communicated with automatically. You can choose which one to talk to if there are multiple running instances of 3ds Max.

A lot of people have contributed their work to make this tool better, I want to thank all contributors and encourage you to check out their websites at the bottom of this page!

How to install using Sublime Package Control

If you don't have Package Control installed, get it here: Package Control

  1. In Sublime start Package Control -> Install Package
  2. Search for Send to 3ds Max and hit Enter to install

How to install manually

  1. Download the repository
  2. In Sublime Text go to Preferences -> Browse Packages
  3. Create a folder named Send to 3ds Max
  4. Extract the contents to the folder
  5. Restart Sublime

Sublime Text Version

Support for Sublime Text 2 has been dropped with 0.11.0 and as such only ST3 is supported moving forward. If you really still have to use ST2 you can try to install an older version from Package Control or checkout a version tag manually.

How to setup in Sublime

There are four available commands:

  • send_file_to_max: Execute the current file. Allowed file types are: *.ms, *.mcr, *.py
  • send_selection_to_max: Execute the current selection. No selection will execute the line where the cursor is. Selecting something on a single line will execute exactly that selection, so it is possible to select small snippets. Selecting something over multiple lines will execute these full lines for quickly executing certain blocks of code.
  • select_max_instance: If you have multiple instances running, this command lets you choose which one to communicate with. Your choice is remembered until Sublime is closed.
  • open_max_help: Open the MAXScript online documentation and search for your currently selected text.

Note: You must work with actual files that have been saved to disk, so that it can detect whether you are working with MAXScript or Python code by looking at the file extension.

To set shortcuts for the commands, edit your Key Bindings - User file and bind to any key you like (I mimic the MAXScript Listener keys here):

{ "keys": ["ctrl+e"], "command": "send_file_to_max" },
{ "keys": ["shift+enter"], "command": "send_selection_to_max"},
{ "keys": ["ctrl+shift+e"], "command": "select_max_instance" },
{ "keys": ["f1"], "command" : "open_max_help"}

Formatting of Inline Comments

Some people prefer inline comments to start at the beginning of each line (I know I do), others like to have them indented to the first non-empty character of each line:

Error: language “maxscript” is not supported
# This is the default formatting.
-- function foobar = (
--   LayerManager....
--   for obj in objects do
--     obj.wirecolor + ...
-- )

# Though you may prefer the comments to be indented.
-- function foobar = (
  -- LayerManager....
  -- for obj in objects do
    -- obj.wirecolor + ...
-- )

It's a matter of taste and as such there is no right or wrong. If you prefer the comments to be indented, please remove the following block from Comments.tmPreferences:

<dict>
    <key>name</key>
    <string>TM_COMMENT_DISABLE_INDENT</string>
    <key>value</key>
    <string>yes</string>
</dict>

Hope you like it!

Contributing

If you want to contribute, please fork this repository, add your changes and submit a pull request for the develop branch. Please try to adhere to PEP8 and remember: commit early, commit often, make each commit do only one thing and use meaningful commit messages. Thanks :)

Original authors: * Christoph Bülter * Johannes Becker

Contributors: * Christian Deiß * Daniel Santana * Ettore Pancini * Johan Boekhoven * Luca Faggion * Rogier van Etten * Ross Garfoot