Revit Technician

Revit Technician: How Does Dynamo Work

Today, BIM is becoming the standard work tool in many sectors, such as construction. We see in various articles that its use brings an evolutionary leap in working with parametric design, transforming the delineation process into information management and reinforcement detailing.

This makes us think we can no longer improve our working methods. Regarding the opposite, a Revit technician will show you the improvements that exist on BIM.

We present Dynamo

Dynamo is a programming environment for BIM; it is an open-source project, meaning the tool is built through free contributions from developers and designers. The device is free in its version. But it has also been incorporated into other BIM programs with which you will be more familiar; we will discuss the native version of Revit. With the assistance of a Revit technician, you can learn how to use the tool and see existing versions.

A Revit Technician is the perfect fit if you’re looking for a skilled professional who can create and maintain detailed 3D models using Revit software. The expert ensures accuracy and efficiency, always striving to produce high-quality construction documents. Our Revit technician is highly knowledgeable in their field and can troubleshoot any issues that may arise during the design process. Plus, they’re adept at managing multiple projects simultaneously and prioritizing tasks effectively, all while paying close attention to detail and collaborating positively with others. 

With a Revit Technician on your team, you are in skilled hands.

How does Dynamo work?

Being a visual programming environment, it allows users to use the benefits of programming with the freedom to create their tools, including users with little training compared to what would be necessary to modify lines of code within the Revit program. 

Visual programming uses a series of Nodes, like those in the image below. We can use nodes containing information; this could be a coordinate of a point or a family, such as a door. We also have tools or operation nodes in parametric design that can perform both a mathematical operation and an action, for example, rotating an element in Revit. This way, we can connect the nodes to execute a desired action.

What do I need Dynamo for?

Users discovering BIM will ask themselves, “If BIM is already a great improvement, why is this necessary?” Let’s say it’s the icing on the cake. If, with BIM, we have managed to streamline work significantly and use tools that allow us to reduce human error to a minimum, with Dynamo, we can optimize these tools and adapt them to our way of working and the type of project we use.

Parametric design

One of the possibilities offered by this tool is that we can carry out parametric design with Dynamo, creating designs based on conditions or parameters that generate the final result. Until now, we had to make a geometry to model from some lines we defined. If our design has to change, we have to remodel said design generating new geometries and obtaining reinforcement detailing.

We can create parameters and conditions that generate such geometry with parametric design. If we have a design change, we can change the input values, and the program will automatically generate the final geometry.

This has two fundamental advantages:

First, we will save a lot of time by updating the result as we make changes. The second is that we can create designs based on data. This data can come in the form of a cloud/list of points, the lines of an attached file, or a series of mathematical conditions. For example, we can create a series of lines on which we will distribute the seats of an auditorium. We can control the shape of the lines, the number of seats or the distance between centers in such a way that when the geometry of the room changes, the seating arrangement will be automatically updated. 

Automate operations

Another of the most common uses in Revit is the creation of automation with Dynamo. The nodes that allow us to create geometry also will enable us to use Revit tools such as copying an element or moving according to conditions. In this way, if we have to operate repeatedly, such as rotating a column 15 degrees, Revit does not allow us to rotate all the queues simultaneously around their axis. What would have taken us a couple of hours, turning each column individually, we can create a script that does it in 1 minute. In this way, we can speed up our work with repetitive actions such as renaming all the doors or creating all the sheets of a project. Automation example


Dynamo is an application that can help us maximize the advantages that BIM already offers us. It allows us to customize the tool to our liking, as well as greater flexibility in the designs we make.

Structural Engineering Service

Mastering Structural Engineering Services: A Deep Dive into Ground Beams and Reinforcement Detailing

Ensuring structures’ safety and stability is paramount in construction and civil engineering. It is where structural engineering services play a crucial role, with ground beams and reinforcement detailing being key components of the process. In this post, we will discover the importance of structural engineering services, delve into the intricacies of ground beams, and unravel the art of reinforcement detailing.

The Significance of Structural Engineering Services:

Structural engineering service form the backbone of any construction project. They encompass many tasks to ensure the building and infrastructure’s structural integrity and safety. These services are essential from the initial design phase to the completion of construction. Here are some of the core aspects of structural engineering services:

1. Initial Design and Planning

Engineers work closely with architects and other stakeholders to develop a structure’s initial design and layout. They consider factors such as load-bearing capacities, materials to be used, and the overall stability of the design.

2. Feasibility Studies

Before a project commences, structural engineers conduct feasibility studies to assess the viability of the proposed design. It involves analyzing the site conditions, local regulations, and potential challenges that may affect the project.

3. Structural Analysis

The most important aspect of structural engineering is the analysis of the proposed design. Engineers use advanced software and mathematical models to simulate the behavior of the structure under various loads and conditions. This analysis helps ensure the structure can withstand the forces it will encounter during its lifespan.

4. Ground Beams: The Foundation of Stability

Ground beams are integral components of many construction projects, especially in the context of foundations and basements. These horizontal supports are designed to evenly distribute the load from the structure to the ground below. Let’s explore the role and importance of ground beams in structural engineering:

What Are Ground Beams?

Ground beams, also known as grade beams, are reinforced concrete elements that run horizontally along the foundation of a building. They are typically positioned below ground level and provide additional support to the structure.

The function of Ground Beams

  • Load Distribution: Ground beams help distribute the weight of the building evenly, preventing uneven settling of the foundation.
  • Stability: They enhance the stability of the structure, especially in areas with varying soil conditions.
  • Resistance to Settlement: Ground beams can resist differential settlement, which occurs when different foundation parts settle at different rates.
  • Connection Points: They connect to other structural elements, such as columns and walls.
  • Protection Against Moisture: Ground beams can act as a barrier against moisture infiltration into the building, especially in basements.

Reinforcement Detailing: Strengthening the Core

Reinforcement detailing is a critical aspect of structural engineering that involves the specification and placement of reinforcing bars (rebar) within concrete elements. This process significantly enhances the structural strength of concrete components. Let’s dive into the specifics of reinforcement detailing:

The Role of Rebar

Rebar is made of steel and is used to reinforce concrete structures. Its key function is to provide tensile strength to the concrete, which is otherwise weak in tension. Reinforcing bars are typically available in different dimensions and configurations to meet the requirements of different projects.

Importance of Proper Reinforcement Detailing

  • Structural Integrity: Correctly placed rebar ensures concrete elements’ structural integrity and load-bearing capacity.
  • Durability: It increases the durability of concrete by preventing cracks and minimizing the effects of shrinkage and temperature changes.
  • Safety: Reinforcement detailing enhances the safety of structures, making them more resistant to external forces such as earthquakes or heavy loads.
  • Compliance: Engineers must adhere to local building codes and standards when detailing reinforcement to ensure that structures meet safety requirements.
  • Cost-Efficiency: Properly reinforced concrete structures are less prone to require expensive repairs or replacements in the future.

Best Practices in Structural Engineering Services

Now that we understand the significance of ground beams and reinforcement detailing let’s explore some best practices in the field of structural engineering services:

  • Collaboration: Effective communication and collaboration between architects, engineers, contractors, and other stakeholders are essential for successful project outcomes.
  • Material Selection: Choosing the right materials, including concrete mixes and rebar types, is crucial for durability and longevity.
  • Quality Control: Regular inspections and measures ensure construction meets the approved plans and specifications.
  • Safety Protocols: Strict adherence to safety protocols minimizes the risk of accidents during construction.
  • Environmental Considerations: Sustainable practices are increasingly important in modern structural engineering.
  • Continued Learning: Staying updated with the latest technologies and industry trends is vital for professional growth and delivering the best service.

In conclusion, structural engineering services, including ground beams and reinforcement detailing, are foundational to construction projects’ safety, stability, and durability. Engineers play a vital part in ensuring that buildings and infrastructure can withstand the test of time. By following best practices and embracing innovation, the field of structural engineering continues to evolve, contributing to safer and more sustainable structures for the future.

Crack Filling and Repair: Essential Maintenance for a Strong Foundation

4.5 Repair of cracks

4.5.1 General

Although cracking along the line of reinforcement is one of the symptoms of reinforcement corrosion, the simple sealing of such cracks is not recommended as the primary means of repair. If the crack resulted from reinforcement Corrosion, sealing it will not prevent further corrosion and fresh cracking must be expected.

If cracking is present which is not attributable to reinforcement corrosion, consideration should be given to the need for repairs to be carried out, bearing in mind that reinforced Concrete structures are designed in such a way that controlled cracking may occur in some circumstances. However, crack repairs may sometimes be required as part of an overall treatment of Concrete that has been affected by reinforcement corrosion. Before deciding on the most appropriate methods and materials for repairing or sealing cracks, it is imperative to establish the cause of the cracking (see Concrete Society Technical Report No. 2219)) and, where permanent structural bonding or filling is required, to carry out any other strengthening which may be required.

Once the cause of cracking has been established without doubt and any necessary steps have been taken to avoid recurrence, it is possible to restore the structure to the original strength and durability of the uncracked concrete. This is done by filling the cracks with epoxy resins specifically developed for such applications, provided that the bonded surfaces of the concrete of the crack interface are clean and sound.

Crack widths at the surface down to approximately 0.1 mm can be successfully filled and repaired by specialized pressure-injection techniques. However, cracking is caused by tensile stresses and, if these stresses recur after crack repair, the concrete may crack again.

If it is not possible to establish and rectify the cause of the original cracking, the only solution is usually to cut out along the surface of the crack adjacent to it and treat it as a normal movement joint (or, alternatively. to cut out a normal straight movement joint adjacent to the crack after having repaired it by resin injection).

This will involve filling with a low-modulus sealant. In general a bond breaker should be introduced at the base of the cut-out, so that a three-sided joint is voided. The cut out joint should be sufficiently wide so that the predicted movement does not exceed approximately 20% of the minimum joint width (or as the specialist sealant manufacturer advises). The use of a very-low-modulus system to fill the crack as a cheaper alternative is not recommended for filling fine cracks liable to movement. because the filling material is required to sustain virtually infinite elongation over a very short width, which is to all practical purposes impossible.

A range of epoxy resin systems, used in conjunction with special techniques, is available for the filling and structural repair of cracks where the cracks are not subject to further movement.

The filling of cracks involves introducing the epoxy resin into the cracks to fill them completely, and holding it there while it sets to a non-flowing state. This normally involves the use of a method of completely sealing all external faces of the crack to prevent the repair resin draining out. A number of different sealing methods are used (fast-setting polyester putties, sealing tapes, melt waxes etc), with injection points at intervals hot appropriate to the width, length etc. of the cracks to be repaired.

In many applications it is impossible to seal all outlets of the crack completely. A thixotropic low-viscosity epoxy resin system can then be used. (Thixotropy is the ability of the resin to flow under pressure or shear and to stop flowing when the pressure or shear ceases.) By using a thixotropic resin it is often possible to fill cracks which are not accessible for sealing on all sides.

Where non-structural crack sealing is required an SBR or acrylic latex emulsion can be used. Specially formulated for low viscosity and high penetration, the material sets by dispersion of water into the surrounding concrete, which must be dry and dust-free. A rubbery mass remains which is water-resistant, though not under hydrostatic pressure, and able to accommodate a small degree of movement.

Ideally suited to narrow cracks, the latex can be used to seal large cracks by repeated applications. Single cracks on horizontal surfaces can be simply sealed by applying the material with a squeeze bottle along the line of the crack.

Cracks on vertical surfaces may be sealed by forming a small cup which acts as a reservoir at the top of the crack, and temporarily sealing the remainder of the crack with putty, mastic or tape, whilst it sets to a non-flowing state.

4.5.2 Crack filling

Whilst in some very simple cases gravity feeding of the resin into the crack may suffice, some form of forced feed is usually more satisfactory. Unless a thixotropic composition is being used, introduction of the resin should start at the lowest point and continue until the cracks are completely filled. Thixotropic materials do not flow readily under gravity within the crack and they may therefore be introduced at any convenient point.

When repairing wet or water-filled cracks, it is important to employ a resin system of proven ability to achieve a strong adhesive bond to concrete under these conditions. The resin should be introduced carefully so that a stable boundary is maintained between the resin and the water which it displaces (preferably upwards) to the open end of the crack.

Methods for injecting the resin under pressure vary. from simple cartridge or grease guns and other simple pumping devices which inject the previously mixed resin/hardener system, to highly sophisticated resin injection machines with built-in resin and hardener metering and mixing equipment. Whatever pressure injection method is used, it is essential that the injection pressures should be controlled, so that the cracks are not opened by further tensile cracking of the concrete, from the hydraulic pressure, and that the injection pressure does not ‘blow off’ the seal.

In some cases, where it is necessary to fill and repair network of cracks with ‘dead ends’, a combination of a Complete (or partial) vacuum to remove most of the air in the cracks and injection at atmospheric pressure has proved most effective. In this technique, the area to be injected is sealed with a polythene sheet placed over a mesh. The sheet is wrapped and bonded around the surface of the Concrete to be repaired, vacuum is applied and the injection resin is introduced. The polythene sheet is held against the face of the concrete by atmospheric pressure. The vacuum technique can also be used for impregnating highly cracked or porous structures which are often impracticable to repair by more conventional pressure-injection techniques.

4.5.3 Selection of materials

The selection of resin system will depend upon the nature and size of the cracks, the temperature of the structure, the time allowed for undertaking the repair before subjecting the structure to service loads, and the injection method proposed. The properties required of the resin are:

(a) to flow and fill the cracks completely without subsequent drainage:

(b) If required, to displace any water in the cracks and not to mix with the water;

(c) To bond structurally to the sides of the crack, whether dry or wet or both;

(d) to develop the bond strength at an acceptable rate at the application temperature under either dry or both wet and dry conditions:

(e) to have an adequate usable life of the mixed resin/hardener (pot life) for the proposed injection method at the application temperature.

4.5.4 Practical considerations

In general, resin injection should be carried out by specialist contractors with experience of injection techniques. However, injection kits are now available with detailed instructions, which enable an intelligent site worker to undertake the injection repair of simple, well defined cracks in concrete structures. The formulator or specialist contractor must be able to demonstrate that, when the resin system proposed is injected into cracks, dry or wet (or both), it will achieve a structural bond to the sides of the concrete at the temperature of the structure. The slant shear test in BS 6319: Part 420) is appropriate for assessing suitability. Other testing can be specified, but provided the resin system bonds concrete together under conditions representing those found on site, the slant shear test is generally sufficient.

Understanding the Importance of RC Detailing and Reinforcement Detailing in Construction Projects

2.4 Abbreviations

The following standard abbreviations are recommended but, if there is any risk of confusion or ambiguity with the then use of the these words abbreviations in any particular circumstances should be written in full. No other abbreviations should be used unless clearly defined on all the drawings on which they appear. articular attention is drawn to the use of lower-case and capital letters.All abbreviations are the same in the plural in the singular.

2.4.1 General

RC – reinforced concrete

blk – blockwork

brk – brickwork

drg – drawing

FS – full size

NTS – not to scale

dia – diameter

crs – centres

SOP – setting-out point

SOL – setting-out line

CL – centre-line

FFL – finished floor level

SFL – structural floor level

SSL – structural slab level

EL – existing level

hor – horizontal

ver – vertical

RC Detailing – Reinforcement Concrete Detailing

2.4.2 Relating to reinforcement

far (face) Fl (outer layer) F2 (second layer)

near (face) N1 (outer layer) N2 (second layer)

bottom (face) B1 (outer layer) B2 (second layer)

top (face) T1 (outer layer) T2 (second layer)

Note: Since the contractor may not be familiar with this notation it should be illustrated by a sketch on the relevant drawings. Additional abbreviations may be used but are not recommended for use without a clear description as they have been found to be ambiguous.

2.5 Drawing standards

It is the intention that BS 1192 Recommendations for drawing practice should be read in conjunction with this document, the two documents being mutually complementary. Parts 1and 3 of BS 1192 are particularly relevant to the RC Detailing since the reinforced concrete detailer define the general principles of drawing practice and symbols. In Part 2 of BS 1192 are examples or ranforced concrete drawings, which also comply with the Standard method.

2.6 Dimensions of drawing sheets

The recommended dimensions of drawing sheets are given below; Fig. 1 shows the relative sizes. Size of drawing sheets BS reference dimensions

A0 841 × 1189

A1 594 × 841

A2 420 × 594

A3 297 × 420

A4 210 × 297

Note: Margins and information panels are within these dimensions

2.7 Borders

All drawings should have a 20mm filing border on the left-hand side. Elsewhere the border should be 20mm (minimum) for A0 and Al and 10mm (minimum) for A2 A3 and A4. The border margin line should be at least 0.5mm thick.

2.8 Title and information panels

