################################################################################
<functions>

"circle_arconcircleangles"
function  : Create a circle arc with start angle and end angle;
            for compatibility only !!!
parameter : length, styletype_rec, withaxes, counter, circle, angle, angle
result    : circle

"color"
function  : Give a color to an object
parameter : object, colortype
            colortype: integer in the range (-64, 64)
result    : -

"color_layer"
function  : Give a color to a layer
parameter : layer, Basic_color
result    : -

"draw_line"
function  : For UDA with AQL
            draw a line in a viewport of type d2_viewport 
parameter : draw_line ( vp, x1, y1, x2, y2 )
                        vp      ... Bea_viewport_window
                        (x1,y1) ... Pos1 (real,real)
                        (x2,y2) ... Pos2 (real,real)
result    : -

"draw_circle"
function   : For UDA with AQL.
             Draw a circle in a viewport of type d2_viewport
parameter  : draw_circle (vp, x1, y1, r, fill)
                          vp      ... Bea_viewport_window
                          (x1,y1) ... Pos1 (real,real)
                          r       ... radius (real)
                          fill    ... boolean
result    : -

"draw_rectangle"
function   : For UDA with AQL.
             Draw a rectangle in a viewport of type 'd2_viewport'
parameter  : draw_rectangle (vp, x1, y1, width, height, fill)
                             vp      ... Bea_viewport_window
                             (x1,y1) ... Pos1 (real,real)
                             width   ... real
                             height  ... real
                             fill    ... boolean
result    : -

"drawing_attributes"
function  : For UDA with AQL
            Set drawing attributes
            drawing_attributes ( vp, color, styletype, erase, reason )
                                 vp        ... Bea_viewport_window
                                 color     ... Basic_color
                                 spec      ... styletype_rec
                                 erase     ... boolean
                                 reason    ... bea_reason
result    : -

"drawing_drawconstruction"
function  : For compatibility only !!!
parameter : drawbooltype [, view]
result    : -

"drawing_point_or_slash"
function  : For compatibility only !!!
parameter : string
result    : -

"drawing_raster"
function  : Draw raster points;
            for compatibility only !!!
parameter : boolean, boolean, world, dreal
result    : -

"inrect_co_table"
function  : Coordinate table;
            for compatibility only !!!
parameter : world, point, integer, select_rect
result    : measure

"inrect_copy"
function  : Copy selected objects;
            for compatibility only !!!
parameter : integer, vector, select_rect
result    : copied objects

"inrect_cut"
function  : Redefine selected objects as simple definition type;
            for compatibility only !!!
parameter : world, select_rect
result    : redefined objects

"inrect_duplicatecopy"
function  : Duplicate selected objects with copy vector;
            for compatibility only !!!
parameter : integer, deleted_elem, boolean, vector, world, select_rect
result    : duplicated objects

"inrect_mirror"
function  : Mirror selected objects;
            for compatibility only !!!
parameter : line, select_rect
result    : mirrored objects

"inrect_separate"
function  : Separate selected objects;
            for compatibility only !!!
parameter : deleted_elem, world, select_rect
result    : selected objects are separated from the rest of the model

"length_distmeasl"
function  : Create a length out of measure;
            for compatibility only !!!
parameter : measure
result    : length

"logo_button"
function  : For internal use only !!!
parameter : ...
result    : ...

"measure_angle2lines"
function  : Angle defined by two lines;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord,
            shortmeasure, line, line, posmeas, doubleboolc_t
result    : measure

"measure_angle3points"
function  : Angle defined by three points;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord,
            shortmeasure, point, point, point, posmeas
result    : measure

"measure_anglesector"
function  : Angle subtended by an arc;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord,
            shortmeasure, circle, posmeas
result    : measure

"measure_arclength"
function  : Length of an arc;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord,
            shortmeasure, circle, posmeas
result    : measure
 
"measure_chain"
function  : Cumulative dimensions;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord, point,
            point, angle, point
result    : measure

"measure_diamofcircle"
function  : Dimension of diameter;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord, circle,
            angle, posmeas
result    : measure

"measure_plc1plc2"
function  : Distance between two objects;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord,
            point/line/circle, point/line/circle, posmeas, integer
result    : measure

"measure_pointpoint"
function  : Parallel distance between two points;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord, point,
            point, posmeas
