Best practice for reusable, adjustable 2D block object elements?

I want to make designs that will be cut out of plywood.
an oversimplified shape looks like this:


a more realistic design looks like this:

What would be the easiest way to design this in a way that we can easily adjust the joints and the tabs to adapt for a varying material thickness for example if the plywood that is delivered is not 18mm like expected but 19mm. is there an easy way so we just need to change one joint and all the others are updated also?

Making this whole shape in Grasshopper may be a little hard for me. or is there a way so I could make it in 2D first and adjusting the joints in grasshopper only. (just thinking out loud)

I’m open to all your suggestions on how I could do this efficiently.

Thanks a lot!
AtFAB_TB_a_110901.dxf (320.0 KB)
AtFAB_TB_b_110901.dxf (258.0 KB)