Below are Blender's built-in Beam Builder default shapes, which has beam profiles of O,U,C,L,I and T beams. You can adjust the taper (visible in the 2nd I beam) and it also allows control of beam height, width, depth, thickness.
This is a structural steel I-beam that is very accurate in shape to a vintage specification (although I've scaled it up in this shot for the lighting experiment I'm also doing in this rendering) which shows that Blender can be used to make accurate representations of almost anything. All of the elements are procedurally generated (no outside images or UV maps.)
2 core double corner concrete block (using a Lowe's-like block spec.) procedurally generated only, with 20 samples for the render in Cycles. The nodes for the block were: Diffuse BSDF with a roughness of 1 into the Surface input on the Material Output node, and then a Musgrave Texture into the Displacement (on the Material Output) using "Hetero Terrain" with a Scale of 250, Detail of 20, Dimension of .001, Laculinarity of 2, Offset 0, and Gain 1.
So, taking the 1 cement block, and using ONLY the array modifier, the row on the bottom right and the stepped row can be created. You could also just duplicate the bottom arrayed row and offset it manually (without the array modifier for stacking, just for each level). The fill mortar/cement is only a single plane offset from the face of the wall, and using the same material.
The above visually demonstrates the default variables in Blender's Wall Factory, where you can create rapid visualizations of stone or rough textured or smooth concrete block walls. The Wall Factory can also be useful for quickly creating assets/visualizations of stone churches, tunnels, pathways and other somewhat complex multi-stone/block objects. In this example I've included all of the main variables. All you have to do is click the pull-down menu Add, Mesh, Extras, Wall Factory and the first mesh section appears. Individual sections with the same settings will all fit together end to end. Variables you can change include Wall Size, Edging, Block Sizing, Grout Thickness, Grout Depth, Openings (width, height, depth, bevel, where in the wall it appears), repeat windows, slots, crenels, shelf, and steps. Grout was left out on purpose. The Wall Shape section includes Radial (the circular stone road center) and Curved (the walls of the domed building. The dome automatically is created just by clicking both the Curved and Radial buttons (and you can adjust the stone sizes there too, as I've done in this example.)