result    : measure

"measure_pointpointhor"
function  : Horizontal distance between two points;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord, point,
            point, posmeas
result    : measure
     
"measure_pointpointvert"
function  : Vertical distance between two points;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord, point,
            point, posmeas
result    : measure

"measure_radiusofsect"
function  : Dimension of radius;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord,
            isshortradiusmeas, circle, posmeas
result    : measure

"measure_cotab"
function  : Coordinate table;
            for compatibility only !!!
parameter : cotabcontrol_rec, length, drawtable, world, point, integer, {
                         {point/circle popinteger posttext string coord} 
                         {point/circle popinteger posttext string coord} ...}, 
                         coord
result    : measure

"optional_digits"
function  : Set default parameters for measure
parameter : control_set
result    : -

"optional_posmeas"
function  : Change optional parameter measure distance of action 'posmeas_abovemeasue';
            for compatibility only !!!
parameter : length
result    : -

"optional_test"
function  : Change optional parameter test of action "point_intersection";
            for compatibility only !!!
parameter : testelements
result    : -

"output_savesection"
function  : Save part of model;
            for compatibility only !!!
parameter : world, select_rec, filename
result    : -

"popup_degree"
function  : Opens a form to specify the degree of a spline;
            not allowed in batch mode
parameter : initial value: integer
result    : integer

"posmeas_balx"
function  : For compatibility only !!!
parameter : length, symbol
result    : posball

"posmeas_baly"
function  : For compatibility only !!!
parameter : length, symbol
result    : posball

"posmeas_length"
function  : For compatibility only !!!
parameter : posmeas_rec
result    : posmeas

"rawval_valdummy"
function  : For compatibility only !!!
parameter : -
result    : rawval
           
"rawval_x1x2value"
function  : Specify maximum and minimum roughness;
            for compatibility only !!!
parameter : meas_string, meas_string
result    : rawval

"rawval_xvalue"
function  : Specify maximum permissable surface roughness;
            for compatibility only !!!
parameter : meas_string
result    : rawval

"read_textblock"
function  : Start the editor to edit a file;
            not allowed in batch mode
parameter : filename of the file to edit: string
result    : boolean: true if successful

"scetch_chain"
function  : For compatibility only !!!
            this function calls 'measure_relative'
parameter : point (startpoint)
            point (passing point)
            angle (angle of measure line)
            group of points (to make a measure of)
result    : measure

"scetch_online"
function  : For compatibility only !!!
            this function calls 'measure_chain'
parameter : group of points (to make a measure of)
            posmeas (measure position)
            boolean (horizontal,vertical) 
result    : measure

"scetch_parallel"
function  : For compatibility only !!!
            this function calls 'measure_relative'
parameter : point (startpoint)
            group of points (to make a measure of)
            posmeas (measure position)
            boolean (horizontal,vertical) 
result    : measure

"scetch_makecont"
function  : Create contour by tracing of existing objects;
            for compatibility only !!!
parameter : length, elem_style, size, overlap_cross,
                    {{form coord coord coord} [,{form coord coord coord}, ...]}
result    : contour

"scetch_makeplane"
function  : Create plane by tracing of existing objects;
            for compatibility only !!!
parameter : length, fill_color, fill, elem_style, size, overlap_cross,
                    {{form coord coord coord} [,{form coord coord coord}, ...]}
result    : plane

"search_point"
function  : Search a point in a group of objects within a specified tolerance epsilon.
parameter : group of objects, real x, real y, real epsilon, boolean (true=nearest,
            false= first)
result    : point object

"spline_periodic_urbs"
function  : Create closed B-spline;
            for compatibility only !!!
parameter : length, int, group of points
result    : spline object

"spline_nonper_urbs"
function  : Create open B-spline;
            for compatibility only !!!
parameter : length, int, group of points
result    : spline object

"symbol_balcopy"
function  : Make copy of symbol balloon;
            for compatibility only !!!
parameter : balloondisp, string, string, univ_ptr, symbol, point, posmeas, length
result    : object symbol

"symbol_balloon"
function  : Create symbol balloon;
            for compatibility only !!!
parameter : balloondisp, string, string, string, univ_ptr, point, posmeas, length
result    : object symbol

