13 votes
Date Updated: 
Author Name: 
David Shelton

This useful little script combines commonly used macros for modelling into a single context based macro. So you need to remember only one key instead of many shortcuts (I recommend spacebar). The idea: Most actions will only be called in certain conditions. If you select open edges you probably want to bridge, if you select one vertex target welding is a good guess, and if nothing is selected you might want to add geometry by using cut or swift loop...

Additional Info: 

Here's a summary of all selections and functions: 0 verts: Cut 1 vert: target weld more verts: connect 0 edges: swift loop 1 edge: divide by middle more edges: connect open edges: bridge border: cap polys: extrude The script is very straightforward and you may modify it freely to suite your personal workflow. Just use the macro recorder to record an action and paste the code into the script. Installation: Drag the script into any viewport. Go to customize. You will find the 3dhippie_shortcutter in the 3dhippie category. Assign a shortcut (I recommend the spacebar or X). have fun modelling.

Version 1.1 Change Log

Bug Fixes

  • Divide edge will work with edit poly modifier
  • If two open edges share a polygon the script will use connect instead of bridge


Video URL: 
3dhippie_shortcutter.ms3.25 KB
3dhippie-shortcutter_v1.1.ms2.58 KB


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
stenionet's picture


I am using max 2009 and I receive this kind of erro message:
"-- Runtime error: No such macro-script: SwiftLoop"

Can you help me?

mafida's picture


Thanks,great script,really usefull:)

Artie's picture

Hi, David! Thanks for the

Hi, David! Thanks for the reply. Macro Recorder has been enabled but the problem was, as i found out, caused by another maxscript that probably somehow blocked this feature. I'd be glad to use Shortcutter as is if it wasn't that strictly bound to GMT because as i mentioned i use Max 2009 and have to use the standard polygonal toolset and after performing, say, the ConnectEdges function and substituting your code for one from the listener i get no reaction even after making sure that i've pressed "Evaluate All".
Btw, the output was $.EditablePoly.ConnectEdges ()

3dhippie's picture

hey Artie. Most obvious

hey Artie. Most obvious thought first: The listener doesn't automatically record macros. have you enabled the recorder? If it's turned on but doesn't record anything at all restart max.

If you can't get the script output to show up then I am afraid you will need to dig into the maxscript helpfile. This is definitely more difficult than simply recording macros but the helpful is extremely well structured and should be of a great help to you.

thanks, for using my script.

Artie's picture

Great script! Thanks alot,

Great script! Thanks alot, David! I use Max 2009 and would like to reassign some functions in your script. That way i kind of tried macro recorder to grab a code for the Connect Edges function and some other tools as well but it didn't recognize them and wrote nothing. Could you, please, tell me how i can get thecode i'm after?

3dhippie's picture


wow. I got comments. I wasn't notified by scriptspot about that. Have changed my settings now.

Thanks for the very pleasant comments. I am glad that I have made modelling fun again :-)

I was thinking about creating an interface and will probably do so, as soon as I got time. Don't know when that's ever going to happen. It seems I never have time for anything. But maybe I will squeeze some time in, now that I know that the script is beeing used.

I will check the divide edge error and try to debug.

Taalart's picture

Holy crap, this has to be one

Holy crap, this has to be one of the best scripts in the history of max! I mean combine a multitude of functions on one key press, Brilliant!!! this has made modelling fun!!

As you can tell i'm very happy with this. Can I make a suggestion to take this from epic to perfect? Could you perhaps do some sort of interface to make it easier to customize the functions. If you do this I would be eternally in your debt :P

SalahaDin's picture

Was about time!!!...

Really what i was looking for. It works like a charm, even on Edit_Poly mode. Altough I feel it's a bit slow at times, and I can't get the divide edge to work on edit_poly mode (it says "runtime error: Not a keyword argument: #select".
But I can live with that, because this script simplifies my workflow so well that it's worth the tradeoff.
Thanks a lot!!!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.