How to automatically place storage racks inside a room boundary and calculate the quantity in BricsC

juliette1699
edited January 22 in BricsCAD BIM



Hi everyone,
I’m currently working on a warehouse layout in BricsCAD, and I’d like to ask for advice on automating rack placement.

The requirement is to automatically place storage racks (Blocks) inside a room boundary (closed polyline) and automatically calculate how many racks can fit.

What I have tried

1. ARRAYRECT (Rectangular Array)

  • The array direction cannot adapt to the room’s boundary
  • Many racks extend outside the room
  • Counting array items afterward is not very smooth

2. Blockify for counting

  • The results are not ideal for this workflow

These methods don’t solve the problem of “automatically filling a boundary with racks”.

What I’m considering

I'm wondering whether BricsCAD’s Parametric tools could help by defining:

  • rack spacing
  • minimum clearance from walls
  • forklift aisle widths
  • automatic adjustment according to room geometry
  • automatic calculation of total racks

I’m also curious whether there are any third-party BricsCAD plugins that support:

  • warehouse layout automation
  • rules-based placement
  • pallet/rack quantity optimization
Example Data (for clarity)

Here is a simple example that illustrates the type of layout rules needed:

■ Aisle Widths

  • Rack area aisle (Nestainer area): 3m (forklift lane)
  • Central main aisle: 6m

■ Rack (Nestainer) Dimensions

  • External size: 1350 mm × 1200 mm × 1550 mm (L × W × H)

Based on these values, I would like BricsCAD to automatically:

  • arrange racks within the boundary of the room
  • maintain wall clearance
  • maintain spacing between racks
  • reserve required aisles (3m and 6m)
  • calculate the number of racks
  • and adjust orientation depending on the room shape

Ideally, it would update parametrically.

My questions to the community:
  1. Is there a built-in method to array blocks inside a boundary and automatically compute the quantity?
  2. Is Parametric modeling a suitable approach for this warehouse layout scenario?
  3. Are there recommended third-party BricsCAD plugins for warehouse layout and rack optimization?
  4. If LISP is the way to go, what would be the recommended approach or examples?

Thank you very much for any suggestions or insights!

Comments

  • Only because you mention Lisp, I asked AI about the possibility of using Python, Cad-PyRx and Google’s OR-TOOLS Constraint Solver.

    Here’s the response: Using Cad-PyRx inside BricsCAD opens up the entire Python ecosystem, making it possible to use advanced optimization libraries that simple LISP cannot match.

    While Google's OR-Tools is the gold standard for complex optimization, it might be "overkill" unless you have high-level constraints (like weight distribution or pick-pathing). For "fitting the most racks in a room," 2D Bin Packing libraries are often more direct.

    Here is a breakdown of how you can use Python via PyRx to solve this.

    1. Recommended Python Libraries

    Google OR-Tools (Constraint Programming)

    … I attached the rest.

    In short, rolling one yourself would be quite difficult. As with most NP-Hard problems like TSP or Bin Packing, human intuition is actually pretty close to optimal if this is a one off, just draw it https://en.wikipedia.org/wiki/Travelling_salesman_problem#Human_and_animal_performance

  • ALANH
    edited January 23

    Just a quick maybe answer you can use array to place the racks in some form of pattern. One way around the problem of edges was to use say Extrim to remove any objects that are touched or outside of a pline. So only the inners are retained. The control pline would be something you set. But it would use the offsets that you hinted at like forklift path. Ok the secret you over populate the racks that is where extrim comes in for say a non square warehouse. The quantity is actually the easy part as racks are blocks, and can be found in individual areas.

    If you provide a sample dwg just need a rectang block 1350x1200 for testing, the dwg should match a real warehouse shape and show the arrangement of racks within areas of the warehouse, show forklift width offset width from edges etc. So a before floor plan and a after result.

    It may not be a one go solution but still much faster than array and erase.

    Oh yeah a lisp answer.

  • Note, there’s attached drawing, with a forklift already

  • I've seen 3rd party apps for car park design, which is a similar problem to yours.

  • Yep, I was thinking a sheet optimizer like cabinet shops use. use graining for bin orientation, use the blade thickness for the forklift isle.

  • ALANH
    edited January 24

    Missed the dwg attached, thanks, so had a look a couple of ideas, if you look at the racks for me the patterns, in 3d view

    top left 1,1,1

    right 2,2,1

    bottom 1,1,2+,1,1

    The numbers meaning a single row, a dbl row, a 2+ dbl row with a gap. then see if they fit within the boundary area.

    Will have a think about it. playing with dwg made a rectang that could be arrayed/copied it matches the 1350x1200. But its not 3D. Maybe start with pick 1st corner top left pick 2nd point for distance and angle. Can then draw what fits within correctly for that distance.

    Ok so start points need to be in some areas offset to allow for structural components, ie a dummy line. The red pline is the rack.

    So before I go further and add more columns of racks is that ok juliette ?