← All posts
WRITTEN POST
Apr 2024
How to Create IUpdater in Revit with pyRevit (Create Custom Features)
IUpdater (Dynamic Model Update)
Dynamic model update offers the ability for a Revit API application to modify the Revit model as a reaction to changes happening in the model when those changes are about to be committed at the end of a transaction. Revit API applications can create updaters by implementing the IUpdater interface and registering it with the UpdaterRegistry class. Registering includes specifying what changes in the model should trigger the updater.
Resources
Revit API Dev Guide - IUpdater
pyRevit doc-updater
…
Create pyRevit Hook
Hook Base
python
# -*- coding: utf-8 -*-
#⬇️ Imports
from datetime import datetime
from Autodesk.Revit.DB import (BuiltInCategory,
BuiltInParameter,
UnitUtils,
UnitTypeId,
ElementId,
WorksharingUtils,
FamilyInstance)
#📦 Variables
sender = __eventsender__
args = __eventargs__
doc = args.GetDocument()
#👉 Get ElementIds for Modified/Deleted/New
modified_el_ids = args.GetModifiedElementIds()
deleted_el_ids = args.GetDeletedElementIds()
new_el_ids = args.GetAddedElementIds()
modified_el = [doc.GetElement(e_id) for e_id in modified_el_ids]Feature #1: Track Coordinates
Feature #2: Track LastEdited Timestamp + Name
Feature #3: Track Mirrored Windows and Doors
Error: Third-Party IUpdater not Registered
…