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
Drew Owens
Share frozen native Rust mechanical development checkpoint and qualification scope
b2d7cdb
27d ago
// Exact native command discovery only; no execute, UI activation or download.
#include <Core/UserInterface/CommandDefinitions.h>
#include <Core/UserInterface/CommandDefinition.h>
static_assert(sizeof(AfMcmasterState)==12,"McMaster state ABI");
extern "C" int af_mcmaster_discover(AfContext*c,AfDocumentRef*d,AfMcmasterState*out,AfBytes sink,void*user,AfExtrudeDiagnostic*diag) noexcept {
if(!out||!sink||!diag)return 1;*out={};*diag={};diag->sdk_error=-1;diag->stage=1;
try{
Ptr<adsk::fusion::Design> design;int status=af_design(c,d,design);if(status)return status;
auto intent=design->designIntent();if(!ex_ok(c,diag,300))return 7;out->design_intent=static_cast<uint32_t>(intent);
auto ui=c->app->userInterface();if(!ex_ok(c,diag,301)||!ui)return 7;
auto definitions=ui->commandDefinitions();if(!ex_ok(c,diag,302)||!definitions)return 7;
auto command=definitions->itemById("InsertMcMasterCarrComponentCommand");if(!ex_ok(c,diag,303))return 7;
if(!command)return 0;
bool valid=command->isValid();if(!ex_ok(c,diag,304)||!valid)return 3;
out->available=1;
auto id=command->id();if(!ex_ok(c,diag,305))return 7;
auto name=command->name();if(!ex_ok(c,diag,306))return 7;
out->native=command->isNative()?1:0;if(!ex_ok(c,diag,307))return 7;
if(!sink(user,0,id.data(),id.size())||!sink(user,1,name.data(),name.size()))return 5;
return 0;
}catch(...){return 4;}
}