"symbol_comment"
function  : Create text with arrow;
            for compatibility only !!!
parameter : point, point, string, length
result    : object symbol

"symbol_cone"
function  : Create taper pitch;
            for compatibility only !!!
parameter : control_set, meas_string, posttext, string, length, coord, line, line, point
result    : object symbol

"symbol_form"
function  : Create mold and bearing tolerances (DIN ISO 1101);
            for compatibility only !!!
parameter : point, point, tolsymbolrec, string, group of strings, length
result    : object symbol

"symbol_raw"
function  : Create surface caracteristics input (DIN ISO 1302);
            for compatibility only !!!
parameter : length, rawval, meas_string, rawval, dsymb_t, dreal, meas_string,
            rawsymbol_t, point, point, angle
result    : object symbol

"symbol_reference"
function  : Create reference symbol for mold and bearing tolerances;
            for compatibility only !!!
parameter : point, point, string, length
result    : object symbol

"symbol_section"
function  : Create section line (DIN 6 part 2 and DIN 15 part 2);
            for compatibility only !!!
parameter : length, group of points, meas_string, meas_string, coord
result    : object symbol

"symbol_spanner"
function  : Create text with line and filled circle;
            for compatibility only !!!
parameter : point, point, string, length
result    : object symbol

"symbol_weld"
function  : Welding characteristics;
            for compatibility only !!!
parameter : weld_type, weld_side, {point point ...}, coord, angle, 
            {{weld_line string string string string string} 
            {weld_line string string string string string} ...}, weldfork, 
            length
result    : object symbol

"trans_from_world"
function  : Transform a coordinate (x,y) in a rotated world to (xn,yn) in a horizontal
            world so that the distances (xn,yn) are relative (horizontal) to the
            world's origin of the specified world.
            See also 'D2con_world_rec' for more details !
parameter : pin, world [, inputtype, outputtype ]
            pin:        group of values to be transformed
                        if inputtype "carthesian": { x y }
                        if inputtype "polar": { r alpha }
            world:      the world (=coordinate system) to transform from
            inputtype:  type of input coordinates: "carthesian" (default) or "polar"
            outputtype: type of output coordinates (see inputtype)
result    : AQL group of transformed values according to outputtype (see pin)

"trans_to_world"
function  : Transform a coord (x,y) to (xn,yn) into a rotated world.
            The coord (x,y) must be relative (horizontal) to the world's origin
            of the specified world.
            In consequence the distances (xn,yn) are relative (rotated) to the
            world's origin of the specified world.
            See also 'D2con_world_rec' for more details !
parameter : pin, world [, inputtype, outputtype ]
            pin:        group of values to be transformed
                        if inputtype "carthesian": { x y }
                        if inputtype "polar": { r alpha }
            world:      the world (=coordinate system) to transform to
            inputtype:  type of input coordinates: "carthesian" (default) or "polar"
            outputtype: type of output coordinates (see inputtype)
result    : AQL group of transformed values according to outputtype (see pin)

"trans_world_to_world"
function  : Transforms a coordinate (x1,y1) in a world_from to (x2,y2) in a world_to.
            The coordinates (x1,y1) and (x2,y2) are absolute local in their
            appropiate world.
            See also 'D2con_world_rec' for more details !
parameter : pin, world_from, world_to [, inputtype, outputtype ]
            pin:        group of values to be transformed
                        if inputtype "carthesian": { x y }
                        if inputtype "polar": { r alpha }
            world_from: the world (=coordinate system) to transform from
            world_to:   the world (=coordinate system) to transform to
            inputtype:  type of input coordinates: "carthesian" (default) or "polar"
            outputtype: type of output coordinates (see inputtype)
result    : AQL group of transformed values according to outputtype (see pin)

"world_from_screen"
function  : Transform screen coordinates into world coordinates.
            See also 'D2con_world_rec' for more details !
parameter : group of x and y, world object and/or view object
              world is set     : screen <-> internal coordinates (absolute)
              view  is set only: screen <-> island coordinates
result    : group of x and y (real,real)

"world_to_screen"
function  : Transform world coordinates into screen coordinates.
            See also 'D2con_world_rec' for more details !
parameter : group of x and y, world object and/or view object
              world is set     : screen <-> internal coordinates (absolute)
              view  is set only: screen <-> island coordinates
