How can I create dynamic brick/tile-like geometry? I want to create something like this:



The key requirements are:


Must be actual geometry. I'm going to be 3d printing this, so I don't think using materials will help me here.
Would like to be able to adjust the width of the gap/grout
Would like to be able to control the number of/density of bricks to some degree
Bonus points: would love to be able to add a bit of noise/random rotation to the bricks as a last step


So far what I've been doing is slicing up planes with the knife tool, insetting the faces, extruding them, and then using a boolean to cut them all into individual bricks. But the manual slicing is tedious (especially if I want to make 100 different versions of this), and I can't really go back and modify any of the parameters after I'm done. Again, I will be 3D printing this... so I'd like to be able to create the mesh, print it, check for printing problems, and then go back and tune/adjust the mesh easily.
The Wall Factory is a step in the right direction, and it's already included in blender.

To activate, go to User Preferences (Ctrl + Alt + U). Then go to the Add-ons tab and enable Add Mesh: Extra Objects.

To add a new wall, press Shift + A and then go to Mesh > Extras > Wall Factory





However, it doesn't look like I can go back and modify things like brick size or grout width after I've created the wall.