Fusion - the Fusion 360 Bridge
Public Made by Adomby adom
Drive Autodesk Fusion 360 from the cloud via Adom Bridge: component libraries, IPC package generation, board layout, exports (STEP/Gerbers/BOM/CPL), fast APS cloud search, and parametric modeling.
fusion_build_library_3d: save library 3D models into the run's project/folder, not the active project
From adom-aiflow 0.2.3 (issue adom/adom-aiflow#74, item 6, reported by Muzzer; source read at fusion-bridge 1.11.43).
What happens today
fusion_build_library_3d (rust/bridge/src/mint.rs, build_library_3d_core) mints each part with
make_3d_package. The in-app save in make3d_template.py saves each package .f3d to
app.data.activeProject / Adom AI Workspace / <task> (task defaults to the library name). The
projectId/folderId args only steer the APS upload fallback (discover_upload_target), and that
fallback looks for "Adom AI Workspace" under one fixed root folder URN (KNOWN_ROOT_FOLDER), which belongs
to one project.
So the models land in whatever project is active in Fusion's data panel. In Muzzer's run that was the
user's unrelated "Bantam CNC" project, while the run saved the design to --project "Claude AI" --folder "Adom AI Flow".
What adom-aiflow does now (0.2.3)
adom-aiflow fusion library takes --project/--folder (kept for the run, and used by fusion schematic
too) and sends them to fusion_build_library_3d as projectName and folderPath. Today the bridge ignores
them; aiflow then says where the models went and suggests making the project active first.
Asked of the bridge
fusion_build_library_3dandfusion_make_3d_packageacceptprojectNameandfolderPath(names, asfusion_save_to_cloudtakes them) and save each .f3d into<projectName>/<folderPath>/<task>(or a3D modelssubfolder there) in BOTH paths: the in-app save (resolve the project by name instead ofactiveProject) and the APS fallback (resolve the project's own root folder instead ofKNOWN_ROOT_FOLDER).- Echo the destination in the reply and in
fusion_prove_result(projectName,folderPath, and each part'sfileId), so the caller can verify it. - When the named project or folder does not exist: create the folder (never a project), or refuse with a
clear
errorCode; never fall back to the active project silently.
Acceptance
With project A active in the data panel, fusion_build_library_3d {..., projectName:"B", folderPath:"Adom AI Flow"} saves every package .f3d under B/Adom AI Flow, nothing new appears in A, the reply names B, and a
design in B that uses the library renders the bound 3D (the wip_urns resolve in B).