result    : group of x and y (real,real)


################################################################################
<type attributes>

"D2drw_balloonattrib_rec"
.  "refobj"
               "object"
               "referenced object"

"D2drw_balloondisp_rec"
.  "form"
               "string"
               "Representation form"
               "("bal_line", "bal_circle", "box", "invis")"
.  "pos"
               "integer"
               "0 = without / 1 = with position number"
.  "id"
               "integer"
               "0 = without / 1 = with identification number"

"D2drw_measure_rec"
.  "a"
               "real"
               "Angle of writing direction of text"
.  "angleunit"
               "string"
               ""degree", "radian", "degreedec", "degreeminsec""
.  "arrow_left"
               "boolean"
               "'true' if arrow on side of p1"
.  "arrow_right"
               "boolean"
               "'true' if arrow on side of p2"
.  "chain"
               "boolean"
               "'true' if 'measure_chain'"
.  "comment"
               "string"
               "Users remarks (behind posttext)"
.  "digitstype"
               "integer"
               "Number of decimal places"
.  "dist"
               "string"
               "The distance of the measure text"
.  "faktor"
               "real"
               "Multiplication factor for value of measure"
.  "font"
               "string"
               "Font name"
.  "geo"
               "group"
               "Geometric data:"
               "   plc1plc2, diamofcircle, chain, relative:"
               "      { ah_e1.x, ah_e1.y, ah_e2.x, ah_e2.y }"
               "   radiusofsect:"
               "      { cos(m_ang), sin(m_ang), b1 }"
               "   angle3points, anglesector, arclength, angle2lines:"
               "      { c.x, c.y, ah_e1.x, ah_e1.y, ah_e2.x, ah_e2.y,"
               "        r, b2, b1 }"
               "   cotab:"
               "      { }"
               " "
               "   ah_ex : <real>    position (x/y) of arrow end"
               "   m_ang : <real>    angle of measure"
               "   c     : <real>    centre position of measure"
               "   r     : <real>    radius of measure"
               "   b1    : <boolean> measure line start at centre"
               "   b2    : <boolean> ignore"
.  "h"
               "real"
               "Text height"
.  "half"
               "boolean"
               "'true' if half dimensioning"
.  "measbox"
               "string"
               ""underline", "upperline", "control" or "contline""
.  "measkind"
               "string"
               ""meas_nul", "meas_aux", "meas_raw", "meas_theoretical","
               ""box_control", "box_contline""
.  "meassymbol"
               "string"
               ""diam",  "square", "repet", "almost", "aux""
               ""raw", "theoretical", "control" or "contline""
.  "meastype"
               "string"
               "The type of measure (distancet, radiust, anglet, arct,"
               "                     tablet)"
.  "mtpos"
               "string"
               "Text position (text_upper, text_under, text_middle)"
.  "norm"
               "real"
               "The real dimension value"
.  "outside_text"
               "boolean"
               "'true' if text is outside"
.  "parallel"
               "boolean"
               "'true' if arc measure"
.  "posttext"
               "string"
               "Text behind dimension"
.  "pretext"
               "string"
               "Text before dimension"
.  "real_measure"
               "real"
               "Dimension text as displayed"
.  "repeat"
               "integer"
               "Repeat factor"
.  "right_half"
               "boolean"
               "'true' if 'half'=true and arrow on side of p2"
.  "tl"
               "real"
               "Half text length (sum)"
.  "translated"
               "boolean"
               "'true' if text was moved"
.  "transx"
               "real"
               "x part of translation vector"
.  "transy"
               "real"
               "y part of translation vector"
.  "unitcomment"
               "string"
               "Remarks directly behind dimension"
.  "warc"
               "integer"
               "Number of witness arcs used"
.  "world"
               "world_rec"
               "The world (=coordinate system) this object belongs to"
.  "x1"
               "real"
               "x-coordinate of first point of measure"
               "(if meastype = tablet: x-coordinate of top left)"
.  "x2"
               "real"
               "x-coordinate of second point of measure"
               "(if meastype = tablet: x-coordinate of buttom right)"
.  "y1"
               "real"
               "y-coordinate of first point of measure"
               "(if meastype = tablet: y-coordinate of top left)"
.  "y2"
               "real"
               "y-coordinate of second point of measure"
               "(if meastype = tablet: y-coordinate of buttom right)"

