Revit 2010 Web Update 2

The

first web update
of Revit 2010 (build 20090612_2115) was already released earlier this year.
Now the web update 2 for Revit 2010 (build 20090914_1845) including new fixes and minor enhancements has been published and can be downloaded from the public Revit product pages:

The update is also available from the
ADN Revit download page.
Look there for the
Autodesk Revit 2010 September/October update.

The update is accompanied by an updated SDK as well. Here is an overview of the material:

Product and Documentation

Since there are three different flavours of the update for Architecture, MEP and Structure, and each of these has its own ‘what’s new’ documentation and is available both for 32 and 64 bit operating systems, the whole release adds up to this list of nine files:

  • autodesk_revit_architecture_2010-x86_update_2.exe (exe – 69643 Kb)
  • autodesk_revit_architecture_2010-x64_update_2.exe (exe – 96330 Kb)
  • rac2010_update2_list.docx (docx – 42 Kb)
  • autodesk_revit_mep_2010-x86_update_2.exe (exe – 69641 Kb)
  • autodesk_revit_mep_2010-x64_update_2.exe (exe – 96327 Kb)
  • rme2010_update2_list.docx (docx – 30 Kb)
  • autodesk_revit_structure_2010-x86_update_2.exe (exe – 69647 Kb)
  • autodesk_revit_structure_2010-x64_update_2.exe (exe – 96333 Kb)
  • rst2010_update2_list.docx (docx – 42 Kb)

The three separate ‘update 2 list’ documents discuss the enhancements made both to the product and API.

The only API enhancement listed for update 2 is improved stability when subscribing to a DocumentOpened event.
We return to that issue below in the discussion of the updated SDK.

The Revit SDK

The Revit SDK has also been updated for the web update.
Normally, the SDK is included in the product installation files.
Its default location in the temporary installation folder on my machine is

  • C:/Autodesk/RAC_2010_English_Win_32bit/support/SDK/RevitSDK.exe

This however is not valid for the updated SDK.
To obtain that, you need to download it from the public


Revit developer page
.
Look for

Revit 2010 SDK
(Update 2, Sept 15, 2009), a 82402 Kb EXE file.
It is also available from the members-only

Revit software download page
on the ADN web site, where it is posted as

Revit 2010 SDK Update Release 2
.

The new API functionality is described in the file ‘Revit Platform API Changes and Additions.doc’, namely:

Changes to the Revit API since the initial release of Autodesk Revit 2010

Rename and replace a family parameter

The method

  • FamilyManager.RenameParameter()

allows you to rename a Family parameter.

The overloaded methods

  • FamilyManager.ReplaceParameter()

allow you to replace a Family parameter with a new shared parameter, or a shared parameter with a new Family parameter.

Extract GUID from a Parameter

The new properties

  • Parameter.IsShared
  • Parameter.GUID

identify if a given parameter is a shared parameter, and if it is, extract its GUID.

The help file RevitAPI.chm file also reflects these changes.

Revit SDK Differences

I ran a file comparison to analyse the differences between the initial release of the Revit SDK and the updated one and found them to be virtually identical, except for three files:

  • read me first.doc – minimal changes.
  • revit platform api changes and additions.doc – the new functionality listed above.
  • revitapi.chm – different.

The sample applications provided in the updates are also identical to the ones in the original release of the SDK with a very few minute modifications.

SDK Backward Compatibility

Question: I installed Revit 2010 together with the original SDK.
When installing, the web update was automatically picked up, downloaded and installed as well.

My question is: would this updated SDK work with my Revit 2010 as such?
Do I need to install anything on top of it, i.e. one of the web update 2 or subscription pack releases?

Answer: The web update 2 release is simply an update, so the accompanying SDK will work for both that and the initial release.
There are a few new APIs that will work only on the update, but as long as you are not using those, it should be compatible between these versions.
You need to ensure that the update has been installed before making calls to any of the new API methods.

See the ‘Revit Platform API changes and Additions.doc’ document for details of the new APIs for each SDK.
This information is also provided in the RevitAPI.chm file in the ‘What’s New’ topic.

DocumentOpened Event Stability

Question: I defined a DocumentOpened event handler and added it in my OnStartUp function:


application.DocumentOpened
+= new EventHandler(
application_DocumentOpened );

Once I do so, however, Revit crashes when I open a document with linked documents,
even in an empty project, and even if the application_DocumentOpened function is empty too!
Is this a known issue?

Answer: This issue is resolved by the improved stability of this API in the web update 2.


Comments