Key information relating to the job and drawings should be placed in the bottom right-hand corner of the drawing sheet. Panel should include at least the following information:

office project number

project title

drawing number with provision for revision suffix

drawing title

office of origin


drawn by (name)

checked by (name)

date of drawing.

2.9 Key

On jobs where a portion of the work has to be divided into several drawings, it is useful to have a small diagrammatic key on each drawing, with the portion covered by that drawing clearly defined, and adjacent panels identified with given drawing number.

2.10 Orientation

2.10.1 Site plans

The direction of the north point should be clearly shown.

2.10.2 All other drawings

All other drawings relating to particular buildings or major subdivision of a job should have consistent orientation, which should preferably be as close as possible to the site-plan orientation.

2.11 Thickness of lines

The objective of using varying line thicknesses is to improve clarity by differentiation. The scale of drawing and the need for clear prints to be taken from the original should be borne in mind The following suggested line thicknesses are considered suitable for reinforced concrete drawings:

concrete outlines generally and general

arrangement drawings 0.35mm

concrete outlines on reinforcement

drawings 0.35mm

main reinforcing bar 0.7mm

links 0.35mm-0.7mm

dimension lines and centre-lines 0.25mm

Cross-sections of reinforcement should be drawn approximately to scale.

2.12 Lettering

Distinct and uniform letters and figures ensure the production of good, legible prints; the style should be simple.

Capital letters should be used for all titles and sub-titles and should preferably be mechanically produced. Lower-case letters may be used in notes.

2.13 Spelling

The spelling of all words should be in accordance with BS 2787 or otherwise the Little Oxford Dictionary, e.g. asphalt, kerb, lintel, etc.

2.14 Dimensions

The general-arrangement drawing should show all setting out dimensions and sizes of members. The reinforcement drawings should contain only those dimensions that are necessary for the correct location of the reinforcement. Dimensions should be written in such a way that they may be read when viewed from the bottom or the right-hand Side of drawing. They should, where possible, be kept clear of structural detail and placed near to and above the line, not through the line .For site layouts and levels, the recommended unit is the metre. For reinforcement detailing and the specification of small sections, the recommended unit is the millimetre It is not necessary to write mm. Dimensions should normally be to the nearest whole millimetre.

2.15 Levels

2.15.1 Datum

On civil-engineering and major building works it is usually necessary to relate the job datum(a TBM or transferred OS benchmark) to the Ordnance Survey datum. On other works, a suitable fixed point should be taken as job datum such that all other levels are positive. This datum should be clearly indicated or described on the drawings, and all levels and vertical dimensions should be related to it. Levels should be expressed in metres.

2.15.2 Levels on plan

Lt is important to differentiate on site layout drawings between existing levels and intended levels.

Finished floor levels or structural floor levels should be indicated thus:

FFL 12.335

SFL 12.000

Existing levels should be indicated thus:

EL 11.445

2.15.3 Levels on section and elevation

The same method should be used as for levels on plan. except that the level should be projected beyond the drawing with a closed arrowhead indicating the appropriate line.

When constructing a structure it is the level of the structure that is important. If it is necessary to refer to the finished floor level, this should be a reference in addition to the structural floor level

2.16 Scales

Scales should be expressed as, for example, 1:10 (one to ten for concrete work). The following scales are recommended as a suitable:

1:100 general arrangements

1:50 wall and slab detail

1:50 beam and column elevations

1:20 beam and column sections

Where larger scales are required the preferred scales specified in BS 1192, are: 1:20, 1:10, 1:5,1:2 or full size.

2.17 Plans

Plans should be drawn in such a way as to illustrate the method of support below, which should be shown as broken lines, This is achieved if one assumes section drawn a horizontal immediately above the surface of the structural arrangement or component. Dimension lines should be kept clear of the structural details and information.

2.18 Elevations

An elevation on a portion of a structure will normally be taken as a vertical cut immediately adjacent to the element under consideration. Structural members cut by the section should be shown in full lines. Other connecting members behind the member being detailed should be shown by broken lines.

2.19 Sections

Where sections are taken through structural elements, only the material in the cutting plane is shown on a section; in general a cut showing features beyond should not be used.

For clarity, the cut member may be shaded. The directions of sections should be taken looking consistently in the same direction, looking towards the left for beams and down wards for columns. A section should be drawn as near as possible to the detail to which it relates.

2.20 Grid lines and a recommended reference system

A grid system provides a convenient datum for locating and referencing members, since columns are usually placed at or near the intersection of grid lines.

Grid notation should be agreed with the architect and would normally be numbered 1.2,3, etc. in one direction, and lettered A, B, C, X, Y, Z, AA, AB, etc. (omitting I and O) in the other direction. These sequences should start at the lower left corner of the grid system. Supplementary grids, if required, can be incorporated within the system and identified as follows: Aa, Ab, Ac, Ba, 2.5,4.2 etc.

Referring to the framing plan sketch: all beams within a floor panel are referenced from the column situated in the lower left corner of that panel, e.g. column reference 2B occurs at intersection of grids 2 and B

each beam reference includes the column reference plus a suffix number, e.g. 2B1, 2B3,etc. for beams spanning up the panel, and 2B2, 2B4, etc. for beams across the panel. Similarly for supplementary column 2.5 Ba. This format is similar to the system used successfully for structural steelwork. Beams should be labelled on the general arrangement drawing, particularly off-grid members. Beams on grid lines may have their labels omitted, in which case strings of beams are described as follows: e.g. beams along grid line 2/A to C

2.21 Procedure for checking drawings and schedules

All drawings and bar and fabric schedules must be checked by a competent person other than the detailer. The checking of drawings falls into 3 stages:

