Tutorial Toolkit Function Descriptions > Geometry > Solid
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Solid
  
db_count_solid
( count )
Description:
Counts all solids in the database.
Input:
none
Output:
INTEGER
count
The integer number of solids in the database.
INTEGER
<Return Value>
Integer indicating success or failure of the routine. If the routine failed, this value contains an indication of the reason.
Example:
Please see db_count_solid (p. 534) in the MSC Acumen Toolkit - Code Example.
  
db_get_max_solid_label
( label )
Description:
Gets the largest solid label from the database.
Input:
none
Output:
INTEGER
label
Highest solid label used.
INTEGER
<Return Value>
Integer indicating success or failure of the routine. If the routine failed, this value contains an indication of the reason.
Example:
Please see db_get_max_solid_label (p. 553) in the MSC Acumen Toolkit - Code Example.
  
db_get_min_solid_label
( label )
Description:
Gets the smallest solid label from the database.
Input:
none
Output:
INTEGER
label
Lowest solid label used.
INTEGER
<Return Value>
Integer indicating success or failure of the routine. If the routine failed, this value contains an indication of the reason.
Example:
Please see db_get_min_solid_label (p. 558) in the MSC Acumen Toolkit - Code Example.
 
db_get_solid_coo_and_type
( id, coo, type )
  
Description:
Gets a geometric coo and type from the database given an id.
Input:
INTEGER
id
The unique internal solid id identifying the association of the information to be retrieved from the database.
Output:
INTEGER
coo
The geometric company of origin stored in the database.
INTEGER
type
The geometric type of data stored in the database.
INTEGER
<Return Value>
Integer indicating success or failure of the routine. If the routine failed, this value contains an indication of the reason.
Example:
Please see db_get_solid_coo_and_type (p. 568) in the MSC Acumen Toolkit - Code Example.
  
db_get_solid_id
( label, id )
Description:
Gets a solid id from the database given a solid label.
Input:
INTEGER
label
The unique external solid id identifying the solid to be retrieved from the database.
Output:
INTEGER
id
The unique internal solid id identifying the solid retrieved from the database.
INTEGER
<Return Value>
Integer indicating success or failure of the routine. If the routine failed, this value contains an indication of the reason.
Example:
Please see db_get_solid_id (p. 569) in the MSC Acumen Toolkit - Code Example.
  
db_get_solid_label
( id, label )
Description:
Gets a solid label from the database given a solid id.
Input:
INTEGER
id
The unique internal solid id identifying the solid to be retrieved from the database.
Output:
INTEGER
label
The unique external solid id identifying the solid to be retrieved from the database.
INTEGER
<Return Value>
Integer indicating success or failure of the routine. If the routine failed, this value contains an indication of the reason.
Example:
Please see db_get_solid_label (p. 570) in the MSC Acumen Toolkit - Code Example.
 
asm_db_get_next_hpat_label
( domessage, integerlabel, stringlabel )
 
Description:
Get the next unused hpat label from the database.
Input:
LOGICAL
domessage
Tells the routine to issue an error message if an error occurs.
Output:
INTEGER
integerlabel
The next highest solid label.
STRING
stringlabel[]
The next highest solid label.
INTEGER
<Return Value>
Integer indicating success or failure of the routine. If the routine failed, this value contains an indication of the reason.
Example:
Please see asm_db_get_next_hpat_label (p. 520) in the MSC Acumen Toolkit - Code Example.
  
sgm_construct_solid_brep
(output_ids, surface_list, delete_flag, created_ids)
Description:
This function creates a b-rep solids from surfaces.
Input:
STRING
output_ids[]
The output ids to be assigned to the new solids.
STRING
surface_list[]
This value specifies the list of the surfaces used to create the b-rep solid.
LOGICAL
delete_flag
This value is set to TRUE if the original surfaces are to be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return_value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.
Example:
Please see sgm_construct_solid_brep (p. 581) in the MSC Acumen Toolkit - Code Example.
  
sgm_construct_solid_volume
(output_ids, surface_list, delete_flag, created_ids)
Description:
This function creates solids with a set of surfaces.
Input:
STRING
output_ids[ ]
The output ids to be assigned to the new solids.
STRING
surface_list[ ]
This value specifies the list of the surfaces from which the solid is to be created.
LOGICAL
delete_flag
This value is set to TRUE if the original surfaces are to be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return_value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.
Example:
Please see sgm_construct_solid_volume (p. 583) in the MSC Acumen Toolkit - Code Example.
  
sgm_db_get_num_vertices_body
( bodyid, numvert, status )
Description:
Gets the number of vertices for a general body.
Input:
INTEGER
bodyid
The ID of the body.
Output:
INTEGER
numvert
The number of vertices for the body.
INTEGER
status
Success or an error code.
Example:
Please see sgm_db_get_num_vertices_body (p. 621) in the MSC Acumen Toolkit - Code Example.
  
sgm_db_get_solid
( solidid, blobsize, blob, status )
Description:
Get the geometric definition of a solid from the database.
Input:
INTEGER
solidid
Id of the solid.
INTEGER
blobsize
The size of the blob in words.
Output:
REAL
blob ( )
Array to be filled in with Geometric descriptionof a solid as a blob.
INTEGER
status
0: no error.
-1: database error.
-2: insufficient array length for the blob.
Error Conditions:
38000001
The allocated space for the blob is too small.
Example:
Please see sgm_db_get_solid (p. 623) in the MSC Acumen Toolkit - Code Example.
 
sgm_edit_brep_break_plane_v1
(output_ids, solid_list, plane_list, delete_flag, created_ids)
  
