MaxScript 是大量被用在实现3dsMax的功能中的。我们几乎可以在max界面上所有的按钮上右键单击,选择“编辑宏脚本”命令,来查看这个功能的实现方式。
这些宏命令最开头的就是macroScript 命令了。下面是一个删除空层的小范例。
macroScript DeleteEmptyLayers
category:"Preeti's Tools"
toolTip:"DeleteEmptyLayers"
(
_defaultlayer = layerManager.getLayer 0
_defaultlayer.current = true
try
(
_total_layers = layerManager.count - 1
_layercount = #()
_layercount = for i = 1 to _total_layers collect i
_revlayers = #()
for i in _layercount.count to 1 by -1 do append _revlayers _layercount[i]
for j in _revlayers do
(
_getlayer = layerManager.getlayer j
LayerManager.deleteLayerByName _getlayer.name
)
)
catch()
)
macroScript 后面就是这个宏命令的名称。
category 就是这个宏命令出现的位置。
上面这两个是必须的
toolTip 是一些提示
我们是不能直接把这段代码拖动到工具栏上的。如果非要直接拖动的话,请选择第四行开始至结束位置拖动。
再运行一遍这段代码以后我们就可以在“自定义用户界面”上将宏命令拖动至工具栏上了。
这里的类别就是由category所定义的。
需要注意的是我这里使用的是MAX2021.3的版本。此版本已经和官方帮助上的界面有所不同了
下面是官方帮助下的界面截图。