Stage 1: Design check

That the drawing correctly interprets the design as described as described in and supported by the checked calculations.

Stage 2: Detailing check

That the drawing has been prepared in accordance with current standards and meets the requirements of that particular job. That the information agrees with the general arrangement and other associated drawings and bar and fabric schedules, with particular reference todimensions, termination of reinforcement, construction details, notes, etc., and that the details shown can, in practice, be constructed. Where drawings are traced they must be checked to ensure they have been traced correctly, and where the layout of the drawing has been rearranged on the tracing. that the traced drawing continues to convey the intentions of the originator to the user.

Stage 3: Overall check

That the checks under stages 1and 2 have been carried out. That the drawing is in all respects suitable for its purpose and truly reflects the requirements of the project.

Each drawing should have a ‘box’ containing the name of the draughtsman and checker.

Standard checking lists may be a useful aid but must not be considered a complete check, since no checklist can be totally comprehensive. Set out below are some items that could be used to form the basis for a checklist.

1. Is general presentation and orientation correct?

2. Are title, scales, drawing numbers correct?

3. Are revision letters correct and location of revisions shown?

4. Are sufficient sections and details given?

5. Are general notes complete and can they be understood?

6. Is spelling correct?

Enhancing Structural Stability: The Importance of Professional RC Detailing and Reinforcement Detailing Services

3.2 Stages in the repair process for reinforcement concrete damaged by reinforcement corrosion

3.2.1 Preparation of the concrete

The essential requirements for cutting back concrete


  • removal of all damaged concrete back to a sound Core:
  • removal of additional concrete from around and along the reinforcement:
  • formation of clean-Cut edges to areas to be repaired, avoiding ‘feather’ edges;
  • removal of surface deposits or coatings to expose sound Concrete.

The basic recommendation is that for the most durable repairs, Concrete should be cut away right around the affected reinforcement. In the case of seriously corroded reinforcement, and in all cases where there is a high chloride content in the concrete, this reinforcement detailing is essential, where practicable. It is recognized that this recommendation may be difficult, or even impracticable, where there is Congested or multi-layered reinforcement, and that the replacement of such concrete cut away with material of adequate quality may also be impracticable. In these circumstances the steel should be exposed and cleaned as far as possible. It is unlikely that the Concrete in the Core of the structure will have carbonated, so if sound it will still be providing protection to the steel. Where lightly corroded steel is embedded to, say, mid-section in sound concrete, the extra cost of cutting concrete away to expose it all round may not always be justified. provided a sound bond of the repair material to the concrete is achieved. This is more likely to apply in cases where access to the structure is easy and disturbance during repairs is not significant, and thus the consequences of having to return to do further repairs at a later date are not great. In the case of stressed structural members, cutting out concrete behind the reinforcement can lead to the need for extensive propping. Disturbance to the bond of the concrete to the steel may also occur. Thus careful RC detailing of structural effects will be required, and these may lead to decisions not to cut out all round a bar in non-chloride affected concrete, particularly when sprayed concrete repairs are to be used.

3.2.2 Reinforcement Detailing

The standard of cleaning of reinforcement will depend upon the circumstances. In concrete where chlorides have led to the corrosion problem, all rust, scale and surface contaminants should be removed by abrasive blasting or by water/abrasive blasting or by specialist very-high pressure water jetting. When Portland-cement-based repair materials with adequate cover are to be used and chlorides are absent (or present only in small amounts), the steel need only be cleaned to a condition that Would be acceptable in new construction. Small hand held power tools, such as needle guns, are often adequate for this. For resin-based repairs, particularly where cover to reinforcement is low, a high standard of preparation is required -similar to that used in the preparation of steel for painting. If the steel is so heavily corroded that significant loss of section has Occurred, a structural assessment should be made to see whether it is necessary to add new steel. This must be linked to the existing steel in a suitable manner, with proper lap lengths, which may involve cutting away further sound concrete to expose the existing steel sufficiently. The use of welding maybe possible where adequate checks have been made of the weld ability of the original reinforcement. The added steel will not contribute to the strength under dead load unless this is relieved while the repair is carried out. In the case of repairs by the gunite process, it is good practice to incorporate a light welded steel fabric, which must be securely fixed. Such a mesh may also be required for fire resistance. You can also make use of structural engineering service to better the reinforcement.

3.2.3 Priming steel reinforcement

The use of an anti-corrosive treatment on reinforcement with adequate cover is not required with cement-based repair Systems Which act by passivating the steel. With resin-based repairs, priming of the steel is usually recommended. The primer, which may or may not have corrosion-inhibiting properties, must be obtained from the same supplier as the repair system itself to ensure full compatibility. Primers should normally be applied within a few hours of blast-cleaning the steel. The use of other corrosion-inhibiting pre-treatments for steel is not specifically recommended in this report. If they are to be used, the circumstances of their use should be discussed with the manufacturer and their compatibility with the other materials being used should be checked.

3.2.4 Bond coat

Where a hand-applied resin or cementitious mortar repair System is used, the concrete surface is normally coated with a bond coat and the repair material applied while this is still soft or tacky. For resin systems, the bond coat is usually a resin of similar nature to that forming the binder in the repair mortar and, unless water-tolerant, should be applied to a dry surface. If it is water-tolerant, a damp surface is acceptable, but it should still be free of surface water. All proprietary resin repair systems provide both bond Coat and repair mortar. For cementitious mortar systems, the bond Coat may be either a resin or a polymer-cement slurry. The material to be used will normally be chosen with the advice of the supplier. If a polymer is to be incorporated into the repair mortar, it is usual for it to be incorporated also into the bond coat. The purpose of a bond coat is to achieve effective adhesion between the repair and the old concrete. With resin mortars, the bond coat helps to wet out’ the surface. With cementitious mortars, it has been found that good adhesion can be obtained without a bond coat, or with one consisting of Portland cement and water only. However, under normal conditions on repair sites, it seems likely that a more reliable bond can be achieved by using a bond coat.