"D2drw_posttext_rec"
.  "down"
               "real"
               "Lower limit for tolerance if type is 'minandmax'"
.  "es"
               "string"
               "Limit for tolerance if type is 'minismax'"
.  "text"
               "string"
               "Tolerance text if type is 'fit'"
.  "typ"
               "string"
               ""nul", "minismax", "fit", "minandmax""
.  "up"
               "real"
               "Upper limit for tolerance if type is 'minandmax'"

"D2drw_control_rec"
.  "kindofmeasure"
               "integer"
               " 0 = m_distance"
               " 1 = m_radius"
               " 2 = m_diam"
               " 3 = m_angle3points"
               " 4 = m_angleline"
               " 5 = m_angle2lines"
               " 6 = m_anglearc"
               " 7 = m_lengtharc"
               " 8 = m_chain"
               " 9 = m_relative0"
               "10 = m_relative1"
               "11 = m_symbolcone"
               "12 = m_cotab"

"D2drw_cotabcontrol_rec"
.  "carth"
               "boolean"
               "'true' if column 'carthesian' is displayed"
.  "comment"
               "boolean"
               "'true' if column 'comment' is displayed"
.  "comment_width"
               "integer"
               "Width of string columns"
.  "diam"
               "boolean"
               "'true' if column 'diameter' is displayed"
.  "digits"
               "integer"
               "Number of digits after decimal point"
.  "polar"
               "boolean"
               "'true' if column 'polar' is displayed"
.  "show_zeros"
               "boolean"
               "'true' if zeroes after decimal point are displayed"
.  "tol"
               "boolean"
               "'true' if column 'tolerance' is displayed"
.  "width"
               "integer"
               "Width of real columns"

"D2drw_symbol_rec"
.  "font"
               "string"
               "Font name"
.  "isort"
               "integer"
               "As in "tolsort", but "integer" ("cone"=0 etc.)"
.  "symbol_Identification"
               "string"
               "Identification number"
               "(only in case of 'symbol_balloon' or 'symbol_balcopy')"
.  "symbol_Identification_r"
               "real"
               "Identification number"
               "(only in case of symbol_balloon or symbol_balcopy)"
.  "symbol_Position"
               "string"
               "Position number"
               "(only in case of symbol_balloon or symbol_balcopy)"
.  "symbol_Position_r"
               "real"
               "Position number"
               "(only in case of symbol_balloon or symbol_balcopy)"
.  "symbol_Quantity"
               "string"
               "Number of elements"
               "(only in case of symbol_balloon or symbol_balcopy)"
.  "symbol_Quantity_r"
               "real"
               "Number of elements"
               "(only in case of symbol_balloon or symbol_balcopy)"
.  "th"
               "real"
               "Text height"
.  "tolsort"
               "string"
               ""cone", "formplace", "reference", "comment","
               ""raw", "section", "balloon""
.  "world"
               "world_rec"
               "The world (=coordinate system) this object belongs to"
.  "xdl"
               "real"
               "x part of vector in write direction"
.  "xdt"
               "real"
               "x part of vector normal to write direction"
.  "ydl"
               "real"
               "y part of vector in write direction"
.  "ydt"
               "real"
               "y part of vector normal to write direction"
.  "form_frame"
               "group"
               "Left edge of 'symbol_form': {{lower pt},{upper pt}}"

"D2drw_text_rec"
.  "a"
               "real"
               "Text angle"
.  "block"
               "boolean"
               "'true' if text block"
.  "font"
               "string"
               "Font name"
.  "fontnr"
               "integer"
               "Font used for this text"
.  "h"
               "real"
               "Text height"
.  "hframe"
               "real"
               "Height of text frame if exists"
.  "l"
               "integer"
               "Only if not 'text_block': length = number of characters"
               "in '.s'"
.  "list"
               "group"
               "Only if 'text_block': list of all lines in the block"
               "(group of strings)"
.  "mirror"
               "string"
               "Mirror type ("mnone", "mx", "my", "mxy")"
.  "s"
               "string"
               "Only if not 'text_block': string"
.  "r"
               "integer"
               "number of displayed row's"
.  "spec"
               "styletype_rec"
               "Style type as required for creation"
