The model was done in FreeCAD. It is a bit buggy a rather limited. But I'm not a student so getting a good commercial CAD is too expensive (the options I like cost about $7000 which is too much for me).
http://geekhack.org/index.php?topic=58104.msg1422317#msg1422317The other free option is OpenSCAD. Looks like OldDataHands uses it for his project.
Modelling curves: I'm not sure what you are asking about. It is rather obvious. The keywell switch sockets were built with a python script:
* build one switch socket
* to build the next switch socket, I defined angle and change from one socket to the next one,
* fused the switch sockets to one column,
* defined position and angle changes between columns
* fused columns to keywell
* draw the rest with the standard FreeCAD tools (no scripting)
I'm sure somebody announced an intention to make a program which would generate the whole keyboard from some definition of the switch locations. If he/she does it, maybe it will be reported somewhere on geekhack.
Just play with some CAD and you will quickly figure out how to use it. It is not a rocket science. Then you will have a keyboard which suits you best

If you can get a commercial CAD for a reasonable price (or do not mind to pay the full price) then get one and just use it. It is not hard to model a keybaord case with good tools.