Software technologies
Originally software for CAD systems were developed with computer language such as Fortran, but with the advancement of object-oriented programming methods this has radically changed. The development of a typical modern parametric feature based modeler and freeform surface systems are built around a number of key, C programming language, modules with their own APIs. A CAD system can be seen as built up from the interaction a graphical user interface (GUI) with NURBS geometry and/or boundary representation (B-rep) data via a geometric modeling kernel.