I am attempting to nest old bricks from demolition sites into a structurally stable wall, and in the past, I attempted to do it using differential evolution optimizing for lowest z-value within 3-dimensional bounds. It left a lot to be desired. It took hours to run, and it would optimize the structure sequentially, testing each brick and moving on to the next.
I think using open-nest would allow a tighter packing. What algorithm does open-nest use, and how would you personally approach a problem like this? Does it work sequentially, or does it analyze the set as a whole?
Currently, open nest rotates the bricks around. Is there any way to avoid that?
Reminds me of a neighbor arranging irregular stones to make a patio area on his lawn - all flat, not a wall. In that case, rotations were fine, the goal was to minimize all gaps.
Did you try do write any simple method yourself? I am wondering if you really need to capture irregularity of object, or they can be square bricks? I guess also overlapping pattern is important too.
The packing algorithms, while they look similar, they are not designed for that. It is mostly packing from largest to smallest object to minimize are.
But if you would do this completely by hand, what would be the rules?
Hello @leopoldomonzani, I did look at that, not sure why it’s not working with 1 or 2 set for the rotation. Maybe because the curves have curvature, or maybe because the code is old (I can’t get the latest to install).
@Petras_Vestartas, regarding simple methods… I have not. I wrote what I thought was a complex method using differential evolution to optimize for the lowest Z value of each brick, but since it works sequentially, and not on all the bricks at once, it is very limiting.
The irregularity of the object must be captured I think because of all the different sizes of them. I think abstracting it to a 2D shape is the key to success, however, since most of them are roughly consistent in 2D.
If we were to discuss rules, @Volker_Rakow, I agree that minimizing the amount of mortar used is key. The other rule is gravity-- we have to face the fact that we need some force in the Z direction driving the optimization downward. What do you mean by horizontal overlaps?
I keep thinking that this is an opportunity to generate a new aesthetic, instead of just recreating the original flemish bond-brick patterns, like Alvar Aalto with bricks of different sizes:
I mean the horizontal overlap of one brick layer over another.
While there are different kinds of bonds, each make a point of maximizing horizontal overlap of the bricks; or perhaps, better said, of minimizing joint overlap. This has the stuctural reason of preventing zig-zag crack formation across walls. If you were to superimpose the alternating courses of bricks below:
you would see that nowhere do joints lie linearly over each other. They only cross at points. This is harder to do with irregular stones, which is why you try to find the flattest stones possible, popularly slate which can be cleaved off in sheets. So this:
is a no-no. Why you don’t you break your stones down to their standard unit size before repurposing anyhow? Seems a bit silly for bricks and not stones.