Skip to content
All articles

Member numbers: from Robot to Revit, automatically

A Dynamo script reads the model open in Robot Structural Analysis and writes each member's number into the Mark parameter of the Revit beams and columns.

By Mohamed Bennani

Members are numbered in Robot Structural Analysis: that numbering organises the calculation report. Formwork drawings and schedules, however, come out of Revit, where each beam and each column must carry the same number. The link between the two programs does not transfer this number. The script presented here takes care of it.

Revit and Robot each number their elements on their own side, and the link does not expose the mapping it establishes between them. Without a tool, the only option is manual entry: slow, and a source of errors that end up on the drawings.

The principle: finding each member by its position

Instead of looking for a common identifier, the script compares geometry. In a single run, from a Python node in Dynamo, it:

  1. reads from Robot the number and the two end nodes of each member;
  2. computes the midpoint of each Revit beam and column;
  3. aligns the two models, whose origins usually differ by a translation: a first estimate from the centroids of the two point clouds, then successive refinements on the closest pairs;
  4. matches each Revit element to the nearest member, within 20 cm;
  5. writes the number into the Mark parameter, which can be tagged on drawings and used in schedules.

A simulation mode runs the process without writing anything and displays the report: members read, elements found, matches and computed translation.

Result

On a project with 77 members, 72 Revit elements were numbered in a single run. Elements without a match keep an empty Mark, which flags them automatically in the schedule.

Precautions

  • Python engine: in Dynamo 3 (Revit 2026), the default CPython 3 engine cannot communicate with the Robot API. Install the IronPython 2 engine (DynamoIronPython2.7 package) and select it on the node.
  • Robot open, with the model loaded: the script connects to the running session.
  • Columns: Revit locates them by a point whose elevation is not that of the column’s midpoint. The script recomputes it from the levels and the base and top offsets.
  • Units: Revit works internally in feet, Robot in metres. The conversion is built into the script.

Getting the script

The script is available on request by email: bimaghreb@outlook.com.

Tested versions: Revit 2026 and Robot Structural Analysis 2026.

Further reading

  1. Revit analytical model: finding disconnected nodes before export

    Two checks to find and fix disconnected analytical nodes before sending a Revit model for analysis: a view filter, then the error detection of Graitec PowerPack.

    Read the article
  2. Reinforced concrete columns and beams: Revit families ready for Robot

    A library of parametric reinforced concrete column and beam families, designed to go from Revit to Robot Structural Analysis without re-entering data.

    Read the article