Quite often, 3ds Max's internal scripting language, MAXScript, can help you reach your aims in an elegant way. In the simplest case, you can "remote control" the application by feeding it written commands or playing back a procedure that you recorded using the mouse beforehand (hence, the name "scripting" language). In more advanced cases, MAXScript gives you the ability to create anything from small helper programs that solve a single problem to completely customized toolsets that are specifically adapted to your workflow or pipeline. These tools can then become integral parts in ensuring a smooth production and can give you the ability to react quickly to client changes or other unforeseen variables. Especially in large-scale projects, having scripting knowledge can be a huge plus.
The following sections will demonstrate that MAXScript programming, with its relatively straightforward design, is easy to comprehend--even for people with a non-technical background--and that it is unjustified to think of it as a "three-headed monkey" that is difficult to tame. I will introduce you to MAXScript by describing what it can do for you, after which you will start writing your first lines in the context of simple practical examples. Next, I will explain the most commonly used language features. After that, you will create your own little toolset to automate the setup of ambient occlusion and object matte render passes as well as write a small tool for managing scene materials and the material editor. Finally, this chapter provides an introduction to how to install and use existing scripts written by others. This chapter also gives an overview of where to find free and commercial scripts of interest to artists working in architectural visualization.