3.2.5 Re-forming to profile

Depending on the application methods used, the repair material may need to be applied in several layers in order to build out to the required profile. The final profile may follow the original lines or be proud of them, if required to give suitable cover to the steel. Resin and cementitious mortars can normally be applied in layers of 15 to 25 mm, special care being required for overhead work. A ‘scratched’ mechanical bond may be needed if one layer will have hardened before the next is applied. It is also necessary to carry out preparation of the Surface of the earlier layer if this has become Contaminated or been immersed by the tide. Where good lines are required, light timbers or stretched piano wires should be securely fixed to the required final profile. This is particularly important in gunite repairs which are built out beyond the original profile.  enable the mortar to be placed in one operation, or form work may be built up as patching proceeds. Re-casting using Tine aggregate concrete may be appropriate. Timber profiles must be devised so as to provide the appropriate line without interfering with the placing of the repair material or the striking of the form work.

3.2.6 Surface finishes

In general, trowel-and spray-applied repair materials are stiff, low-slump or non-slump mixes which require considerable effort to trowel and compact into place. Although there is variation in behaviour between the different types, in principle they should be given the minimum of subsequent working once placed, as the bond with the substrate may be disturbed. As discussed before, the colour and texture of the repairs will not permanently match the existing concrete and it may be more appropriate to achieve a particular surface finish, texture or colour by applying a thin surface coat to the repair material once this has set sufficiently so as not to be disturbed, or by applying a final brushed or sprayed decorative or protective coat to the whole surface to give uniformity of colour. These problems are obviously reduced where a general treatment for the whole surface is required to reduce the rate of deterioration of the concrete.

Type of Reinforcement Drawings

2.2 Types of drawing

There are two principal types of drawing necessary for the preparation of reinforced concrete drawings and details.
These are general-arrangement drawings and reinforcement drawings.

Scripts to come, please see below link for more details:

RC Details Ground Beams – Follow this Link

2.2.1 General-arrangement drawings

General-arrangement drawings for concrete structures consist of dimensional data necessary for the setting out
and construction of the concrete form work, e.g.:

  • setting out of the concrete structure on site
    plans, sections and elevations where appropriate showing
    layout, dimensions and levels of all concrete members
    within the structure
  • location of all holes, chases, pockets, fixings and items
    affecting the concrete work
  • north point
    notes on specifications, finishes and cross-references
    of the construction.

Reinforcement Detailing

All these matters should be considered at the outset of every drawing programme.

Detailed examples of structural layout drawings and guidance notes are illustrated at the beginning of Section 5.

2.2.2 Reinforcement drawings

Reinforcement drawings describe and locate the reinforcement in relation to the outline of the concrete work and to relevant holes and fixings.
Generally circular holes up to 150mm diameter and rectangular holes up to 150x150mm in slabs or walls need need not be indicated on the reinforcement drawings. Holes of larger size should be indicated on the reinforcement drawing and should be trimmed by suitable reinforcing bars.

000000-BJK-Z1-ZZ-DR-S-105 - RC Sections - Sheet 1_Sect_9_SM_TR

Separate drawings or plans for top and bottom layers of reinforcement should be used only for fabric and in exceptional cases. e.g. hollow bridge decks with four layers of reinforcement. Reinforcement drawings are primarily for the use of the steel fixers. It is preferable that general arrangement and reinforcement drawings be kept separate, but for simple structures a combined drawing will suffice.

00000-BJK-Z1-00-DR-S-103 - RC Details Ground Beams - Plan - Sheet 1_Reinforcement Drawings

2.2.3 Standard details

Standard details are those details that are used on a repetitive basis. Furthermore, details used in this way must be carefully worked out, fully detailed and totally applicable to each location where they are to be specified. Standard details may apply to concrete profiles or
reinforcement arrangements, and they should be drawn to a large scale.

00000-BJK-Z1-00-DR-S-022 - FND Section_SM_TR

2.2.4 Diagrams at reinforcement drawings

Diagrams may be used as a means of communicating design ideas during both pre-contract work and the post-contract period. Diagrams may be formally presented or sketched freehand providing they convey information clearly neatly and in detail. The information contained in diagrams should prefer ably be drawn to scale.

2.2.5 Record drawings

When the reinforced concrete structure has been constructed, the original drawings used for the construction process should be amended to indicate any changes in detail that were made during the construction process. A suffix reference should be added to the drawing number to indicate the drawing is a “record drawing’. The amendments should be described in writing against the appropriate suffix reference. A register of drawings should be kept listing reference numbers, titles and recipients of drawings.

| ref. Standard method of detailing structural concrete. ISTRUCTE |
Link to Autodesk

Dynamo Scripts for Structure

MSc Bartlomiej Jakub Kuczynski © 2023

Algorithmic Thinking in Parametric Design


'From the time of ancient Vitruvian geometric ideas to modem Corbusian regulating lines and Miesian modular grids, architecture has always been bound to (if not by) a conscious use of numbers.'

Rather than rely on an intuitive search for a solution, parametric design often involves precise, step-by- step techniques that yield a result according to rules and inputs. This way of thinking about the process of design as a rigorous rule-based system is referred to as algorithmic thinking. As Steele’s quote above hints, mathematical knowledge and algorithmic thinking have always been the traits of an architect, certainly at least since the times of the ancient Egyptians and Greeks. Today, individuals who wish to use parametric design in architecture find themselves faced with the challenge of learning algorithmic concepts (as well as mathematics) that are more familiar to software programmers than to designers.

