I am following the Speckle adventure with a lot of interest, though I did not have time yet to make some connection between my project Bricks, the agile BIM collaboration platform for AEC and Speckle.
We are open to any suggestion!
I learned yesterday by reading that blog post How we automated releases of Speckle for Revit 2019, 2020 and 2021 with different versions of CefSharp that speckle did a plugin using cerf sharp
I suppose the code live there SpeckleRevitReboot/SpeckleRevitReboot at master · speckleworks/SpeckleRevitReboot · GitHub
though I am not totally sure.
I don’t see any reference to cerf sharp in the code.
If someone knows about the speckle Revit plugin, could someone give me insight how to look at what you did ?
I would like to learn from what you did how to integrate with Cerf sharp and thus displaying a web UI in a Revit plugin.
Thanks in advance.
Hey @slucas , the v1 Speckle plugin was indeed using CefSharp, that UI is in a separate repo that you can find here: GitHub - speckleworks/SpeckleUi: Base speckle ui for embedding in .net apps
That web UI was loaded in the Revit plugin (the repo you linked). I’m a bit rusty on how that worked, but any questions just ask!
V2 is instead using WPF: speckle-sharp/DesktopUI at master · specklesystems/speckle-sharp · GitHub
Hello @teocomi Thanks for your reply.
Why you decided at the end to switch back to WPF ?
Performance ? Maintenance ?
In the WPF version, do you feel limited by what you can do in the UI compared to web ?
Or is it just fine.
Hey @slucas !
There were a few reasons to move away from CefSharp, but yes a main reason was indeed performance. It tends to be quite resource hungry (which was a complaint of some users!) which is not ideal. It was also a bit of a pain running into mismatched versions within different host applications.
While working with xaml is quite different from working for the web, you can still get great results. Check out the docs for our UI here or this short demo video in Rhino! This approach hopefully also makes it easier for people to build new connectors by making it simpler to hook them up to this UI.
The main limitation I see at the moment is that it is not cross platform, but we will cross that bridge when we get to it
Thanks @izzylys I will study your code and UI guide, and get back to you if I have more questions