Tutorial Toolkit Function Descriptions > User Interface > List Processor
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
List Processor
The list processor parses lists of entities typed in by the user into databoxes in the standard Picklist syntax or generated from picking graphical entities with the cursor.
Include files
The following include files define symbols used with certain list processor functions:
lpkeywords.i
lpenums.i
geometry_types.i
geometry_coos.i
 
app_count_list
( type, list, domesg, status )
Description:
Count the number of items of a specified type that are contained in a list.
Input:
INTEGER
type
Item type ( for example lp_sublist_curve from “lpenums.i” )
STRING
list[]
Input list from user interface.
LOGICAL
domes
Error message flag: If TRUE, this routine will issue a message if LIST produces an error condition during list processing.
Output:
INTEGER
status
List processor status code: 0 = ok.
INTEGER
<Return Value>
Number of TYPE items in LIST ( -1 if error encountered ).
Example:
Please see app_count_list, 300, and app_count_list (p. 302) in the MSC Acumen Toolkit - Code Examples.
 
app_ids_to_vstring
( id_array, numval, type, appstr )
Description:
This function will create a string from an array of integer id and label values.
Input:
INTEGER
id_array(numval)
This value specifies the integer id and label values used to create a string.
INTEGER
numval
This value specifies the number of offsets defined for the input value id_array.
INTEGER
type
This value specifies the list processor entity type that the integer id and label values represent. This value can range from 1 to 16.
Output:
INTEGER
appstr [VIRTUAL]
This value returns the string created from the integer id and label values.
INTEGER
<Return Value>
This function will always return a value of zero.
Example:
Please see app_ids_to_vstring (p. 305) in the MSC Acumen Toolkit - Code Examples.
 
app_int_array_to_vstring
( prefix, numvals, inlist, virtsym )
Description:
This function will create a list processor string of entity identifiers from a list of label values.
Input:
STRING
prefix[]
Prefix string, max be null or empty.
INTEGER
numvals
The number of values in the input list.
INTEGER
inlist()
The int array input list of ids to convert.
Output:
STRING
virtsym[VIRTUAL]
Virtual string to receive character list.
INTEGER
<Return Value>
Success = 0, else message code.
Example:
Please see app_int_array_to_vstring (p. 307) in the MSC Acumen Toolkit - Code Examples.
 
asm_u_coord_global_to_local
( <points>, <trans_vector>, <rot_matrix >, <i_type>, <num_points>)
  
Description:
Transform points from global coordinates to local. Pass the transpose of the rotation matrix stored in the database. The real array points() which is used as an input to the function returns the new coordinates of the points.
Input:
REAL ARRAY
points()
The point coordinates in global frame.
REAL ARRAY
trans_vector()
This value specifies the translation vector for the local coordinate frame.
REAL ARRAY
rot_matrix()
This value specifies the rotation matrix for the local coordinate frame and is the transpose of the rotation matrix stored in the database.
INTEGER
i_type
The reference coordinate frame type:
1=rectangular
2=cylindrical
3=spherical
Any other integer defaults to rectangular.
INTEGER
num_points
The number of points.
Output:
REAL
points()
The point coordinates in local frame
Error Conditions:
None.
Example:
Please see asm_u_coord_global_to_local (p. 309) in the MSC Acumen Toolkit - Code Examples.
 
asm_u_lp_get_entity_label
(label_handle, list, last_supplied_label, domesg, label, status)
 
Description:
Get an ASM entity label from the user supplied entity label list.
Input:
INTEGER
label_handle
Pointer to the list evaluator allocated structure for the entity labels.
STRING
list[]
User input list.
LOGICAL
last_supplied_label
True if the list of user supplied entity labels has been exhausted prematurely and the remaining entity labels will be assigned by the database.
LOGICAL
domesg
Error message flag: If TRUE, this routine will allow the app_db_err_msg routine to issue a message if an error is encountered.
Output:
INTEGER
label
Label of asm entity to create.
INTEGER
status
The list processor status flag.
=0: successful.
Example:
Please see asm_u_lp_get_entity_label (p. 311) in the MSC Acumen Toolkit - Code Examples.
 
