The Revit 2012 Update Release 1 or UR1 is now available, and the SDK has been updated as well.
Here are the main SDK update features:
- Revit API documentation updates.
- Minor yet important REX API documentation updates in the getting started guides.
- A test model which was missing from the CompoundStructure SDK sample, mentioned in its readme file.
- Updates to the AnalysisVisualizationFramework, AddinUtilitySample, ExternalCommandRegistration, and Ribbon samples.
Here are the steps I undertook to install the new version of the SDK and samples, and a detailed list of the differences I encountered:
- Renamed my existing SDK installation directory from SDK to SDK_rtm for 'release to manufacture', i.e. the first 2012 version released.
- Unpacked Revit2012SDK1.exe to the new SDK directory.
- Compared the two directories to find the differences: windiff SDK_rtm SDK.
- The help file, developer guide and "Revit Platform API Changes and Additions.docx" were updated.
- Two new header files CodecFileReader.h and IndexerPlugin.h were added to the Point Cloud Indexing API folder
- The RevitLookup solution has been updated from Visual Studio 2008 to 2010, which is good. Unfortunately, it references the Revit API assemblies from Revit 2012 MEP beta 2, which is bad. I updated the references to point to Revit Architecture 2012 instead and recompiled.
- Some source files in Snoop\CollectorExts have been updated: CollectorExtElement.cs, CollectorExtMEP.cs and CollectorExtMisc.cs. I have a further enhancement for the latter, which fixes the listing of container types in extensible storage and is currently available here and here only.
- The REX SDK documentation in 'Read Me First.pdf' and 'Design Guidelines for Extensions SDK.pdf' has been updated, and a new file 'Development Guidelines for Extensions SDK.pdf' added.
- In the samples solution SDKSamples2012.sln, the two missing sample projects ExternalCommandRegistration and RevitAddInUtilitySample have been added.
- The MultithreadedCalculation idling call-back handler UpdateWhileIdling was fixed to accommodate the change in the Idling event handler sender argument.
- A sample model CompoundStructure.rvt has been added for the CompoundStructure sample.
- The ExternalCommand2011 SDK sample was renamed to ExternalCommand.
- Opened SDKSamples2012.sln and recompiled all the samples. This requires either all three flavours of Revit to be installed in their default locations, or the use of RevitAPIDllsPathUpdater.exe, or some other trick to ensure that all the projects' Revit API assembly references are valid.
- Updated the paths in RvtSamples.txt to match my system, i.e. globally replaced "Z:\SDK2012\Samples\" by "C:\a\lib\revit\2012\SDK\Samples\".
- Set up one of the projects as a start-up project and specified it to start Revit.exe and load a specific simple project file to test.
- Hit F5 to start debugging and verify that all is in order, especially that RevitLookup and RvtSamples load and execute all right.
- This produces an error from RvtSamples saying that the CompoundStructure.dll assembly cannot found. For some reason, I have to go back to the solution and recompile that one separately again, all on its own.
- Once that is done, it all works and no warnings are produced. I have seen this strange behaviour before...
All in all, no huge changes, actually, and they all make sense :-)
If you are interested, here are the files that differ on my system after I have cleaned up and integrated everything, e.g. the differences that I wish to retain. They include a very few minimal trivial fixes, and some more significant modifications to RvtSamples, which are for my personal use when testing.
eTransmit for Revit
Another newly released piece of useful Revit functionality: eTransmit for Revit.
Easily share building information models using this Revit add-in application technology preview. With eTransmit for Revit, you can:
- Copy and detach a Revit model and associated files to a single folder for internet transmission. This removes the typical error messages when you copy central files using the operating system.
- Locate dependent files automatically and include them in the transmittal folder, reducing the possibility of error. All dependent files are automatically converted to use relative paths to ensure that the dependent files can be located by the model.
- Choose to include related dependent files such as linked Revit models, CAD files, DWF markups, decal images, and external keynote files. You can transmit any Revit (.rvt) model that has been upgraded to Revit Release 2012.
- Transmit models that are using file-based worksharing or server-based worksharing. eTransmit for Revit will also work with non-workshared Revit models.
Common uses for eTransmit:
- Internal archiving
- Sending deliverables to clients
- Model exchange between consultants/partners
- Model cleanup
- Sharing models between disciplines
It's live on Labs.
Addendum: Here is a snapshot of my current RvtSamples.txt today, August 9 2011, in answer to Rui Liu's comment below.