返回AI编程与办公自动化目录

文章 / AI编程与办公自动化

第 27 套 Skill:3ds Max 双引擎,装完即见菜单——像商业插件一样好用的工具,说句话就给你做出来

原创 李伟坚 Excel催化剂(附件请在原始资料库或公众号中获取)) 2026年9月17日 还记得上篇文章结尾我提前透的底吗?"3ds Max、Blender、SolidWorks 都在排了。"今天,第一个兑现的来了—— 第 27 套 Skill:3ds Max 脚本开发,正式发布。 而且这一套,跟

原创 李伟坚 Excel催化剂(附件请在原始资料库或公众号中获取))

2026年9月17日

还记得上篇文章结尾我提前透的底吗?“3ds Max、Blender、SolidWorks 都在排了。“今天,第一个兑现的来了——第 27 套 Skill:3ds Max 脚本开发,正式发布。 而且这一套,跟以往不太一样:它是双引擎驱动,并且我下决心做到了**“装完即见菜单”**——像商业插件一样好用。


一、上篇文章预告的,第一个落地了

熟悉我的老朋友都知道,昨天我刚发布第 26 套 Skill——SketchUp,一脚踏进了三维建模的世界。

在文章结尾我跟大家透了底:3ds Max、Blender、SolidWorks,这些三维设计里响当当的名字,后续都会陆续安排上。

结果今天,第一个就落地了——3ds Max。

为什么是它?因为如果说出“三维设计最出圈的那几个软件”,3ds Max 一定排在最前面——影视、游戏、室内设计、建筑可视化、产品动画……几乎所有你见过的炫酷三维画面,背后都有它的身影。

而且这一套 Skill,我给自己立了一个更高的标准。它不再只是“能交出脚本”,而是要交出“零基础用户装完就会用、体验接近商业插件”的工具。

二、为什么是 3ds Max?它的用户,恰恰最需要“说句话就有工具”

先说 3ds Max 是什么:一款在三维建模、动画、渲染领域叱咤风云几十年的老牌软件。用它做出来的东西,你可能天天都在看——游戏里的场景、电影里的特效、楼盘宣传片的动画、装修效果图,很多都出自它之手。

但 3ds Max 有一个绕不开的现实:它的“重复劳动”特别多。

  • 模型导入进来,命名乱成一团,Box001 Fuel tank (3) 这种名字满天飞,要一个个手动改成规范格式;
  • 一个文件夹里 30 个 .max 场景,每个都得打开、导出成 FBX,才能交给下一个环节;
  • 材质贴图路径断了、场景里有几百个没用上的材质、灯光要重新搭三点布光……

这些活,不是做不来,是又慢又无聊,还极容易出错。

过去想让这些活自动化,你得会 3ds Max 的脚本——可它的用户里,编剧、导演、室内设计师、游戏美术、建筑动画师,绝大多数都不是程序员。

而这,正是我这套 Skill 最想解决的事。 而且我要解决到位——不能是“给你一堆代码你自己折腾”,而是“装完就在菜单里,点一下就能用”。

三、最大的亮点:双引擎驱动,MAXScript 和 Python 都能写

这是我做这么多套 Skill 以来,很少见的一种配置。这套 3ds Max Skill,内置了两套引擎,AI 会根据你的需求自动选。

引擎一:MAXScript(3ds Max 原生语言)

MAXScript 是 3ds Max 自带的脚本语言,零依赖、无需编译——AI 直接把脚本写成文本,是贴合 3ds Max 本体的语言,写场景操作、模型批处理,又轻又直接。

引擎二:Python(pymxs)

你可能想不到——3ds Max 从 2022 版本起,官方内置了 Python 3 环境。 这意味着,你可以用地球上最强大的脚本语言之一,去操控 3ds Max 的场景。

Python 带来的,是几乎无限的扩展空间:复杂的数据处理、算法逻辑、写报告、对接其他工具生态……只要会用 Python(或者让 AI 帮你写),3ds Max 的能力边界就被彻底打开了。

两个引擎加起来,是什么概念?

需要贴合本体、轻巧直接?走 MAXScript。需要强大灵活、复杂逻辑、数据驱动?走 Python。AI 拿到你的需求,自动选最合适的那条路。

这就是我说它”双引擎驱动、无限扩展“的意思——你不必在两种语言里纠结,AI 替你选,你只管把需求说清楚。

四、这次迭代,我死磕的一件事:让零基础用户“装完即见菜单”

说句实话,这套 Skill 我第一版其实做得不够好。

