Revit API: Automatically Resolving Wall Reinforcement Misalignment Between Floors
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi everyone,
I have been developing a Revit API / C# system for automated reinforced-concrete wall reinforcement.
The system is considerably larger than the particular example below, but I wanted to share one relatively small problem that I found interesting from an algorithmic point of view.
A deliberately difficult test case
For testing, I created two walls with different reinforcement layouts.
The lower wall uses vertical reinforcement at 100 mm spacing, while the walls above use 200 mm spacing.
I also deliberately shifted the upper walls so that the offset between the reinforcement grids is not a multiple of 100 mm.
In other words, the reinforcement grids between the floors do not simply line up.
Lower wall: 100 mm spacing
Upper walls: 200 mm spacing, with a deliberate offset
A simple approach would be to generate the reinforcement independently on each floor. But for a real structural system, this is not sufficient.
The reinforcement on one floor is related to the reinforcement on the floor below.
The algorithm therefore has to determine how the reinforcement from the lower floor can be connected to the reinforcement layout required on the floor above, despite the different spacing and the geometric offset.
The problem becomes more interesting when the wall geometry also changes between floors.
There may be:
different wall lengths or positions;
openings in different locations;
intersections with other walls;
slabs and beams crossing the wall;
different reinforcement requirements on different floors;
reinforcement already placed manually by the engineer.
So the task is not simply:
Wall → generate rebar
It is closer to:
Structural context → determine engineering constraints → find a compatible reinforcement layout → generate the Revit elements
In this particular test case, the program determines the required relationships between the reinforcement layouts rather than relying on the reinforcement grids being aligned.
This is only a small part of the overall wall reinforcement system, but I found it to be a good example of the kind of problems that appear when engineering logic is translated into automation.
I would be interested to hear how other Revit API developers approach similar problems.
When reinforcement layouts on adjacent floors have different spacing and their grids do not align, how do you model and resolve the relationship between the two reinforcement systems?
Do you approach this primarily as a geometric problem, as a rule-based engineering problem, or as a combination of both?
I would be especially interested in approaches that remain deterministic when the geometry becomes more complicated.