|
|
|
The ability to
track and modify the model as a reaction to changes in the model, is offered
through implementation of updaters. The updater interface offers the
ability to implement a method that is informed of the scope of changes that
triggered the changes.
|
|
|
|
Updaters are
classes which implement IUpdater interface. So as our next step, we shall
create Updater class and implement the
IUpdater interace in it. This interface implementation includes some methods
like -
|
|
GetUpdaterId
– This method returns the unique id of the updater which includes the
application Id and a GUID for this updater. This is used when Revit remembers
the details about the updater which drives a set of elements in the document
and is called once during the registration of the Updater.
|
|
GetUpdaterName
– This method returns the name by which the updater can be identified by the
user, in case there is any problem with the Updater at runtime.
|
|
GetAdditionalInformation
– This method returns the auxiliary strings which are displayed in situations
when the updater (that was used to drive the document) is not present or not
loaded.
|
|
GetChangePriority
– This method identifies the nature of the changes the Updater will be
performing. It is used to identify the order of execution of updaters and
called once during the registration of the Updater.
|
|
And Execute
– this method is updated of the scope of the changes that triggered the
update and allows API users to make changes of its own to the elements in the
document.
|
|
|
|
If a document is
modified by an Updater, the document will store the unique Id of the updater.
If the user later opens the document and the Updater is not present, Revit
will warn the user that the 3rd party updater which previously edited the
document is not available.
|
|
|