Hello!

I would like to kindly ask for your help with automatization of wall reinfrocement made in grasshopper and linked to tekla. Let me shortly describe what I would like to achive.

I have a concrete wall in tekla made as a panel together with few openings made as polygon cutouts.

This is just an example- there could be less/more openings with different size.

I would like to crate automatic reinforcement that will adjust when location or size of the openings will change. Reinforcement must be placed as “Equal distribution by target spacing value” since this value is shown on the drawing.

I need to create some reinforcement around openings like on the screen but I already figure it that I need to get children from main part then find points and finaly create reinforcement.

From this point I have no idea how to handle rest of horizontal and vertical reinforcement. My idea is to consider it as 2 separate aspects.

Vertical reinforcement:

Since I already have some vertical bars from the openings I would like to use them and divide wall to some “zones” where I will put rebar groups. To find vertical boundaries I will just find all X points of openings and sort them. However, I am not sure how to place 2 separate rebar groups for example in zone 4 and 5 or 7 and 8.

Horizontal reinforcement:

Assuming that vertical reinfrocement will be solved I am facing a problem how to handle horizontal reinforcement. Basic assumption is that I am placing horizontal reinforcement from bottom to top with equal spacing and then I would like to divide it somehow considering openings. In fact wall should be divided in another “zones”- horizontal this time. Unfortunatelly, I have no idea how to handle that because I would have to crate seperate bar groups with traget spacing value. I know that I can calculate exact spacing and then theoreticaly maneuver with insertion point at Z axis, however I do not know hot to handle zones where bars are for example between windows only.

After that there are some other challanges I need to face but first of all I would like to focus to solv this issue.

I would appreciate every single comment and help to solve this puzzle. Maybe my approach is totaly wrong and it can be done in different way!