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

使用makeDir从字符串列表创建子目录时遇类型转换错误求助

问题分析与解决方案

错误原因

报错Unable to convert: "THUMBNAIL" to type: Float的核心问题:

  • 调用getSavePath时,若用户点击取消按钮,函数会返回0(Float类型)而非有效路径字符串。此时尝试将Float类型的0与字符串"\\" + i拼接,3ds Max会试图把字符串转为Float进行数值运算,触发类型转换错误。
  • 直接用+ "\\" +拼接路径存在隐患:如果_renderPath本身末尾已带反斜杠,会导致路径出现重复分隔符,可能引发后续问题。

修正代码

_renderPath = getSavePath

-- 先确认用户选择了有效路径
if _renderPath != 0 do
(
    _dirNames = ["THUMBNAIL", "NORMALS", "WIREFRAMES"]
    for i in _dirNames do
    (
        -- 使用pathConfig.appendPath安全拼接路径,自动处理分隔符
        local fullDirPath = pathConfig.appendPath _renderPath i
        makeDir fullDirPath
    )
)

关键改进点

  • 增加路径有效性判断:通过if _renderPath != 0 do确保仅在用户选择有效路径时执行创建逻辑,避免类型错误。
  • 使用官方路径拼接函数:pathConfig.appendPath会自动处理Windows路径的\分隔符,无需手动拼接\\,同时避免重复分隔符问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:57:18