Behind every piece of software is a set of precise instructions and techniques that interact with the user, respond to events, and read, manipulate and display data. Collectively, we call these instructions and techniques algorithms. Derived from the name of a Persian mathematician (Muhammad ibn Musa Al-Kwarizmi), an algorithm is defined as a set of precise instructions to calculate a function. An algorithm usually takes input (which can be empty or undefined), goes through a number of successive states, and ends with a final state and a set of outputs.


Learning programming concepts does not necessarily ensure that a designer will learn algorithmic thinking. The challenge is not dissimilar to learning cooking: one can learn the basics of mixing ingredients, heating, baking and so on, yet there is no guarantee of becoming an accomplished chef. As with most things, it takes a love for the craft, a methodical mind, some talent and, most importantly, practice. The metaphor also applies to the process itself: in the same way that cooking recipes vary in complexity, elegance and the taste of the final result, algorithms also vary in complexity, elegance, and the aesthetic and performative characteristics of the resulting design solution. 

While some recipes are invented from scratch, most are modifications of and variations on older recipes. The same applies in parametric design. The Internet is teeming with open­ source algorithms that are offered for others to learn from, modify and expand. Beware, however, of the microwave variety: algorithms and definitions that are pre-packaged such that you cannot investigate and modify them. These types of algorithms are not always clear and readable, and this is where a book such as this becomes useful. The elegance, modularity and readability of an algorithm usually have a direct relationship to its ability not only to produce elegant design solutions, but also to be understood and modified by others.

The good news, however, is that most designers wishing to use parametric techniques usually need to solve a relatively small and well-bounded design problem (unlike software developers, who create large and complex software products). For example, they might need to create a parametric building facade or a  roof structure. They might need to mimic a natural phenomenon to create a design concept for their project. Algorithmic thinking allows designers to rationalize, control, iterate, analyze, and search for alternatives within a defined solution space. In the next section, we will explore the basics of algorithms. This brief introduction cannot replace a full discussion of algorithms and the inner workings of computer programming languages. For that information, there is a plethora of books on programming, online resources and university courses that are dedicated to this topic.

Overall Structure

A traditional scripting environment is usually text- based. It provides an empty file to write out algorithms (steps) to perform a variety of operations. You type in the algorithm using very precise syntax. Any omissions, even something as small as a parenthesis or a semi-colon, can cause errors. The help files will instruct you in the syntax and peculiarities of the computer language you choose (e.g. C, C++, Java, Python or MAXScript). All computer languages will allow you to insert comments that are not interpreted as computer instructions. Comments are usually enclosed by the notation/* and */ (/* this is a comment*/) or, for single lines, by the characters — (– this is a comment).

Each language will have its own syntax for how to indicate that something is a comment. Comments allow you to explain to yourself and others what the code is doing at that point. I made the difficult decision to remove the comments in some of the provided code examples due to space limitations, but also because the code is explained in the main text of the book. Your code, however, should always be clearly documented with comments within the code itself. Computer languages differ 10 their readability and some lines of code may look very cryptic, so comments can explain what is going on. nee complete, the scripting environment will provide you With a menu item or button to execute the script.

in general

When a script is executed, it is interpreted by a computer interpreter or compiler in order to produce machine code that runs and does all the things you have asked it to do (e.g. display buttons and checkboxes, accept user input, create and draw geometries). If the interpreter encounters an error, it usually will report that to the user and stop the interpretation process. Robust computing environments also give you debugging environments that allow you to pause and examine the code as it is running in order to find errors. A script is usually made of standard parts: a declaration of what the script is and does, variables (think of variables as storage units to store information), functions (specialized and self-contained algorithms that accept input, act on it and produce output) and interfaces (declarations of what buttons, sliders and checkboxes to display and how to react to them).

In more modem scripting environments the shift has been to what is called object-oriented programming (OOP). In OOP systems, instead of variables and functions you declare full objects that store in themselves their own variables and functions (called methods). For example, you can declare a door object that knows its own dimensions and what material it is made of. You can ask it to open and close itself using its publically declared methods and even enquire of it whether it is closed or open. In addition, objects that are similar are placed in families or classes, which share overall characteristics that can be inherited and, if needed, customized, by the individual object. This method of writing scripts has proven to be very powerful, elegant, modular and capable of being generalized.

Data types and variables

As we said above, a variable is a storage unit in which to place a value. When we store that value in a variable, we can recall it later in the code by using the name of the variable. The script will remember what we stored in it earlier. You can also change its value at any time. When writing scripts, we will need to store different types of information: numbers, words, lists of things, circles, rectangles, etc. Thus computer languages allow you to specify what type a variable is when you declare it. Different languages use different code words for specifying a variable’s type, so you need to consult the user manual to find out what code word to use. The most common types of variable are:


  • a whole number that does not have a decimal point. This is useful for counting objects.

Float (or real)

  • a number that does have a decimal point. This is useful for measuring things.

String (or characters)

  • a string of characters (e.g. words, sentences). This is useful for storing, manipulating and displaying textual information.

Array (or list)

  • a special container that stores many variables and items. An array can be examined for how many Items it has, what item exists in a certain row location, etc.


  • this is a special number that can have one of two values: true or false. This is useful to do logic operations, as we will see below.


  • think of a pointer as an address of something else. For example, If you create a box or a circle you can store a pointer to these objects in variables (e.g. b = box(), c = circle()). You can then access the attributes of the box and the circle by using the variables band c respectively.

There are many other types of variable, as well as larger structures and objects that you may encounter, such as queues, stacks and sets, but the variables above are the most commonly used for storing and manipulating information.

