In GDL, all the geometric elements are linked strictly to the local coordinate system which is a right-handed coordinate system.
The bounding box of any scripted object is located in the “positive” octave of the coordinate space, and its extension is based on the parameter values “A”, “B”, and “ZZYZX”. In some cases, the visibility of the object in 3D based views is highly depending on the location of the bounding box: the model itself should be contained within the bounding box:
For example, one corner of a block is in the origin and its sides are in the x-y, x-z and y-z planes.
Placing a geometric element in the desired position requires two steps. First, move the coordinate system to the desired position.
Second, generate the element. Every movement, rotation or stretching of the coordinate system along or around an axis is called a transformation.
Transformations are stored in a stack; interpretation starts from the last one backwards.
Scripts inherit this stack; they can insert new elements onto it but can only delete the locally defined ones.
It is possible to delete one, more or all of the transformations defined in the current script.
After returning from a script, the locally defined transformations are removed from the stack.