What I else does it need to complie the Dynamo Source code?


#1

I had downloaded the Dynamo Source code, installed Microsoft Visual Studio C# 2010 Express and Microsoft Studio 2010 Shell for F#, but I wasn't able to compile the source code in Microsoft Visual Studio C#.


I think I am missing something, but no sure what I am missing. Could anyone able to share and give me a direction how to set the Visual Studio Express to compile the code successfully?



Thanks in advance.



#2

Thanks Mike! I've added your process to the GitHub site: https://github.com/ikeough/Dynamo/wiki/Building-Dynamo-with-SharpDevelop


#3

Thanks for the tips, I finally get the code compiled and able to run in Revit. Here are the procedure I did, I wish that could be hopeful for others.


1. I used SharpDevelop IDE 4.2 instead of Microsoft Express.


2. Install Microsoft F# CTP 2.0.0.0, which is a F# interactive with .Net 4.


3. Install IronPython as mentioned in prior post.


4. Copy those files mention by Matt to DynamobinDebug


5. Ensure all the necessarily references are correct, e.g. RevitAPI.dll, RevitAPIUI.dll, IronPython.dll and Microsoft.Scripting.dll.


6. Build the solution in SharpDevelop. There might be error while the 1st build, read the error massage to see any file is missing. My massage was some files couldn't be copied, so I manually copy those file to the directory mentioned in the error massage. (you can find those file in the Package Folder as mentioned by Matt)


7.Click Build again in the SharpDevelop, after copied those missed files to the directory. It should compile the code without error but still having some warnings, ignore those warnings)


8. Pick up those files in DynamobinDebug and those file in DynamoRevitbinDebug together into a folder named as Dynoma(My directory is C:VasariWIPRevit_2013Dynamo).



9. Ensure the .addin file point to the directory of the Dynamo folder, you can find the .addin file in C:ProgramDataAutodeskREVITAddins2013. The content of the .addin file should look like this:


you can use NotePad to edit and change the file extension to .addin later on after save.


10. Start Revit, the Dynoma should able to load.


I wish that it can help others interested in kick start with Dynoma development.


#4

Great to hear you have built cleanly!



We have been seeing issues with referenced external dlls not loading on startup. In the current build the (currently hacky) answer is to copy required dlls to your bindebug so they are picked up on addin startup.



There are three external libs we are using now in packages dir: helix3d, kinect and miconvexhull. For now if you copy those to your bindebug they will be picked up.



Look in dynBench.xaml.cs LoadBuiltinTypes for more information.



-matt


#5

Thank Lilli,


I managed to get the code compile successfully on Express. It are the steps I would like to share.


1. Compile the FScheme in Microsoft 2010 Shell.


2. Open C# Express, remove the FScheme.dll from reference then add the new built FScheme to the reference.


3. Install IronPython 2.7.3, add the IronPython.dll and Microsoft.scripting.dll to the reference.


4. Add the RevitAPI.dll and the RevitUI.dll from Revit2013 to the reference.


5. Compile the code in C# Express, the code should compile successfully.


However, it having error while I use those new built Dynamo DLLs in Revit, the error occur while the Revit2013 loading, the error massage is about "Revit encounter a System.NullReferenceException: Object reference not set to an instance of an object. at Dynamo.Application.DynamoRevit. Execute(ExternalCommonData revit, String & massage.ElementSet elements)....


Any idea where is wrong.


#6

Mike - we are looking into whether this will compile on Express and will get back to you.


#7

When you say source code - is this the .dyn file? that you load into Visual Studio