Description:
This function breaks a set of solids with a set of planes.
Input:
STRING
output_ids[ ]
The output ids to be assigned to the new solids.
STRING
solid_list[ ]
This value specifies the list of the solids to be broken.
STRING
plane_list[ ]
This value specifies the list of the planes which will break the solids.
LOGICAL
delete_flag
This value is set to TRUE if the original solids are to be deleted.
Output:
STRING
created_ids[ ]
This value returns the created ID list.
INTEGER
<Return_value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.
Example:
Please see sgm_edit_brep_break_plane_v1 (p. 628) in the MSC Acumen Toolkit - Code Example.
 
sgm_edit_brep_break_surface_v1
(output_ids, solid_list, surface_list, delete_flag, created_ids)
 
Description:
This function breaks a set of solids with a set of surfaces.
Input:
STRING
output_ids[]
The output ids to be assigned to the new solids.
STRING
solid_list[]
This value specifies the list of the solids to be broken.
STRING
surface_list[]
This value specifies the list of the surfaces which will break the solids.
LOGICAL
delete_flag
This value is set to TRUE if the original solids are to be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return_value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.
Example:
Please see sgm_edit_brep_break_surface_v1 (p. 630) in the MSC Acumen Toolkit - Code Example.
  
sgm_edit_solid_break
(output_ids, option_type, point_list, parameter, delete_flag, solid_list, created_ids)
Description:
This function breaks solids at a point or by parametric location.
Input:
STRING
output_ids[]
The output ids to be assigned to the new solids.
INTEGER
option_type
The option for breaking the solid
1 for breaking by point
0 for breaking by u,v, w parameters.
STRING
point_list[]
The point where the solid is to be broken if option_type=1.
REAL ARRAY
parameter(3)
The u,v and w parameters if option_type = 0, 0<u,v,w<1
LOGICAL
delete_flag
This value is set to TRUE if the original solids are to be deleted.
STRING
solid_list[]
List of solids to break.
 
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return_value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.
Example:
Please see sgm_edit_solid_break (p. 633) in the MSC Acumen Toolkit - Code Example.
  
sgm_edit_solid_refit_v1
(output_ids, tolerance, type_option, delete_flag, solid_list, created_ids)
Description:
This function edits solids for changing the topology.
Input:
STRING
output_ids[]
The output ids to be assigned to the new solids.
REAL
tolerance
This tolerance for fitting the solid.
LOGICAL
type_option
= TRUE for creating hyperpatches
= FALSE for creating a triparametric net
LOGICAL
delete_flag
This value is set to TRUE if the original solids are to be deleted.
STRING
solid_list[]
The list of solids to refit.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return_value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.
Example:
Please see sgm_edit_solid_refit_v1 (p. 635) in the MSC Acumen Toolkit - Code Example.
  
sgm_edit_solid_reverse
(solid_list, created_ids)
Description:
This function reverses the parametric directions of solids.
Input:
STRING
solid_list[]
List of solids to be reversed.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return_value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.
Example:
Please see sgm_edit_solid_reverse (p. 636) in the MSC Acumen Toolkit - Code Example.
  
sgm_get_solid_volume
( solid, volume )
Description:
Gets the volume of a solid.
Input:
INTEGER
solid
The ID of the solid.
Output:
REAL
volume
The volume of the solid.
INTEGER
<Return Value>
Success or an error code.
Error Conditions:
1000025
Error attempting to allocate virtual memory.
Example:
Please see sgm_get_solid_volume (p. 652) in the MSC Acumen Toolkit - Code Example.
 
sgm_solid_evaluate
( s, ui, vi, wi, in, pd, irc )
 
Description:
This subroutine plays traffic cop for the lower level solid evaluators.
Input:
REAL
s ( )
Solid data table.
REAL
ui
Parametric coordinates.
REAL
vi
Parametric coordinates.
REAL
wi
Parametric coordinates.
INTEGER
in
Derivative flag.
0 - P
1 - P,PU,PV,PW
2 - P,PU,PV,PW,PUV,PUW,PVW
3 - P,PU,PV,PW,PUV,PUW,PVW,PUU,PVV,PWW
Output:
REAL
pd ( ,3)
Output table (controlled by IN).
INTEGER
irc
0 - evaluation successful.
1 - error somewhere, don’t trust the result.
Example:
See example for sgm_db_get_solid, 236. See also sgm_solid_evaluate (p. 671) in the MSC Acumen Toolkit - Code Example.
 
sgm_solid_parametric
( solid_id, num_pnt_xyz, pnt_xyz, para_xyz )
 
Description:
Returns a list of parametric locations that corresponds to a list of xyz points for a solid.
Input:
INTEGER
solid_id
The id value for the solid.
INTEGER
num_pnt_xyz
The number of points in the input and output lists.
REAL
pnt_xyz (num_pnt_xyz, 3)
The input point locations.
Output:
REAL
para_xyz (num_pnt_xyz, 3)
The output parametric point locations.
INTEGER
<return_value>
A non-zero value is returned if an error has occured.
  
sgm_verify_solid_brep
( surface list, verify_tol )
Description:
This function verifies that a collection of surfaces represent a valid B-rep solid.
Input:
STRING
surface_list[]
This value specifies the collection of surfaces that represent the B-rep solid.
REAL
verify_tol
This value specifies a tolerance value used to determine if the surfaces represent the B-rep solid. This value must be less than or equal to the global geometric modeling tolerance value.
Output:
INTEGER
<Return Value>
0 if the function was successful.
Example:
Please see sgm_verify_solid_brep (p. 677) in the MSC Acumen Toolkit - Code Example.