第一版做完后我发现一个问题:功能是有了,但零基础用户根本找不到入口。 菜单挂不上去,只能靠输入命令来操作——可让一个室内设计师去记命令?要求太高了,也完全不符合我做这套 Skill 的初衷。

所以这次迭代,我下决心死磕一件事:让交付出去的工具,装完就在菜单里,点一下就能用,体验向商业插件看齐。

这背后是真刀真枪的技术攻坚,我简单讲两句:

3ds Max 的脚本分发格式 .mzp,有个天生缺陷——它没法声明菜单。菜单其实属于用户自己电脑里一份叫 MaxStartUI.mnux 的个人配置文件。换句话说,想真正把菜单“挂”到用户界面里,得跟这份格式冷门的 mnux 文件打交道。

我干了几件事:

  • 逆向破译了 MNUX 的格式——包括那个最容易翻车的“主菜单栏”机制:菜单定义了还不够,还得在主菜单栏里补一条引用,否则 3ds Max 会把它当成“未使用定义”,定义了也不显示。这是我反复实测才定位到的关键。
  • 写了个自动注入器:用户双击一个安装器,它就会自动把脚本功能合并进用户的 MaxStartUI.mnux,先备份、幂等防重复,同名菜单不冲突。
  • 双保险兜底:除了安装时注入菜单,启动脚本里还留了 menuMan 兜底注册。就算菜单万一没挂上,打开软件也会自动补上。

结果是:用户双击安装器 → 重启 3ds Max → 菜单里出现“批量工具”→ 点一下就能用。 全程不用记一条命令、不用拖任何设置。

我把全套 12 个蓝图,都补齐了“图形界面 + 菜单项”——这是这次迭代最让我满意的地方。

五、部署方便,交付容易

配套这次“装完即见菜单”,交付形态我也彻底理顺了:

  • 双击安装器:一个 .bat 安装器,双击就能装,不需要管理员权限,装在用户自己的启动目录里。装完即见菜单,和商业插件一个体验。
  • 一键卸载:配套卸载器,只删除本工具自己的副本,不会误伤你其他工具。
  • 随启动生效:装好之后,功能随 3ds Max 启动就出现在菜单里。

部署零门槛,交付就能用。 这始终是我做 Skill 的铁律:交付到用户手上那一刻,就该是“能用”的状态,而不是“还得自己折腾”。

六、最难的一环:3ds Max 没有无头接口,我怎么让 AI 自证代码是对的

做这类 Skill,我从来最较劲的不是“写不写得出来”,而是”怎么证明写出来的能跑“。

3ds Max 和 SketchUp 一样,脚本只能在软件内部运行,没有无头接口,也没有 COM。过去在 3ds Max 上做脚本开发,验证基本靠人肉——改一句、进软件、点一下、再改。

但 3ds Max 给了我们一个宝贝:3dsmaxbatch.exe。

这是官方提供的批处理入口,可以让 3ds Max 在完全不打开界面的情况下,自动执行一段脚本。我把它变成了整套 Skill 的验证基石:

3dsmaxbatch.exe 启动 → 无界面自动跑断言脚本 → 抓取 [SMOKE-PASS] / [SMOKE-FAIL] 标记 → 输出结果

AI 写完代码,会在命令行里自动跑一遍真机测试,通过才敢交给你。 全程无人值守。而且每个蓝图我都跑了“纯函数级 + 场景级”两级断言,实测全部通过(本套 Skill 已在 3ds Max 2022 实机验证)。

让 AI 帮你写 3D 软件的工具,最怕“写出来是一堆跑不起来的代码”。这一环,我替你先跑通了。

七、12 个场景化蓝图,MAXScript 和 Python 各 6 个,全部带界面

口说无凭。这套 Skill 内置了 12 个场景化示例项目蓝图,全部是“能直接跑通”的完整代码,而且这次迭代后每一个都带图形界面和菜单入口。AI 照着最接近的改一改,就是你的专用工具。

MAXScript 引擎 6 个:

  1. 场景清理工作台——清理未用材质、批量重命名、层级扁平化、输出 CSV 报告
  2. 批量重命名工具——前缀后缀、正则、序号,一套解决命名混乱
  3. 批量导出工具——按根节点逐个导出 FBX / OBJ
  4. 材质修复工具——贴图路径修复、材质批量替换
  5. 关键帧批处理工具——关键帧批量偏移、缩放、删除
  6. 灯光架工具——三点布光 / 摄影棚灯光一键搭建

