Parabuild uses geometrical rules to calculate a solution. The solution is the coordinates-based 3D-model. The geometrical rules are at all times kept inside a macro, and as a result the 3D-model can be calculated again if data changes. An example of such a change is the modification of the slope of a roof plane.
The following chapters explain how we must draw these geometrical rules in modules.
The commands that are discussed in this chapter are in a hidden toolbar that you must activate first. To activate the toolbar do the following:
• Go to the top of the AutoCAD menu Tools, choose Customize, and then Toolbars
• Select the menu group in the dialog box: Parabuild-EN
• Now activate the toolbar Geometrical rules
• Click on Close
Macros
A macro is a collection of modules.
The macro itself contains no geometrical rules; it only contains modules.
The macro offers the user functionalities that allow us to reuse the macro in several situations.
As an example we take a haunch connection:
The haunch connection has been based on 2 profiles: the column and the beam.
It is possible to reuse this angle connection in another situation: a case where the beam lies under another slope, or where the column and beam are other profiles (HEA200 versus HEA220).
It is however not possible, apply the haunch connection to U-profiles. The stiffeners are foreseen on the geometry of an I shaped profile. The geometries on which the stiffeners are based are lacking in the U-shape and as a result the macro cannot be applied.
You can create a new macro using this icon. You are being asked to give the name of the first module. A macro without modules is not useful.
Modules
A module is a collection of geometrical rules: if you produce a geometrical rule it will always be added to a module.
The purpose of modules is to split up a connection in several logical parts.
There is nothing that obliges you to create a macro with several modules. You can draw everything in one module if you wish.
However working with several modules offers several advantages:
• The calculation work that is necessary for Parabuild to solve the macro is strongly reduced if you work with several modules.
• Modules can be reused in new macros (for example the stiffeners of an angle connection can be reused in a new haunch connection).
• The logical division of the connection in modules ensures a more synoptic macro during the design, especially when it contains many components.
When applying a macro one gets to see the modifiable values grouped by modules.
To prevent modules from contradicting each other, there is a list for each module that keeps which elements the module is based on and which elements it adapts/create.
If a module needs a certain element (or a piece of it), it is possible with one of the 3 “possession degrees”:
• Only based (= fixed). This means that the module uses the element as a basis and the module cannot adapt or move the element.
• To move (=rigid). The module cannot adapt the element itself, but can move it.
• Flexible. The module can adapt and move the element.
With these possession degrees it is ensured that modules will never contradict each other. There is, as it happens, but one module that can have an element in a flexible way (the same applies to move). On the other hand there is no restriction in the number of modules that has an element as a fixed element. The “move” possession degree is only needed if an element must never be adapted intelligently but should be moved.
All elements that are being used are added to the element list of the modules with one of these three possession degrees. One exception exists: profiles. A profile can be split up by means of its cuts. It is therefore possible that a module does not posses flexible the profile itself, but it does a cut of the profile. Thus several macros can shorten/extend or cut out a profile without having to posses the complete profile (in a flexible way). Modules can posses both line cuts and polyline cuts separately.
Parabuild calculates modules in serial. If a macro is calculated, then each module is calculated one after the other. Parabuild will choose automatically which module must be calculated first. This depends on which modules are dependant on which modules.
As simple example we take a plate with bolts: we have a module “plate” that entirely defines the plate (width, thickness,…). Then we have a second module “bolts” that defines a bolts pattern on top of the plate.
The bolts module will become dependant on the plate module because the bolts module uses the plate as “fixed”.
Parabuild will calculate the plate first, afterwards the bolts module.
Due to this serial manner of calculating the bolts module can never adapt an element of which the plate module is dependant. This would be a circle of dependence, which can never be calculated. Parabuild does not allow making such a circle of dependence. When you try to make such a circle then Parabuild simply refuses to create the geometrical rule. Keep this into account when Parabuild does not create your geometrical rule.