The dimensions and tolerances for Cherry MX switches are in this document:
http://switches-sensors.zf.com/wp-content/uploads/2012/07/Keymodule_MX_EN.pdfKeyboard layouts are laid out in "key units" without any space in-between them. Key sizes are incremented in multiples of 0.25 units.
A standard "key unit" is 3/4" × 3/4" square (19.05 × 19.05 mm). Do not deviate from this value unless you know exactly what you are doing, or you will get tolerance issues!
There is some variation between keycap types, but I would approximate about 1 mm space between each keycap — each keycap being about 1 mm narrower than its width in units. Therefore add also 1/2 mm additional spacing around each group of keys (measured in key units)..
The height from the plate to the bottom of a keycap is around 6-7 mm: this varies also a little bit between keycap sets. I try to use 7.0 mm.
I would base the layout on the sizes of the keycaps available from the set you intend to use. Do get acquainted with them.
For Cherry MX, keys 2u, 2.25u and 2.5u wide all use stabilisers for 2u. Space bars tend to use stabiliser mounts that are
width-1 key units apart (unless the "space bar" is actually a Shift key or keypad-0 key).
A great resource is
Keyboard Layout Editor.
There are also several web sites out there that take "Raw data" from Keyboard Layout Editor to produce a file for producing a switch mounting-plate for that layout.
I hope this helps to get you started.
Further reading: Check the
Making Stuff Togetther! subforum, and especially the
Super Awesome Tools and Resources Made By Users! thread.