'body' <name(char<9)>|'!' [<surf1> <surf2>]|
                [<surf1> <surf2> <surf3> <surf4> ->
                <surf5> [<surf6>  <surf6>]]|
This keyword is used to define or redefine a volume (body). Each body must have five, six or seven surfaces to be mesh-able with hexaeder-elements, otherwise it can only meshed with tets if NETGEN [4] is installed. However, it is sufficient to specify just the ”top” and the ”bottom” surfaces. But if surfaces with 3 or 5 edges are involved then this surfaces have to be the ”top” and ”bottom” surfaces. This is also true if surfaces have different line-divisions at opposite edges. The missing surfaces between the ”top” and ”bottom” surfaces will be created automatically if they do not already exist (they will always have 4 edges with the same division on opposide edges). But all needed lines must exist. More precisely, only single lines or existing combined lines (lcmb) can be detected. The user must define the missing surface if just a chain of lines (and no lcmb) is defined between two corner points of the ”top” and ”bottom” surfaces before he can successfully use the body command. It is a more convenient way to define a body than the command “gbod” but exactly 2 or all surfaces must be specified otherwise the body will not be created (The most convenient way to define bodies is to use the command “qbod”). For example,

body b1 s1 s2

will look for the missing surfaces and if necessary create them if all lines between the corner points of s1 and s2 are defined; the result is the creation of body, b1. Or for example,

body ! s1 s2 s3 s4 s5

will create a body and a new name for it. The new name is triggered by the sign !. Here the body is based on 5 surfaces. If the surfaces are not connected, the body is not mesh-able.

In case a body should only be meshable with tets it can be composed of more than 7 surfaces. The definition can be provided by a set of surfaces:

body ! surfset

will create a body based on the surfaces referenced by surfset.