The GET Statement
- Last UpdatedJan 07, 2026
- 4 minute read
GET
[/INTEGER=(<prompt>,<int>)]
[/DECIMAL=(<prompt>,<dec>)]
[/STRING=(<prompt>,<str>)]
[/DISTANCE=(<prompt>,<dist>)]
[/POINT_2D=(<prompt>,<pnt>)]
[/POINT_3D=(<prompt>,<pnt>)]
[/EXTRACT=(<variable>,<status>,<dex_name>,<arg_1>
[,<arg_2]...[,<arg_10>]..]])]
[/RANGE=(<rng_name>,<status>,<dex_name>[,<arg_1>
[,<arg_2]...[,<arg_10>]..]])]
[/STRUCTURE=(<variable>,<struct_name>,<arg_1>
[,<arg_2]...[,<arg_10>]..]])];
[/MODEL_NAME=(<prompt>, <status>, <name_model>, <name_component>)];
[/VIEW_ID=(<prompt>, <get_viewid>)];
<prompt> is a text displayed at the workstation before entering any values. It has the type STRING and the maximum length is 100 characters. <prompt> has the same meaning for the following attributes to the GET statement.
INTEGER=(<prompt>,<int>)
<int> is the integer value which has been given as input at the workstation.
DECIMAL=(<prompt>,<dec>)
<dec> is the decimal value which has been given as input at the workstation.
STRING=(<prompt>,<str>)
<str> is the string value which has been given as input at the workstation.
DISTANCE=(<prompt>,<dist>)
<dist> is a distance which has been given as input at the workstation. By default, the <dist> is given as the distance between two cursor positions (or any other point mode) but it is possible to key in <dist> by answering REJECT at the first cursor position. <dist> has the type DECIMAL.
It is important to use DISTANCE and not DECIMAL when a distance is wanted, because the current scale is taken care of in DISTANCE but not in DECIMAL.
POINT_2D=(<prompt>,<pnt>)
<pnt> is a point which has been given as input at the workstation. The default point mode is cursor position but it is possible to use any of the other available modes. <pnt> has the type POINT_2D.
POINT_3D=(<prompt>,<pnt>)
<pnt> is a point which has been given as input at the workstation. The default point mode is cursor position but it is possible to use any of the other available modes. <pnt> has the type POINT_3D.
EXTRACT=(<variable>,<status>,<dex_name>,<arg_1>[,<arg_2>]... [,<arg_10>]..]]) Optional function.
<variable> is the name of the variable to be assigned. It can have the type INTEGER, DECIMAL or STRING. The maximum length of <variable> is 32 characters.
<status> is a variable giving the status of <variable>. It can have the following INTEGER values:
0<variable> not defined
1<variable> defined
Before using <variable>, there must always be a test on <status> to ensure that <variable> is defined. Otherwise the macro will be aborted.
<dex_name> is the name of the data extraction variable and has the type EXTRACT. The maximum length of <dex_name> is 32 characters.
<arg_1>[,<arg_2>]...[,<arg_10>]..]] are the arguments corresponding to the data extraction keywords, from the top level down to the bottom level. These arguments can have the type INTEGER, DECIMAL or STRING.
RANGE=(<rng_name>,<status>,<dex_name>[,<arg_1>[,<arg_2>]... [,<arg_10>]..]]) Optional function.
<rng_name> is the name of the range which was the result of the extraction. It has the type RANGE. The maximum length of <rng_name> is 32 characters. The range can for instance contain the resulting object names.
<status> is a variable giving the status of <rng_name>. It can have the following INTEGER values:
0<rng_name> not defined
1<rng_name> defined
Before using <rng_name>, there shall always be a test on <status> to ensure that <rng_name> is defined. Otherwise the macro will be aborted.
<dex_name> is the name of the data extraction variable and has the type EXTRACT. The maximum length of <dex_name> is 32 characters.
[,<arg_1>[,<arg_2>]...[,<arg_10>]..]] are the arguments corresponding to the data extraction keywords, from the top level down to the bottom level. These arguments can have the type INTEGER, DECIMAL or STRING.
STRUCTURE=(<variable>,<struct_name>,<arg_1>
[,<arg_2]...[,<arg_10>]..]])
<variable> is the name of the variable to be assigned. It can have the type INTEGER, DECIMAL or STRING. The maximum length of <variable> is 32 characters.
<struct_name> is the name of the structure from which the data shall be taken. It has the type STRING. The following structure types are available:
POINT_2D
LINE_2D
ARC_2D
CONTOUR_2D
CIRCLE_2D
VECTOR_2D
SPLINE_2D
TEXTFILE_2D
TEXT_2D
SYMBOL_2D
NOTE_2D
HATCH_2D
POINT_3D
VECTOR_3D
CONNECTIONPOINT_3D
CONE_3D
CYLINDER_3D
GENERALCYLINDER_3D
PARALLELEPIPED_3D
POLYGON_3D
SPHERESEG_3D
TOROID_3D
ROTATIONAL_3D
[<arg_1>[,<arg_2>]...[,<arg_10>]..]] are the arguments in the structure. It is thus possible for instance to get the end coordinates for the n:th segment in a certain contour or the total number of lines in the file used by the TEXTFILE statement.
The arguments are described at the respective structure statement.
MODEL_NAME=(<prompt>,<status>,<name_model>, <name_component>)
<status> is a variable giving the status of <variable>. It can have the following INTEGER values:
0<name_model> and <name_component> not defined
1<name_model> defined, <name_component> not defined
2<name_model> and <name_component> defined
Before using either of <name_model> and <name_component>, there must always be a test on <status> to ensure that the variable about to be used is defined. Otherwise the macro will be aborted. Moreover, the variable must be declared by a DECLARE statement.
<name_model> is a string assigned to by the statement. It is only valid if <status> = 1. The parameter has the name of the model indicated by user when the statement was executed.
<name_component> is a string assigned to by the statement. It is only valid if <status> = 1. The parameter has the name of the model object component indicated by user when the statement was executed.
VIEW_ID=(<prompt>,<get_viewid>)
<get_viewid> is the ID of a view which has been given as input at the workstation. <get_viewid> has the type INTEGER.