asm_u_lp_get_point
(point_list, do_message, point, status )
Description:
Uses list processor to get a point.
Input:
STRING
point_list[]
The point list.
LOGICAL
do_message
=TRUE if subroutine to handle errors.
Output:
REAL
point()
The x, y, z coordinates of the point.
INTEGER
status
=0: successful.
!=0: error, returns error code.
Example:
Please see asm_u_lp_get_point (p. 312) in the MSC Acumen Toolkit - Code Examples.
 
asm_u_lp_get_vector
( vector, do_message, vector_coord, status )
Description:
Uses list processor to get the x, y, z parts of a vector.
Input:
STRING
vector[]
The vector list.
LOGICAL
do_message
=TRUE if subroutine to handle errors.
Output:
REAL
vector_coord()
The x, y, z coordinates of the vector.
INTEGER
status
=0: successful.
!=0: error, returns error code.
Example:
Please see asm_u_lp_get_vector (p. 313) in the MSC Acumen Toolkit - Code Examples.
 
lp_eval_cleanup
( handle )
Description:
Free allocated memory for list processor operations. This function must be called after all calls to parse a particular picklist.
Input:
INTEGER
handle
Handle returned from lp_eval.
Output:
INTEGER
<Return Value>
Always returns 0.
Example:
Please see lp_eval_cleanup (p. 315) in the MSC Acumen Toolkit - Code Examples.
 
lp_geometry_text
( geo_keyword, geo_id_count, geo_id_list, text_len_max, text )
 
Description:
Create a geometry Picklist from a prefix and array of integers.
Input:
INTEGER
geo_keyword
Geometry type (From lpkeywords.i)
INTEGER
geo_id_count
Number of ids in array.
INTEGER
geo_id_list ( )
List of ids.
INTEGER
text_len_max
Number of characters in text.
Output:
STRING
text[VIRTUAL]
Picklist syntax string.
INTEGER
<Return Value>
See error conditions.
Error Conditions:
14000199
LpGeometryText: there isn’t enough room to build the output string.
Example:
Please see lp_geometry_text (p. 317) in the MSC Acumen Toolkit - Code Examples.
 
lp_keyword_text
( keyword, family, text )
 
Description:
The purpose of this function is to return the keywords found in MSC.Patran that are used by MSC.Patran to describe objects, actions, etc.
This function receives parameters in a nonintuitive fashion. The family is the first method of grouping, and the keyword is next. 1,3 yields point, and 2,3 yields grid. This should show that they keywords are organized by family, the second parameter. Below is shown all the families, and then a listing of the LpGEOMETRY family.
Input:
INTEGER
keyword
Identifies the entity. From lpkeywords.i:
(SAMPLE for family LpGEOMETRY)
#define LpPOINT
1
#define LpGRID
2
#define LpCURVE
3
#define LpLINE
4
#define LpSURFACE
5
#define LpPATCH
6
#define LpSOLID
7
#define LpHYPERPATCH
8
#define LpPOINT_IMMEDIATE
9
#define LpSCREEN_PICK
10
#define LpCOORDINATE_FRAME
11
#define LpVECTOR
12
#define LpAXIS
13
#define LpVECTOR_IMMEDIATE
4
#define LpAXIS_IMMEDIATE
15
#define LpSIDE_NUMBER
16
INTEGER
family
Identifies the group of entities keyword falls. From lpkeywords.i:
/* listing of possible families */
#define LpACTION
1
#define LpTECHNIQUE
2
#define LpGEOMETRY
3
#define LpFINITE_ELEMENT
4
#define LpDESIGNATOR
5
#define LpATTRIBUTE
6
#define LpGEOMETRY_TYPES
7
#define LpGEOMETRY_FORMATS
8
#define LpGEOMETRY_COOS
9
#define LpOPERATION
10
#define LpTOKEN_TYPES
11
#define LpELEMENT_TYPES
12
#define LpNUMERIC_STANDIN
13
Output:
STRING
text[31]
String alias for keyword.
INTEGER
<Return Value>
Message facility code. See Message System Functions (p. 155) in the PCL and Customization. 0 indicates no error.
Example:
Please see lp_keyword_text (p. 318) in the MSC Acumen Toolkit - Code Examples.