14 responses to “Revit 2010 Web Update 2”

  1. It improves the modification behaviour of hosted sweeps (i.e. gutters) attached to joined roofs.

  2. Dear r4i,
    Thank you for pointing this out :-)
    Cheers, Jeremy.

  3. Brad Harter Avatar
    Brad Harter

    Jeremy,
    Is there any way we can use this new functionality to rename shared parameters?
    The_Cad_Monkey

  4. Dear Brad,
    I don’t really believe any of the new functionality affects the handling of shared parameters. If you really need to, I am sure there are ways to achieve this with existing functionality, however. There may be more effective methods, but if the worst come to the worst, you could export all the values of an existing shared parameter into a temporary storage mapping each element id to its shared parameter value, delete the shared parameter in the project file, create a new shared parameter with the updated name, and repopulate the values again. I can well imagine that there are also other much simpler and more efficient methods of achieving this.
    Cheers, Jeremy.

  5. Hi Jeremy.
    I downloaded the SDK update pack and installed the Add-In Manager for my Revit 64 bits.
    My problem : External tools are grayed…is it normal?

  6. Dear Pierre,
    All I know about greyed out commands is summarised in
    http://thebuildingcoder.typepad.com/blog/2009/06/rfa-version-grey-commands-family-context-and-rdb-link.html#2
    There are also some comments on that issue that may be helpful.
    Cheers, Jeremy.

  7. Jeremy,
    Thanks for the link and info.
    Quick Q.
    There is an Update 2, Subscription Release Pack and several Hot Fixes… Is there anywhere on the web that explains the correct install order for these (and whether there is overlap)?
    This is quite confusing and not well documented that I can find.

  8. Dear Mike,
    Thank you, it is my pleasure.
    I know nothing at all about installation issues, so I asked my colleagues. The best answer I got was this:
    I’m not an expert on this, but I know this:
    1. Q3 SAP = UR2 + features.
    2. If you have both, don’t bother with UR2, only install the Q3 SAP.
    I believe thereafter the hotfixes should be installed. I doubt there’s a necessary order of those.
    SAP stands for the subscription pack, and UR2 is the update release.
    I hope this helps.
    Cheers, Jeremy.

  9. Tam Tran-Minh Avatar
    Tam Tran-Minh

    Hi Jeremy,
    I am creating a custom Tag Family (i.e. for a room) and want to associate some shared parameter of the Room elements to some of the labels of this custom tag family so that it would show the parameter values when being placed inside a room.
    Using the Family API of Revit SDK 2010, I’ve created the the Tag Family (based on the family template: Generic Tag.rft) successfully. However, I am stuck when trying to associate a shared parameter with a “Label” (just like we can do that in the Revit Family Editor). I see a Label property in Dimension and LinearArray class but these annotations are not what I need. I could not create a new Label which is a System Family. Does the SDK support to do that or not? If the answer is yes, would you please give me some hints?
    I really appreciate your help.
    Tam

  10. Dear Tam,
    I think the answer is no.
    There is no API to create a label for the annotation symbol, and also no API to access the label property of the existing label.
    Its parameter type is invalid, as you can see using RvtMgdDbg to snoop a TextElement object and looking at its parameters. The InternalDefinition of its Label parameter has an invalid parameter type.
    Cheers, Jeremy.

  11. Tam Tran-Minh Avatar
    Tam Tran-Minh

    Dear Jeremy,
    Thank you for your answer. I’ve decided to use TextNote to show the shared parameter values (of an Area/Room elements). It looks good. However, because there is no association between the parameter and the TextNote, I have to delete the old TextNote and create a new one after I update the parameter.
    I have one more question. I know that Revit does not support Annotation represent a Hyperlink (a real one that you can click on and open the page on the browser) like AutoCAD. Do we have any workaround for this problem? I need the Hyperlinks to be placed on the DWF Area Plan. Can we use other SDK such as the DWF Viewer SDK (in .NET)/Javascript or some tricks to do that? I know that the DWF Toolkit is capable of doing this but learning its C++ API is not convenient for me. Did I ask too much? :)
    Cheers,
    Tam.

  12. Dear Tam,
    I am glad that you found a workable solution. That makes sense to me.
    Regarding the hyperlink issue, one easy thing that you could implement would be a two-click process. Implement an external command and an external application which implements its own panel hosting the command button. Float that panel on the graphics area. The user can click the button, launching the command, and then click the text note which is actually a hyperlink. Within the command, you read the URL contents of the text note and launch a browser for it.
    That’s the best I can think of off-hand that really easily fits into the available functionality.
    Cheers, Jeremy.

  13. Tam Tran-Minh Avatar
    Tam Tran-Minh

    Dear Jeremy,
    Thanks for your solution regarding the hyperlink issue; however, I can imagine that your two-click process only works in Revit, which is not actually what I need. Maybe I haven’t described this issue clearly. I would like to clarify it again. I need the real hyperlinks in an published DWF file. When the DWF is opened in the web browser or the DWF Viewer, the user can see the hyperlinks there and click on a hyperlink to navigate to another web page. A possible way is to use the DWF C++ Toolkit to modify the DWF file after being published by Revit. I wonder if we have an easier/better way to achieve this goal without much effort. Do you have any idea about it? I hope Revit will support this feature in its next release.
    Cheers,
    Tam

  14. Dear Tam,
    I don’t know anything about this area myself, but here are some hints I received from colleagues.
    Just as you say, you may be able to create the hyperlinks using the DWF toolkit which is in C++ and undocumented. It does include a number of samples though.
    There is also the Design Review API, but it does not provide any capability to create any kind of DWF entities. It allows you to create different kinds of mark-ups but no hyperlinks.
    You could use the Design Review API to find the ID of an element you’re mousing over or clicking on and serve up data related to that ID (be that hyperlinks, info from some data source, etc). It is possible but there is a problem with the mouse-over and mouse-click event APIs in design review. It is flaky and does not always allow us to identify the entity clicked.
    Personally I would take a look at the DWF toolkit after all, but then I like C++.
    Cheers, Jeremy.

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading