Previously, I did a quick and dirty scaling study on how long it takes to make a 3D cube of octet truss unit cells in BRLCAD. I posted some questions about the results to the list and got some good recommendations on speeding things up. The approach I used previously was just unioning a big, flat list of primitives. The main recomendation to get speed-up was to introduce a bit of spatial organization in the way the primitives are grouped. I did this by making each unit cell a region, and then making an assembly combination of the unit cells. This is only two levels of hierarchy, so ultimately the scaling is still quadratic. The speed-up is pretty dramatic though. To get the \( N log(N) \) scaling mentioned on the email list would require an octree structure with an adaptive number of subdivision levels. Here's a plot showing the improved time scaling: