Users Creating new nodes


#1

User question from the GIthub issues:


https://github.com/ikeough/Dynamo/issues/298


hey there,
is there any development on an API for new nodes? I didn't find any. This would be great, since I would like to try out my methods from my PhD within Dynamo.
I got the recent Project working (on Win8/64bit/VS2012 in Vasari 3) but compiling the complete project all the time is bothering (especially because I'm in engineering and not a professional programmer).


Thanks and Regards
Fabian



Answer:


This works today. You can develop new nodes in a separate visual studio project and not even need to compile Dynamo at all. Take a look at the DynamoNode sample project. You can use this project as a basis for your new nodes. Simply copy that project, rename it and and add your own implementation. We will turn this into a template for Visual Studio soon.


The main requirement is to make sure your project is in the Dynamo.Nodes namespace and follows the conventions outlined in GitHubDynamosrcDynamoNodeClass1.cs. You will need to reference dynamo dlls, either pre-compiled versions or ones you compile yourself and also revitAPI dlls if you are creating revit objects.


Here is a slightly outdated tutorial that gives some more background on the anatomy of a node.https://github.com/ikeough/Dynamo/wiki/Getting-Started-with-Dynamo-Development


-matt


#2

Perhaps it is even better to have this two different projects. If somebody wants to add new nodes to Dynamo, I think it is better to fork your project direclty.


#3

I already forked your project. I have modified it now and it should run again:


https://github.com/redinkinc/Dynamo


I will also adopt the wiki to an NDK-wiki. Please tell me if this is how you like it to be.


Furthermore, I would be looking forward for a database where users can store their own created nodes as .dll. Perhaps somewhere on this page. So other users can use these nodes without forcing developers to upload their code. I think there will be a market for this kind of "Dynamo Plug-Ins" too.


Fabian


#4

Hi Fabian,


This is awesome! Thank you for doing this. May I request that you take a look at the github methods for fork and pull, then fork our repo instead of setting up a separate site? That way, once a person has a node they want to share, they can issue a pull request to us to incorporate this new change in the main Dynamo project.


Thanks


Zach


#5

Hi everyone,


I added a new project to github as I think it might work for users not used to advanced programming.


https://github.com/redinkinc/DynamoNDK.


Please let me know if this works for you. I also can take the lead in this project, if you like.


Regards, Fabian.