Does anyone have a better development workflow?

chris.monachanZWSCF
Enthusiast Enthusiast
463 Views
1 Reply
Message 1 of 2

Does anyone have a better development workflow?

chris.monachanZWSCF
Enthusiast
Enthusiast

I'm developing a complex add-in in C++ and I have to try it fairly frequently in fusion. I'm just wondering if there is a more efficient workflow than the one I'm using to test things. Given this is an excellent community I thought I'd ask.

 

Right now the steps are as follows:

 

1. Build add-in

2. In Fusion press SHIFT-S

3. Switch to the Add-In's tab

4. Run my Add-

5. Test it (I set the add-in to terminate on the OnDestory event, so I can build again without a sharing violation)

6. Change code 

7. Goto 1.

 

I know these don't seem like many steps, but it would be perfect if I could get the Add-in's dialog to remember the last tab and stay on the Add-In tab where I have to click 20 times a day to run my Add-in, as it's not a script that's the default tab for that dialog everyt ime.

 

Better yet if I could somehow assign a hotkey to the add-in to just run it. I know I can assign a hotkey to my Command once my add-in is running but I still have to stop and re-run the add-in after every compile, to get to the point where my Command is shown (and hence can have a hotkey assigned).

 

Just wondering if anyone has a better workflow for development and testing of add-ins?

1 Like
464 Views
1 Reply
Reply (1)
Message 2 of 2

nnikbin
Collaborator
Collaborator

@chris.monachanZWSCF, like you, I wish I could assign shortcuts to my add-ins to run them. I hope the Fusion 360 team will make this possible in the future.

 

To make my life easier I control the creation of an add-in vs. a script by using a preprocessor in project properties and using #ifdef and #ifndef directives in destroy event handlers, run methods and stop methods of my add-ins. So during the development, I usually compile the add-in as a script.

 

for example I have somthing like the following code in my add-ins:

 

void XyzDestroyEventHandler::notify(const Ptr<CommandEventArgs>& eventArgs)
{
#ifndef ADDIN
	adsk::terminate();
#endif
}

 

Also during development, I use "type": "script" in the manifest and add my add-in to the scripts tab to save a click.

 

1 Like