You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

3DsMax通过CLI运行Python脚本时如何传入自定义参数

3ds Max 2018 Python脚本CLI传参解决方案

3ds Max的PythonHost启动器默认不会将脚本路径之后的额外参数传递到Python的sys.argv列表中,所以直接追加参数无法被识别,可通过以下三种方式实现自定义参数传递:

方案1:环境变量传参(最常用,适合参数较少场景)

  • 执行命令前先在CLI中设置自定义环境变量,示例命令如下:
set INPUT_PATH=C:\test\input.max
set OUTPUT_PATH=C:\test\output.fbx
3dsmax.exe -U PythonHost C:\Users\user\Desktop\Script.py
  • 脚本内通过os模块读取环境变量即可:
import os
input_path = os.environ.get("INPUT_PATH")
output_path = os.environ.get("OUTPUT_PATH")

方案2:参数拼接至脚本路径后解析

将参数用特殊分隔符(建议用#,不会和Windows路径规则冲突)拼接在脚本路径末尾,示例命令:
3dsmax.exe -U PythonHost "C:\Users\user\Desktop\Script.py#C:\test\input.max#C:\test\output.fbx"
脚本内拆分sys.argv[0]获取参数:

import sys
all_args = sys.argv[0].split("#")
# all_args[0] 是原脚本路径,all_args[1]、all_args[2] 为传入的自定义参数
input_path = all_args[1]
output_path = all_args[2]

方案3:临时参数文件传参(适合多参数、复杂参数场景)

  • 执行3ds Max命令前,先把所有参数写入临时JSON/TXT文件,比如写入C:\temp\args.json
  • 启动3ds Max执行脚本,脚本内读取该临时文件内容,读取完成后可删除临时文件避免残留
    示例脚本代码:
import json
import os
with open(r"C:\temp\args.json", "r", encoding="utf-8") as f:
    args = json.load(f)
input_path = args.get("input_path")
output_path = args.get("output_path")
# 可选:读取完成后删除临时文件
os.remove(r"C:\temp\args.json")

内容的提问来源于stack exchange,提问作者KreutzerCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:57:00