Python 引擎 6 个:

  1. 程序化资产工厂——用 Python 程序化批量生成楼房、配件等资产
  2. 场景审计报告——面数统计、缺失贴图检测、生成 JSON 报告
  3. 批渲染工具——多相机多帧批量渲染
  4. 修改器批处理——批量增删改修改器栈
  5. 资产库导入器——外部 .max/.fbx 合并导入、按清单批量放置
  6. UVW 与材质批处理——UVW 贴图坐标批量调整、材质替换

这就是“双引擎”的底气:MAXScript 管轻巧直接的场景操作,Python 管数据驱动、复杂逻辑、程序化生成。 你想做的事,总能找到一个能跑通的起点——而且装完就在菜单里等着你。

八、两个真实的例子,你感受一下“说句话就有工具”

例子一:批量重命名(MAXScript 引擎)

模型导入进来,命名乱成一团。你只需要对 AI 说一句:

“帮我做个工具,把模型名字统一改成 Prop_Tank_01 这种格式,加前缀加三位编号。”

AI 就会:匹配到批量重命名蓝图 → 用 MAXScript 实现前缀 + 编号逻辑 → 打出双击安装器 → 自动跑一遍测试。你双击安装,重启后菜单 工具 > 批量工具 里就有它。命名乱象,一键解决。

例子二:整个文件夹批量导出 FBX(Python 引擎)

再比如你有个文件夹装了 30 个场景,想全部导出成 FBX。对 AI 说一句:

“我文件夹里有 30 个 .max 文件,能批量全导出成 FBX 吗?我不想一个个打开导。”

AI 就会:判断是“批量场景”类任务 → 用 Python + pymxs 写一个循环,逐个加载、逐个导出 → 打包成带界面的工具交付。30 个文件,它帮你自动跑完,你去喝杯茶就行。

九、那些 Python 坑,我全部实机踩平了

做这套 Skill,我还特意把 Python 操控 3ds Max 的那些“暗坑”一条条踩平、写进了知识库:

  • rt 命名空间:pymxs 里所有 MAXScript API 都要走 rt 别名,用错就是一堆报错。
  • numMods / getMod 不存在:改修改器栈,得用迭代 node.modifiers 的方式,不能想当然照搬 MAXScript 的写法。
  • getPropNames 的坑:它拿不到贴图槽位,修贴图要改用 rt.getClassInstances(Bitmaptexture)。
  • mergeMaxFile 参数坑:合并外部文件要用 quiet=True 关键字,位置传参会直接抛异常。
  • pymxs.undo 吞异常:撤销包裹里出问题会被静默吞掉,得格外小心。

这些坑,全是我在真实 3ds Max 2022 里一行行试出来的。我踩完了,你就不必再踩。 AI 写任何 Python 脚本前,都会先过一遍这些反模式清单。

写在最后

写这篇推文前,我其实犹豫了很久,最后决定跟你们说几句心里话。

这套 Skill,我做出来,就是为了让零基础用户也能开发出插件功能,而且使用体验要接近商业插件,能真正交付给其他人去用。 这次迭代我死磕菜单、死磕体验,就是这个初衷。

但我必须坦白一件事:这么小众的 Skill,开发出来如果没有人使用,不仅是极大的浪费,也浪费了我的一腔激情。

我有一个很美好的愿景——希望所有办公用户群体,都能把 AI 编程这个技能真正用起来,借助我做的这些 Skill,让门槛一降再降。 就像大家会用 Office 一样,用 AI 来解放自己的双手。

但如果一个 Skill 开发出来,最终没有用户去用,这样的模式是转不动的。这也会让我很难再有动力,去为其他小众商业软件开发插件 Skill,去帮大家更低门槛地利用 AI 开发插件。

所以今天,我真诚地请大家帮个忙:

如果你身边有做 3ds Max、做三维动画、做建筑可视化、做室内设计、做游戏美术的朋友,麻烦把这篇文章转给 TA。 也许正是他们需要的东西。

我不奢求流量爆炸,只希望这套花了很多心血的 Skill,能被真正需要它的人用上。能被一个人真正用上,替 TA 省下一晚上加班,就值了。

三维世界的重复劳动,这次终于有人管了。但能不能管到你的朋友那里,需要你的那一次转发。

第 27 套 Skill。设计群体的自动化,还在继续。

想体验全套免费 Skill?欢迎加好友进入免费社群,关注公众号,后台回复「Skill」,不要理会AI自动回复,等我发联系方式,加好友进群自助获取。

公众号:Excel催化剂 | 微信:190262897 | 承接数据咨询解决方案、软件功能定制、AI编程培训服务