app
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.
master
John Lauer
Preserve BQ independent routing, narration and native copper-retention evidence
a4b7711
1mo ago
import sys,json
from pathlib import Path
P=Path(__file__).resolve().parent;REPO=P.parents[3];sys.path.insert(0,str(P.parents[1]));from call import call
HELPER=(REPO/'rust/bridge/src/routing_script.py').read_text()
def execute(doc,body):
# Installed older modeling bridge activates a Design doc before scripts. Activate
# the exact existing BoardDocument inside the script, then verify Electron too.
prefix='import adsk.core, adsk.fusion\nfrom pathlib import Path\nimport json\ntarget=next(d for d in app.documents if d.name=='+repr(doc)+')\ntarget.activate()\nadsk.doEvents()\nexec('+repr(HELPER)+')\neditor_identity(app,'+repr(doc)+')\n'
r=call('fusion_run_modeling_script',{'script':prefix+body,'expectDocument':doc})
if not r.get('success'):raise RuntimeError(str(r))
return r.get('result',r.get('data',{}).get('result'))
if __name__=='__main__':
doc='bq25792-ablation-probe-01'
body="root,board,identity=snapshot(app,{'expectDocument':target.name})\nresult=state(root,board,identity)"
print(execute(doc,"result={'active':app.activeDocument.name,'product':app.activeProduct.productType}"))