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.)
THIS IS A SKETCHUP MODEL (BY OTHERS) THAT I'VE CONVERTED TO A BLENDER FILE USING THE BLENDER IMPORTER WHICH WAS MADE FOR VERSION 2.79B, I DON'T KNOW IF THESE CONVERSIONS CAN BE DONE ANY LONGER DIRECTLY FROM .SKP FORMAT. IF YOU ARE USING SKETCHUP I WOULD RECOMMEND EXPORTING YOUR SAVED FILES TO COLLADA .DAE SO THAT BLENDER CAN IMPORT THEM, OR USING THE .DAE VERSION FROM THE SKETCHUP 3D WAREHOUSE.
Detailed rendering experiment in Blender 3D software (v. 2.79b) from a Sketchup model. - This Metal Coping Detail is from a Sketchup model (free on 3D Warehouse), originally modeled by the International Masonry Institute. For the most part it imported well. 1 top cement block wouldn't appear in the rendered view, so I just took a different lower block and re-sized it in Blender (I don't have Sketchup). I also substituted the procedurally generated galvanized steel material in Blender and applied it to several of the metal surfaces in the scene. The only other issue I could see was that one of the small wood ends on the diagonal piece doesn't seem to map the original texture the same way as the one shown on the website (and it wouldn't re-map for me either), I show it (without replacing it) on purpose to show what happened on import. Otherwise I was surprised at how well the original materials looked in Blender after import (having sometimes had some issues with other imports in the past.) That person made a beautiful detail model!