Regenerate Method


Updates the elements in the Revit document to reflect all changes.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)

Syntax

C#
public void Regenerate()
Visual Basic
Public Sub Regenerate
Visual C++
public:
void Regenerate()

Remarks

Use this method to force update to the document after a group of changes. Note that when a transaction is committed there is an automatic call to regenerate the document.

Examples

Copy C#
FamilyInstance instance = doc.Create.NewFamilyInstance(new XYZ(15, 20, 0), familySymbol, StructuralType.NonStructural);
FamilyInstance instance2 = doc.Create.NewFamilyInstance(new XYZ(25, 30, 0), familySymbol, StructuralType.NonStructural);
// faster to create multiple instances without calling Regenerate after each one

LocationPoint point = instance.Location as LocationPoint;
// this data is incorrect because the new geometry has not yet been regenerated

doc.Regenerate();
point = instance.Location as LocationPoint;
// now it is correct
Copy VB.NET
Dim instance As FamilyInstance = doc.Create.NewFamilyInstance(New XYZ(15, 20, 0), familySymbol, StructuralType.NonStructural)
Dim instance2 As FamilyInstance = doc.Create.NewFamilyInstance(New XYZ(25, 30, 0), familySymbol, StructuralType.NonStructural)
' faster to create multiple instances without calling Regenerate after each one


Dim point As LocationPoint = TryCast(instance.Location, LocationPoint)
' this data is incorrect because the new geometry has not yet been regenerated


doc.Regenerate()
point = TryCast(instance.Location, LocationPoint)
' now it is correct

Exceptions

Exception Condition
Autodesk.Revit.Exceptions RegenerationFailedException Thrown when the operation fails.
  • If regeneration fails, there is posted error of severity DocumentCorruption that will be delivered to the end user at the end of transaction explaining what specifically has happened.
  • If regeneration has failed, document is corrupted and even reading from it is illegal.
  • Code that called regeneration and got this exception should not catch and ignore it - instead, it should do nothing but internal cleanup and return control to the owner of currently active transaction/subtransaction, which must be aborted.
Autodesk.Revit.Exceptions InvalidOperationException Modification of the document is forbidden. Typically, this is because there is no open transaction; consult documentation for Document.IsModified for other possible causes.

See Also

ArchiLabs Desktop

Put AI to work inside Revit.

Give Desktop your instructions and project files to build Revit families, update model elements, and create views and schedules. Works directly in Revit and AutoCAD.

Explore Desktop →