Today, let's look at the Forge architecture, Revit add-in debug, edit and continue, and yet another RevitLookup enhancement:
Would you like to quickly understand the Forge architecture, including all relevant aspects, without getting mired in its nitty-gritty details?
Check out Scott Sheppard's very cool executive overview in the Forge high-level picture for software development managers.
Developers are continuously seeking reliable, efficient development approaches. Some ways have been described in the past implementing the functionality to edit and continue, and debug without restarting.
This question arose again in the StackOverflow question asking why is my DLL still being used by Revit after execution?.
Konrad Sobon jumped in and pointed out his solution:
I did a write-up on my blog that explains how you can use the Revit Add-In Manager to achieve the result you are after:
The difference between this and a standard method of debugging is that Revit loads the DLL using the
LoadFrom
method, locking it up for as long as the Revit.exe process is running, while the Add-In Manager uses theLoad
method that only reads thebyte[]
stream of the DLL which means it remains available, and you can re-build your solution in VS, and reload in Revit without closing it. It does have drawbacks, obviously, so please read the post.
In further support of efficient debugging and Revit database exploration, here is another RevitLookup enhancement enabling snooping of appearance assets, based on two pull requests by Victor Chekalin, aka Виктор Чекалин:
AssetProperty
AssetPropertyDoubleArray4d
The description is sweet and simple:
AssetProperty
– Material
→ AppearanceAssetId
→ GetRenderingAssset
This is supported by more than a thousand words:
I integrated Victor's pull requests in RevitLookup release 2019.0.0.11.
Many thanks to Victor for this useful enhancement!