Drawing Translator

Computational / 2025
pyRevit · Python · Revit API
Role — Python & pyRevit development, Little

On a large terminal project, every sheet's annotations had to exist in two languages. Re-typing thousands of text notes by hand—and keeping them in sync as the drawings changed—wasn't realistic. This pyRevit tool turns that into a clean round-trip.

A custom Revit ribbon exports every TextNote, along with view and sheet names, from the sheets you choose into a single JSON file. Each row carries the original text and a translation field; once those are filled in, the tool reads the file back and writes the translated text straight into the live model—over 3,800 items in one pass, with a summary of exactly what changed.

01
Export A custom “Text” tab pushes all TextNotes, view names and sheet names from the selected sheets out to a JSON file.
02
Translate Each row's source text is translated into a parallel column (here, English → Spanish), editable as plain data.
03
Import The tool reads the JSON back and updates the matching elements in the live model by their unique IDs.
04
Control Dialogs scope the run—which sheets, update-only-changes vs everything, and how to treat items not on any sheet.