Filtering via Boolean T F function
Filtering via Boolean T F function


In programming languages, an expression is a contiguous series of tokens, variable, and constants that specifies how a value is to be computed. For example, if I stored the value 4 in a variable called n then the expression 2+n will return 6 and the expression 2(n+1) would return 10. In this book, you will encounter code that may look unintuitive, such as a = a + 1. That does not mean that a is equal to itself plus 1 (which is impossible), but that the interpreter should add 1 to a and then store the result back in a itself. This is very useful for counting numbers.

Logic and control

As we said earlier, algorithmic thinking is mainly about logic. When we use logic, we need to be able to assess a situation and, based on the presented conditions, choose from a menu of available decisions. ln order for this to happen, the programming language needs to allow us to do two things: first, compare values

to one another and report back the result (which we call the predicate) and, second, execute one of several groups of code based on these results. In order to compare values, computer languages allow you to use notation for equality(==), inequality (≠or!=), greater than(>), less than(<), the logical opposite (not(n) or !(n)), and the Boolean set operations (and(), or()) that test whether both values are true, if at least one or the other is true, and so on. Notice that for testing equality we use two equal signs(==) in order to differentiate it from the assignment operation as discussed in the previous section. If you make a mistake and use one

equal sign in a predicate, then the variable will be assigned the value and a true result would be returned regardless. This can lead to serious errors in the script.

Making a decision based on a predicate is usually done through what is called an if-then or an if-then­ else statement. That is, if (something is true, do this, else (i.e. otherwise) do that. Here is an example:

1          if [n<4] Than

2          [

3          do something here

4          ]

5          else

6          [

7          do something else here

8          ]


In order to keep the code manageable and readable, we often need to combine several coding steps in one group. If you find yourself repeating the same code multiple times, that is an indication that you should write it once as a function and call it on demand as many times as you need. A function is assigned a name, accepts input in the form of function arguments, and produces a result via return values as well as by storing values in global variables. For example, imagine that you repeatedly need to write a function. Function that squares a number, adds another number to it and returns the result. You could write a function that you would give a name to such as squareAndAdd and define it as such:

1              fn squareAndAdd x y =

2           [

3            return [x*x] + y

4          ]

Once the function is defined, we can call it and assign the result to a variable by writing z = squareAndAdd x y. The function would then take the value x and multiply it by itself, then add y to it and return a value that would then be stored in z. Jn MAXScript a function is defined using the built-in word fn. The actual syntax varies from one programming language to another. However, the basic principle holds true: you can encapsulate any number of steps in one function, which can then be called with input arguments and evaluated for return values.

Iteration and recursion

In many situations, we would need to repeat the same block of code many times. Programming languages provide special notation for iteration usually called for loops or while loops. Imagine, for example, creating a row of squares. Each square Is drawn with the same code but given a different location. In such a case, we can combine a for loop with the notation to increment the location variable. For example:

1          n=4

2          for i =1 to n by 1 do

3          [

4          draw a square i=10

5          ]

The above code would iterate the variable i from 1 to 4 and execute the code that exists between (and) four times – each time with the value of i automatically increased by I. The imaginary function draw A Square. Would then draw a square at a location that is 10 multiplied by i (i.e. 10, 20, 30 and 40). Much as the moon orbits around the earth while the earth orbits around the sun. You can nest for loops inside one another to create multi-dimensional solutions.

Recursion is a special case of repetition and function calling where a function calls itself for the next iteration. Recurrence can be difficult to grasp; it is somewhat akin to placing two mirrors opposite each other and creating a theoretically infinite number of reflections. Recursion, as you will see later in this book, is essential for fractal geometry and branching.

Objects, classes, attributes and methods

As mentioned above, modern scripting environments are object-oriented. They encapsulate attributes and methods in larger structures that are called objects. Objects that share similar features are grouped in classes. Rather than storing an attribute or a method in each object. These can be stored in the higher-level class and inherited by the member of the class when needed. Consider, for example, the MAXScript object box. Assume you have asked MAXScript to create a box. In addition you stored a pointer to that box in a variable called b. We can then ask b for its width and height by evaluating the expression b.width and b.height. This dot notation allows us access to the pre-defined attributes of an object.

We can use the same dot notation to change the value the attribute (e.g. b.width10). Some objects also have methods associated with them, and these methods can be inherited. For example, in MAXScript, all objects belong to a class called node. A node knows how to move itself. So you could ask a box named b to move itself 10 units in the x direction, 5 units in the y direction and 20 units in the z direction. By issuing the command move b [10,5,20]. You could issue the same command to cylinders and spheres because they too belong to the node class of object.

Events and callback functions

A modem scripting environment that has a graphical user interface usually gives you the ability, in your own code, to react to user events. Further more actions (e.g. the user has clicked a button or changed a value in the interface). In order to respond to these events, the scripting environment asks you to define a function that is given a pre-defined name. This is called a callback function because it gets called back from the system into your own code. For example, if you have defined a button called generate. MAXScript allows you to react to the event of the button having been pressed, using the following syntax:

1           On generate_button pressed do

2          [

3                generate the geometry

4          ]

This function, in your own code, would only be called and executed if the user presses the generate button.

As mentioned earlier, this chapter covers only the basics of algorithmic concepts at the simplest level. In no way does it substitute for a full study of programming languages, syntax, object-oriented methodology. Also the capabilities of the particular scripting environment. However, if pressed for time, you now know enough to read and understand the tutorials discussed in the next chapter.

| ref. Parametric Design for Architecture – Wassim Jabi |
Go ahead with this link to see Dynamo possibilities for Automated RC Detailing

Dynamo Scripts for Structure

MSc Bartlomiej Jakub Kuczynski © 2023