.  "style"
               "integer"
               "1=solid; 2=dashed; 3=dashdotted; 4=dashdotdotted;"
               "5=dotted; 6=broken"
.  "thickness"
               "real"
               "0.18; 0.25; 0.35; 0.5; 0.7"
               "In Create mode, for compatibility only:"
               "1=thin; 2=middle; 3=thick"
.  "world"
               "world_rec"
               "The world (=coordinate system) this object belongs to"
.  "x"
               "real"
               "x-coordinate of the start position"
.  "y"
               "real"
               "y-coordinate of the start position"

#######################################

"posttext_type"
.  "down"
               "string"
               "If type = 'minandmax': lower tolerance value"
.  "es"
               "string"
               "If type = 'minandmax': value if lower and upper"
               "                       tolerance value are the same"
.  "text"
               "string"
               "If type = 'fit': ISO-tolerance"
.  "typ"
               "string"
               "Kind of posttext: "nul", "minandmax", "minismax", "fit""
.  "up"
               "string"
               "If type = 'minandmax': upper tolerance value"

"program"
.  "ideas_slave"
               "boolean"
               "If option = -ideas_slave: I-DEAS data management and X"
               "            communication with I-DEAS, but without IDM"
.  "idm"
               "boolean"
               "If option = -idm: I-DEAS data management instead"
               "                  of UNIX file I/O"
.  "idm_slave"
               "boolean"
               "If option = -idm_slave: I-DEAS data management and X"
               "                        communication with I-DEAS"

################################################################################
<type input>

"balloonattrib_rec"
    { }
 or { { <string: name>, <string: value> or <Bea_object: ref> }, ... }

"balloondisp_rec"
 { { <integer: pos>, <integer: id> }, <string: repform> }
 repform         "bal_line" | "bal_circle" | "box" | "invis"

"bom_options"
 >>> USER DEFINED VALUE <<<
 { <option> , <output_dir>, <sort_dir>, <sum>, <lines> }
 .    
 <option>     = { "options", application.v_dynstring, "{ {\"<attributename>\",
                                                          \"<prompt text>"\,
                                                          \"<output text>"\,
                                                          <length> }, {...},
                                                          ... }" }
 <output_dir> = { "output_dir", application.v_boolean, <boolean> }   true = up
 <sort_dir>   = { "sort_dir", application.v_boolean, <boolean> }     true = up
 <sum>        = { "sum", application.v_boolean, <boolean> }         true = yes
 <lines>      = { "lines", application.v_int, <int> }       no. of lines to be
                                                             output in a block

"control_rec"
 { <kindofmeasure>, <show_zeros>, <show_point>, <mtype>,
   <a_el1.adir>, <a_el1.asym>, <a_el2.adir>, <a_el2.asym>,
   <withwitness>, <measbox>, <meassymb>, <meask>,
   <kindofdegree>, <mpos>, <factor>, <unitcomment> }
 
 >>> All elements are optional, position independent.
 >>> Two elements are obligatory in subgroups.
 
 kindofmeasure     =  { "digits", <integer: digits> }   
   <digits>        no. of digits after decimal point
                   -1 <= digits <= 5
 <show_zeroes>     display zeroes after decimal point: 
                   "show_zeros" | "no_zeros"
 <show_point>      display decimal point or decimal comma: 
                   "show_point" | "show_comma"
 <mtype>           drawing kind of measure:
                   "normal" | "symetrie" | "half"
 a_el1             kind of arrow head to el1:
 <a_el1.adir>      "first_auto" | "first_in" | "first_out"
 <a_el1.asym>      "first_arrempty" | "first_arrfull" | "first_point" |
                   "first_cross" | "first_nul" | "first_udo"
 a_el2             kind of arrow head to el2:
 <a_el2.adir>      "second_auto" | "second_in" | "second_out"
 <a_el2.asym>      "second_arrempty" | "second_arrfull" | "second_point" |
                   "second_cross" | "second_nul" | "second_udo"
 <withwitness>     display witness_line or not: "whith_witness" | "no_witness"
 <measbox>         "box_nul", {"box_under", <th_dist>}, "box_upper"
   <th_dist>       value of theoretical measure    
                   <real> or <integer>
 <meassymb>        symbol before measure:
                   "nul" | "diam" | "almost" | "square" |
                   {"repeat", <real: repeat_factor>}
 <meask>           kind of measure value:
                   "meas_nul" | "aux" | "raw" | "theoretical" |
                   "control" | "contline"
 <kindofdegree>    unit of degrees:
                   "degree" | "radian" | "degreedec" | "degreeminsec"
 <mpos>            kind of text position:
                   "text_upper" | "text_under" | "text_middle"
 <factor>          { "factor", <real> or <integer> }      
 <unitcomment>     { "comment", <string> }            

"cotabcontrol_rec"
 { <resolution>, <trailing_zeros>, <carthesian>,
   <polar>, <diameter>, <tolerance>, <comment>,
   <width_real_w>, <width_strings_w> }

 >>> All elements are optional, position independent.
 >>> Two elements are obligatory in subgroups.

 resolution        =  { "digits", <integer: digits> }   
   <digits>        no. of digits after decimal point
                   -1 <= digits <= 5
 <trailing_zeros>  display zeroes after decimal point: 
                   "show_zeros"
 <carthesian>      display column carthesian
                   "carth"
 <polar>           display column polar
                   "polar"
 <diameter>        display column diameter
                   "diam"
 <tolerance>       display column tolerance
                   "tol"
 <comment>         display column comment
                   "comment"
 width_real_w      =  { "width", <integer: width> }   
   <width>         width of real-columns
 width_strings_w   =  { "comment_width", <integer: width> }   
   <width>         width of strings-columns

"fork_rec"
 { <fork_type>,
   <string> or { <string>, ... }
 }
 <fork_type>       kind of weldfork:
                   "w_no" | "w_fork" | "w_box"

"ideas_colorudv"
 >>> USER DEFINED VALUE <<<
 { { "colornr", application.v_int, <nr_color> } }
 <nr_color>        I-DEAS Master Modeler color number
                   -99 | 0 | 1 | ... | 15
 example: -99  :  USE ACTUAL 
           0   :  BLACK

"ideas_inputudv"
 >>> USER DEFINED VALUE <<<
 { { "draw",   <type>, <int03> }, { "dspline", <type>, <int01> }, 
   { "center", <type>, <int01> }, { "measure", <type>, <int02> },
   { "lstyle", <type>, <int01> }, { "text",    <type>, <int02> },
   { "symbol", <type>, <int02> }, { "view",    <type>, <int01> },
   { "keep_del", <type>, <int01> }
 }
 <type>            application.v_int
 <int01>           0 | 1 
 <int02>           0 | 1 | 2 
 <int03>           0 | 1 | 2 | 3  
 example:
 { { "draw",   application.v_int, 1 }, { "dspline", application.v_int, 0 }, 
   { "center", application.v_int, 0 }, { "measure", application.v_int, 1 },
   { "lstyle", application.v_int, 1 }, { "text",    application.v_int, 0 },
   { "symbol", application.v_int, 0 }, { "view",    application.v_int, 1 },
   { "keep_del", application.v_int, 0 }
 }

"level"
 >>> USER DEFINED VALUE <<<
 <filename:file>

"measure_rec"
 { <bea_object: world>, <kindofmeasure>[, <bendorclip>, ... ] }
 <kindofmeasure>  
     =     "plc1plc2", <angle_mline>, <mtpos>, <p1>, <p2>, <pos> 
        or "diamofcircle", <angle_mline>, <mtpos>, <circledata1>, <pos>
        or "radiusofsect", <mtpos>, <anglelen>, <circledata1>, <pos>
        or "angle3points", <mtpos>, <anglelen>, <p1>, <p2>, <p3>, <pos>
        or "angle2lines", <mtpos>, <anglelen>, <line1>, <line2>, <bobo>,
                          <pos>
        or "anglesector", <mtpos>, <anglelen>, <circledata2>, <pos>
        or "arclength", <mtpos>, <anglelen>, <circledata2>, <pos>
        or "cotab", <p1>, <p2>         !!! only output of value attribute
 <angle_mline>     real
 <mtpos>           wcoord          vector for measure text (parameter)
 <pos>             coord           position of measure
 <p1>              coord           point
 <p2>              coord           point
 <p3>              coord           point
 <circledata1>     = { <coord: centre>, <real: radius> }
 <circledata2>     = { <coord: centre>, <real: radius> 
                       [, <real: s_angle>, <real: a_angle>] }
 <anglelen>        "long" | "short"
 <line>            = { p1, p2 }
   <p1>,<p2>       coord (for cotab position of top left and buttom right)
 <bobo>            doubleboolean   determines the site of the measure
 <bendorclip>      to bend or clip witnesslines 
                   =  { "bend", nr, len1, angle, len2 }
                   or { "clip", nr, len1, len2 }
    <nr>           real            number of witnessline
    <len1>         real            length to first corner
    <len2>         real            length to second corner
    <angle>        real            angle of bending

