To start, have a volumetric model of the block. Because of the way I drew this one, and because I drew it in Rhino, I have elevations already arranged like so:
Draw all door and window opes as closed polylines.
Select the window and doors to be used - I've only selected a couple for this demonstration.
Rotate, using the "Rotate3D" command. First define the axis of rotation in three dimensions by clicking points on the line at the base.
And move into position.
Use the "ExtrudeCrv" command. Snap to a point 500 mm beyond the surface of the block.
And, use the "Cap" command to fill in the remaining surfaces and make them solids.
And, use "BooleanDifference" to impress the windows on the volume. First select the volume to subtract from, and secondly select the extruded window volumes, press "return" or "space" to confirm and all going well, you will get a result as above.
Use the "ShowEdges" command to check for watertightness, and if there are "No Naked Edges" after all windows and doors are added you may be ready to print!