Sample Code Revit Batch Processor 1.1.16 documentation

Contents:

This Page

Family Reports

Panel: Families | Menu: Reports

button icon

Reporting tools for auditing family libraries and project family data.

XML part atom exports come first

Three of these tools do not read .rfa files. They read XML part atom exports — metadata files Revit can produce for a family without opening it. Run Create XML Files Of Families over a library before running:

  • Report Library Families

  • Compare Library vs Library Families

  • Compare Project vs Library Families

Without the XML files those tools find nothing to report.


Create XML Files Of Families icon Create XML Files Of Families

Generates XML part atom exports for the family files in a library directory. These are the input for the report and compare tools above.

An optional xml_path_mapper.NETWORK_PATH_MAPPER module, if importable from the extension’s lib folder, is used to map network paths — useful where the library is reached by different paths from different machines.


Delete orphaned XML files icon Delete orphaned XML files

Deletes XML part atom exports in a library location that no longer have a matching family file. Run it after families have been renamed or removed from the library so the reports do not carry stale entries.


Report Library Families icon Report Library Families

Reports on the families in one or more library directories, from their XML exports.

  • You select the library directories to process — multiple directories can be chosen.

  • Results are printed as a table in the output window, then a save dialog writes a CSV.

  • If more than 10,000 rows are produced, the tool warns that saving may take a while.

Report data includes: family name, type names, category, and type parameter names and values.

Optional filtering: if a module named settings_xml_library_writer exposing a filter_data(data) function is importable, it is applied to the rows before they are reported. Use it to trim large libraries down to what you care about.

Use when: You need an inventory of a library for documentation or QA.


Compare Project vs Library Families icon Compare Project vs Library Families

Compares the families loaded in the current project against a library, reporting only the differences.

  • Output includes family names, type names, categories and the specific parameters that differ.

  • Results are printed as a table, then a save dialog writes a CSV.

Use when: Identifying which project families have fallen behind the library.


Compare Library vs Library Families icon Compare Library vs Library Families

Compares families across two or more libraries.

  • One column per library, showing each parameter’s value in that library.

  • Where a family, type or parameter is absent from a library, the value is shown as N/A.

  • Results are printed as a table, then a save dialog writes a CSV.

Use when: Maintaining several versions of a library and needing to see what has diverged.


Report Placed Families icon Report Placed Families

Reports on the families placed in the current project, including instance counts by type.

Configure before first use. This report only covers the parameters listed in FAMILY_PARAMETERS_TO_REPORT in Extensions/duHast-2025.extension/duHast.tab/lib/families/report.py. That list currently holds placeholders — "Sample Parameter One", "Sample Parameter Two", "Sample Parameter Three" — so as shipped the report returns no useful parameter columns. Replace them with your project’s parameter names.

Results are printed as a table, then a save dialog writes a CSV.


Report Loaded Families icon Report Loaded Families

Reports on the families loaded in the current project via XML part atom export of the project’s families — a different mechanism to Report Placed Families, which reads the families directly.

Report data includes: family name, type name, category, and type parameters and values.

Results are printed as a table, then a save dialog writes a CSV.


Notes

  • Neither project report writes to a fixed location; both ask where to save.

  • Large libraries take several minutes; progress is shown in a cancellable progress bar.

  • The two optional hook modules (settings_xml_library_writer, xml_path_mapper) are looked up on import and ignored if absent — no error is raised if you do not use them.