The cgx has pre- and post-processor capabilities. It is able to generate and display beam, shell and brick elements in its linear and quadratic form (fig. 1), tets can be generated from within cgx if NETGEN  is installed and the program ng_vol (part of NETGEN) is accessible (see also ''How to deal with cad-geometry'').
The built-in mesher creates a structured mesh based on a description of the geometry. For example, it uses lines for beam elements, surfaces for shell elements and volumes (bodies) for brick elements. The program distinguishes between the mesh and the underlying geometry. Elements are made from faces and faces are made from nodes. If you move a node, the corresponding face(s) and element(s) will follow. The geometry behaves according to the mesh: Lines are made from points, surfaces are made from lines and bodies are made of surfaces. Surfaces might have 3 to 5 edges and bodies might have 5 to 7 surfaces. As a result, if you modify the position of a point, all related geometry will follow. In other words, if the location of geometric entities is changed, it is necessary to move the points on which the entities rely. It should be noted that faces exist only on free surfaces of the model.
In addition, entities can be grouped together to make sets. Sets are useful to handle parts of a model. For example, sets can be used to manipulate or display a few entities at a time (see also ''How to define a set of entities'').
A simple but powerful entity which can store values (character strings) is also available. This values can be derived from previous commands or calculated results by using an internal stack. Simple calculations can be performed. The values can be used to substitute parameters of subsequent commands. The user might measure a distance or calculate a distance and use this value to move a part of the mesh. Together with a 'while' loop, an 'if' case distinguishing command and the possibility to use system calls via the 'sys' command, elaborated batch files can be written.
After a mesh is created in cgx, it needs written to a file for use with the solver. Likewise, several boundary conditions and loads can be written to files (see also ''How to connect independent meshes'', ''How to define loads and constraints'' and ''send''). These files need to be added into the control file for later use in ccx. Additional commands, material description and so on must be added with the help of an external editor.
After the analysis is completed, the results can be visualized by calling the cgx program again in an independent session. The program is primary controlled by the keyboard with individual commands for each function. Only a subset of commands which are most important for post-processing is also available through a pop-up menu. Shaded animations of static and dynamic results, the common color plots and time history plots can be created. Also, a cut through the model can be done which creates a section and it is possible to zoom through the model.
Skilled users might include their own functions. For example someone may need his own functions to manipulate the result-data or he may need an interface to read or write his own results format (see also ''call'').
Both the pre- and post- processing can be automated in batch-mode (see also ''How to run cgx in batch mode'').
The program searches the home directoy for a file named ``.cgx''. The commands written there will be exected during startup. The user might store there ''menu'' commands which link user written command files to the menu.