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

Autodesk Fusion API与APS集成:Python脚本自动化设计可行性咨询

基于Autodesk Platform Services (APS)运行Fusion API Python脚本的可行性问题

问题描述

我尝试使用Autodesk Platform Services(APS)实现Fusion文件的设计自动化,希望能查看和修改用户参数,同时使用Fusion API的其他功能。请问基于Fusion API开发的Python脚本能否在APS中运行?我刚启动该项目,未找到相关示例,部分资料称APS不支持此功能。目前我正在通过基础APS教程熟悉代码,已能将.f3d文件存入存储桶,想了解如何编写Python脚本访问该文件并获取设计信息。ChatGPT推荐了如下格式的脚本,建议通过APS设计自动化作为工作项执行:

import adsk.core, adsk.fusion, adsk.cam

def run(context):
    app = adsk.core.Application.get()
    design = app.activeProduct
    lengthParam = design.userParameters.itemByName('Length')
    lengthParam.expression = '10 cm'

请问该方案是否可行?


回答

核心结论

该方案是可行的,APS的**设计自动化(Design Automation for Fusion 360)**服务专门支持运行基于Fusion API的Python脚本,所谓“APS不支持”的资料大概率是过时的。

详细说明

  1. 脚本入口规范
    你提供的run(context)函数是设计自动化要求的标准入口点,服务会自动调用这个函数执行脚本逻辑,这部分是正确的。但原脚本缺少关键步骤:打开输入文件、保存输出文件,因为设计自动化环境是无头(无GUI)的,没有默认打开的activeProduct。

  2. 完整脚本示例
    以下是补充了文件读写逻辑的完整脚本,适配APS设计自动化的运行环境:

    import adsk.core, adsk.fusion, adsk.cam, os
    
    def run(context):
        app = adsk.core.Application.get()
        try:
            # 从环境变量获取输入/输出文件路径(由APS工作项配置传递)
            input_file_path = os.environ.get('INPUT_F3D_FILE')
            output_file_path = os.environ.get('OUTPUT_F3D_FILE')
            
            if not input_file_path or not output_file_path:
                raise ValueError("未配置输入/输出文件路径")
            
            # 打开存储桶中的.f3d文件
            doc = app.documents.open(input_file_path)
            design = adsk.fusion.Design.cast(doc.products.itemByProductType('DesignProductType'))
            
            if not design:
                raise ValueError("目标文件不是有效的Fusion设计文件")
            
            # 访问并修改用户参数
            length_param = design.userParameters.itemByName('Length')
            if length_param:
                length_param.expression = '10 cm'
            else:
                raise ValueError("未找到名为'Length'的用户参数")
            
            # 保存修改后的文件到指定路径(将自动同步回APS存储桶)
            doc.saveAs(output_file_path, adsk.core.SaveFileType.FusionDesignFileType)
            
        except Exception as e:
            # 抛出异常会被APS捕获并标记工作项失败
            raise e
        finally:
            # 必须调用terminate释放资源
            adsk.terminate()
    
  3. 关键配置步骤

    • 在APS设计自动化中创建Fusion 360引擎的活动(Activity),指定脚本的入口函数为run
    • 配置工作项(Workitem)时,将存储桶中的.f3d文件作为输入参数传递,同时指定输出文件的存储桶路径
    • 确保应用拥有访问存储桶的权限,以及设计自动化的相关权限
  4. 注意事项

    • 设计自动化环境是无头的,所有操作必须通过API完成,不能依赖任何GUI交互
    • 确保脚本使用的Fusion API版本与设计自动化环境中的Fusion 360版本兼容
    • 脚本中必须调用adsk.terminate()释放资源,否则工作项可能超时或失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 22:17:42