UDPRIM train2 Body
       purpose:
           serve as a template for creation of new UDFs
           as an example, modifies attributes on the input Body
       input Bodys:
           one SolidBody, SheetBody, or WireBody
       input arguments (specified as name/value pairs):
           filename    name of file with directives
       output arguments:
           nskip       number of skipped directives
       usage notes:
           the directives are in the form:
               FACE attrName            (deletes    attrName on Faces)
               FACE attrName attrValue  (overwrites attrName on Faces)
               EDGE attrName            (deletes    attrName on Edges)
               EDGE attrName attrValue  (overwrites attrName on Edges)
               NODE attrName            (deletes    attrName on Nodes)
               NODE attrName attrValue  (overwrites attrName on Nodes)

               # signifies a comment (can be used anywhere)
               @ inserts Face, Edge, or Node number into attrValue
               the directive can either be in UPPERACE or lowercase
               error messages are printed, but otherwise ignored
               
           analytic sensitivities are not supported
       contributed by:
           John Dannenhoffer john@geocentrictech.com