"nc_rec"
 { <string: "fixed"/"exponent">, <integer: width of output>,
   <integer: number of digits after comma/point> }

 example:  #######,###  .... { "fixed", 11, 3 }

"obj_par_obj_rec"
 for internal use only !!! (read/write symbol doesn't exist)

"posball_rec"
 <coord>

"posmeas_rec"
 <real:length> or <integer:length> or <coord:relative position>

"posttext_rec"
 { <string: kind of posttext>, <dynstring>, <dynstring> }
 kind of posttext:  "pnul" | "pminandmax" | "pminismax" | "pfit"

"rawval_rec"
 { <string:s>, <string:s1> }
 at the moment s is stored for both strings

"symbol_rec"
 { <world>, <kindofsymbol> }
 <kindofsymbol>
     =     "comment",   <a_el1>, <tx_angle>, <comment>,
                        <el1>, <el2>, <el3>, <el4>
        or "formplace", <kind_of_tol>, <comment>, <ref_str>,
                        <el1>, <el2>, <el3>
        or "reference", <comment>, <el1>, <el2>, <el3>
        or "raw", <rs>, <at>, <bt>, <ct>, <di>, <et>, <ft>,
                        <tx_angle>, <el1>, <el2>
        or "section",   <sectype>, <secline>
        or "cone",      control_rec, <pre>, posttext, <comment>, <dm>,
                        <sym1>, <sym2>, <asc1>, <asc2>, <start>
        or "balloon",   <disp>, <pos_nr>, <id_nr>, <nr_of>, <el1>, <el2>
 <a_el1>           arrsymbol_enu    kind of arrow head to el1
 <kind_of_tol>     tolsymbolrec
 <rs>              rawsymb_enu      the required symbol
 <sectype>         secsymbol_enu    filled or dotted
 <secline>         = { { <p>, <tx>, <txp> }, ... }      lines of the section
   <p>             coord            point of section line
   <tx>            string           descriptive text for point
   <txp>           coord            position of tx
 <at>              rawval_rec       roughness values
 <bt>              string           kind of manufacturing
 <ct>              rawval_rec       reference line
 <di>              rawdir_enu       deep groove direction
 <et>              string           tolerance
 <ft>              string           other roughness values 
 <tx_angle>        real             angle of text
 <comment>         string     
 <ref_str>         = { string, ... }  
 <pre>             string
 <dm>              coord            position of text
 <start>           coord            position
 <disp>            balloondisp_rec
 <pos_nr>          string
 <id_nr>           string
 <nr_of>           string
 <sym1>, <sym2>    coord            symmetry line
 <asc1>, <asc2>    coord            ascent line
 <txp>             coord            position of text
 <el1>             coord            position on first element
 <el2>             coord            symbol - position or intermediate pos. 
 <el3>             coord            end of line
 <el4>             coord            symbol - position

"text_rec"
 { <world>, <real: scale>, <real: angle>, <string: text>, 
   <coord: point> or { { <string>, <real: framelength>, <frame_al> }, ... },
   <real: h_frame>, <bo_type>, <styletype_rec: spec>, <coord: point>
 }
 <scale>            text height
 <angle>            angle of position in degrees
 <frame_al>         "text_left" | "text_middle" | "text_right"
 <bo_type>          "border_all" | "border_top" | "border_bottom" |
                    "border_vertical" | "border_none"

"textfile"
 <dynstring>

"textproperty"
 for internal use only !!!

""

################################################################################
<actions>

################################################################################
<events>

"TRANDONE"
function   : Used for I-DEAS data transfer; for internal use only !!!

"TRANERROR"
function   : Used for I-DEAS data transfer; for internal use only !!!

################################################################################
<hide actions>

"output_apt"


