speckleworks / SpeckleRevit

Archived, dev moved to https://github.com/speckleworks/SpeckleRevitReboot
MIT License
17 stars 7 forks source link

basic implementation of Speckle for Revit #18

Open ksobon opened 6 years ago

ksobon commented 6 years ago

@didimitrie and @fraguada this is just a start. I am still wrapping my head around all of the components of Speckle, but I am getting a handle on it day by day.

This PR is not ready to be merged yet. I saw that @fraguada did a basic setup for the app, and I started expanding on that. First thing that I did there was to copy over all of the .NET classes that you used on Rhino side, to figure out what is needed to make this work in Revit. I had to comment out most of that stuff, and I am working through it to make sure that we can either implement a Revit version of given functionality or we will have to abandon this.

In case that we decide to abandon something from the main functionality (take for example layers and geometry preview that doesn't really exist in Revit), we might have to make some changes to the SpeckleView to accomodate missing UI. @didimitrie suggested that we develop a new UI components for the Revit client, and that sounds great. I will get around to that eventually.

Anyways, for now I am focusing on Senders and Receivers and the main account functionality. I have implemented a serialization routine so that we can store info about our file specific clients and retrieve them when needed. I also expanded a little on the External Event class that @fraguada put in there, and removed the Settings helper class (it was a good idea in principle, but it would have only been feasibly if user ALWAYS started Speckle from the ribbon command. Revit actually loads the dockable window in automatically so that meant that the Settings class was mostly not useful). I also put in basic event system so that we can start kicking stuff around in Revit/Speckle.

Let's see how this goes. Cheers!

Issues addressed:

https://github.com/speckleworks/SpeckleRevit/issues/10 https://github.com/speckleworks/SpeckleRevit/issues/2 https://github.com/speckleworks/SpeckleRevit/issues/8 https://github.com/speckleworks/SpeckleRevit/issues/12