Tutorial Toolkit Function Descriptions > Geometry > General
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
General
A set of general utilities are provided to manage geometry in the model database.
  
db_get_geom_type
( id_label, entity_type, geom_type )
Description:
Returns the geometry type for the given label and entity_type.
Input:
INTEGER
id_label
The label id of the piece of geometry.
INTEGER
entity_type
The type of entity.
point = 1
curve = 2
surface = 3
solid = 4
Output:
STRING
geom_type[]
The type of geometry.
INTEGER
<Return Value>
Integer indicating success or failure of the routine. If the routine failed, this value contains an indication of the reason.
Error Conditions:
13000161
The geometric type is not defined.
13000134
The specified entity type was not found.
Example:
Please see db_get_geom_type (p. 549) in the MSC Acumen Toolkit - Code Example.
 
db_put_origin_model_name
( model_name, part_name )
 
Description:
This function will set the part name of a specific parasolid model.
Input:
STRING
model_name [256]
This value specifies the name of the parasolid model that will have its part name set.
STRING
part_name [256]
This value specifies the part name that will be set in the parasolid model.
Output:
None
Error Conditions:
A non-zero value will be returned if an error occurs.
 
sgm_db_get_blob_size
( entitytype, entityid, blobsize, status )
 
Description:
This function will return the size of a block of data defining a specific piece of geometry.
Input:
INTEGER
entitytype
This value specifies the type of the geometry for which the data block will be retrieved. See the remarks listed below for more information.
INTEGER
entityid
This value specifies the identifier for the geometry for which the data block will be retrieved.
Output:
INTEGER
blobsize
The value returns the size of the of the array needed to hold the block of data defining the geometry.
INTEGER
status
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:
38000003
No blob provided.
Remarks:
The input value entitytype can be set to the following values:
Value
Description
2
This value describes a piece of geometry that represents a curve.
3
This value describes a piece of geometry that represents a surface.
4
This value describes a piece of geometry that represents a solid.
174
This value describes a piece of geometry that represents a plane.
175
This value describes a piece of geometry that represents a vector.
Example:
Please see sgm_db_get_blob_size (p. 604) in the MSC Acumen Toolkit - Code Example.
  
sgm_db_get_company_of_origin
( dbtype, entityid, compoforg, geometrytype, status )
Description:
Gets a geometric coo and type from the database given an id.
Input:
INTEGER
dbtype
The dbtype from dbtypes.h.
INTEGER
entityid
The Entity ID.
Output:
INTEGER
compoforg
The company of origin.
From include file geometry_coos.i
 
Company of Origin
compoforg
PDA_ENGINEERING
52054
MCDONNELL_DOUGLAS
101254
DASSAULT_SYSTEMS
40686
PARAMETRIC_TECHNOLOGY
22058
IGES
62738
MATRA
32465
PDES
112762
COMPUTER_VISION
22085
INTEGER
geometrytype
The geometry type.
INTEGER
status
0 or an error code.
Example:
Please see sgm_db_get_company_of_origin (p. 605) in the MSC Acumen Toolkit - Code Example.
 
sgm_db_modify_entity_label
( entitytype, entityid, newlabel )
  
Description:
Modifies the label of an existing geometric entity.
Input:
INTEGER
entitytype
Type of entity from DbTypes.
INTEGER
entityid
Id of the entity to change.
INTEGER
newlabel
Label to be assigned to the entity.
Output:
INTEGER
<Return Value>
0: no error.
Error Conditions:
10000052
%A% %I% is not an ASM Entity and was not written to the MSC.Patran Neutral File.
Example:
Please see sgm_db_modify_entity_label (p. 626) in the MSC Acumen Toolkit - Code Example.
  
sgm_incongruent_geom_exist
( )
Description:
Initialize the geometry list.
Input:
none
Output:
INTEGER
<Return Value>
0: no error.
1: fatal error.
Example:
Please see sgm_incongruent_geom_exist (p. 656) in the MSC Acumen Toolkit - Code Example.
  
sgm_incongruent_geom_display
( )
Description:
Creates a graphical display list for curves and surfaces, but displays all unique points and solids. Need to call sgm_verify_surface_boundary first.
Input:
none
Output:
INTEGER
<Return Value>
0 if function was successful.
Comments:
This routine cannot display points or solids because of graphics restrictions.
Example:
Please see sgm_incongruent_geom_display (p. 654) in the MSC Acumen Toolkit - Code Example.
  
sgm_incongruent_geom_seg_exit
( )
Description:
Delete the segment list to clear graphics.
Input:
none
Output:
INTEGER
<Return Value>
Success returned, else fatal error.
Comments:
Used with sgm_incongruent_geom_exist() and sgm_incongruent_geom_display()
Example:
See example for sgm_incongruent_geom_exist, 189. See also sgm_incongruent_geom_seg_exit (p. 657) in the MSC Acumen Toolkit - Code Example.
  
sgm_u_calc_mscale_mat
( coord_org, coord_rmat, translation, scale, axis_base, axis_tip, rotation_angle, tmat )
Description:
Calculates a transformation matrix for a mscale transformation.
Input:
REAL
coord_org (3)
Reference coordinate frame origin.
REAL
coord_rmat (9)
Reference coordinate frame rotation matrix.
REAL
translation (3)
Translation vector.
REAL
scale (3)
Scale factors.
REAL
axis_base (3)
Axis base (for rotation).
REAL
axis_tip (3)
Axis tip (for rotation).
REAL
rotation_angle
Rotation angle.
Output:
REAL
tmat (16)
This value returns the calculated transformation matrix.
INTEGER
<Return Value>
SUCCESS or error code.
Example:
Please see sgm_u_calc_mscale_mat (p. 676) in the MSC Acumen Toolkit - Code Example.
asm_u_coord_global_to_local
( p, t, r, itype, npts )
 
Description:
Transform points from global coordinates to local. Pass the transpose of the rotation matrix stored in the database.
Input:
REAL
p(3,npts)
The point coordinates in global frame.
REAL
t(3)
This value specifies the translation vector for the local coordinate frame.
REAL
r(3,3)
This value specifies the rotation matrix for the local coordinate frame and is the transpose of the rotation matrix stored in the database.
INTEGER
ityper
The reference coordinate frame type:
1=rectangular
2=cylindrical
3=spherical
INTEGER
npts
The number of points.
Output:
REAL
p(3,npts)
The point coordinates in local frame.
Example:
Please see asm_u_coord_global_to_local (p. 523) in the MSC Acumen Toolkit - Code Example.