To automate the modeling of larger parts of a building it is possible to combine any number of members, arrays and connections into a linked group of geometries we call macros. The advantage of using macros is to automate repetitive parts of the building. Flexible user-defined macros can be created by making sure there is a fully constrained template drawing available. Once a template drawing is made this template can be used in any project.
Examples of provided standard macros are bracing, trusses, purlins, cage ladders, portal frames, …

Customization without programming

The standard macros in Parabuild are all fully defined using geometric constraints in template drawings. This means it is possible to modify existing macros or add any new custom connection without hiring a programmer or writing any code. Parabuild is the only structural steel software that allows the user to define any type of macro without programming.

The two colliding plates are shown in yellow.
Runtime collision detection

Parabuild will automatically detect collision between parts during the editing of connections and macros. Bolt clearance and hole to edge/hole to hole distances are checked as well.

A transmission tower that was drawn with the use of Parabuild macros.
Modeless editor

The macro editor does not restrict you from doing other things in the drawing. Feel free to make changes in the 3D model, do measurements or edit other macros or connections while the editor is open and available to make further changes.

Close-up of a transmission tower that was drawn with the use of Parabuild macro’s.
A building before (left) and after changes to the grid lines (right). The frame members and connections will adapt automatically when the grid lines change.
Responsive 3D model

The grid, frame, connections, parts and bolts are all linked up and will adapt when needed.
When the grid is changed, the frame will adapt and when the frame changes the connections will adapt.
This results not only in productivity gains during revisions, but presents opportunities for re-using some regularly drawn building components.

Smart macro copy

Just like connections, macros can be made dependent on base members. Smart copy allows you to copy such macros from the original base members to the new members. The new members do not need to be identical as the copied macro will recalculate the new geometries to fit the new base members.

The bracing on the left was copied to the location on the right. The macro takes care of changing the bracing to accomodate the different distances between the columns.
A dialog box that asks the draftsman to select a bracing template.

Bracings in Parabuild use the macro system. Every bracing type is defined in a template drawing and includes the gusset plates as separate connections. Applying a bracing between members just requires selecting them and selecting the desired type.


Trusses in Parabuild are defined as template based macros, and can be applied just by selecting a model line. The truss will be recalculated upon any change to this model line. Any other properties like shapes, number of struts, offsets and so on can be adapted in the macro editor. For its repetitive parts trusses employ an adaptive array that copies the struts and its connections so that each strut can actually have a different size (eg a truss with oblique sides) and still be a copy of the same original geometry. This means each template drawing of a truss can be used in a wide array of situations even if the truss template is designed by the user.

Changing the parameters of a truss.

Changing the parameters of an array of portal frames.
Adaptive array

To support powerful user-made macro types, a new kind of array was developed. This array copies macros and connections with their rules intact, so that each geometry will be adapted dependent on its location and position with respect to the base geometries. That means any entry in the array can be unique, these are not just literal copies! When the array needs to grow, insert location and source entry can be specified in case specific changes were made to different entries. Very unique to this array is that the entries can have connections and macros linking each other, and these will also be arrayed and re-linked when required.

More examples of standard macros