UF_FLTR_ask_box_of_assy (view source)
 
Defined in: uf_fltr.h
 
Overview
Returns the bounding box information for an assembly and all of the
components in it, or for a particular component. The edges of the box
are parallel to the axis of the absolute coordinate system.

Environment
Internal and External

History
This function was originally released in V13.0.4.
 
Required License(s)
gateway

 
int UF_FLTR_ask_box_of_assy
(
tag_t assy,
double centroid [ 3 ] ,
double corner [ 3 ] ,
double orientation [ 9 ]
)
tag_tassyInputTag of the assembly, component, or subassembly to box.
doublecentroid [ 3 ] OutputCenter of box
doublecorner [ 3 ] OutputCorner vector (diagonal corner coordinates of the box can be
calculated by adding and subtracting this vector from the
centroid location)
doubleorientation [ 9 ] OutputOrientation of box with respect to absolute
coordinate system.

 


 
UF_FLTR_ask_box_zone (view source)
 
Defined in: uf_fltr.h
 
Overview
Outputs the parameters of the box zone specified by a tag.

The corner value represents an offset position which can be
subtracted from the centroid position to give the minimum corner,
or added to the centroid position to give the maximum corner.
The corner value is always positive in value.

Say the bounding box has a minimum corner of 0,0,0 and
maximum corner of 100,100,100. The centroid is at
((0,0,0)+(100,100,100))/2 = (50,50,50) whilst the
corner calculation is ((100,100,100)-(0,0,0))/2 = (50,50,50).

Environment
Internal and External

See Also
See the example for UF_FLTR_create_box_zone
 
Required License(s)
gateway

 
int UF_FLTR_ask_box_zone
(
tag_t box_zone,
char* name,
double centroid [ 3 ] ,
double corner [ 3 ] ,
double matrix [ 9 ]
)
tag_tbox_zoneInputTag of zone being queried
char*nameOutputName of zone being queried (30 chars max)
doublecentroid [ 3 ] OutputCentroid of zone (in Absolute Coordinates.)
doublecorner [ 3 ] OutputCorner vector
doublematrix [ 9 ] OutputOrientation of zone.

 


 
UF_FLTR_ask_filter (view source)
 
Defined in: uf_fltr.h
 
Overview
Returns name and condition of a given filter.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_FLTR_ask_filter
(
tag_t filter_tag,
char name [ UF_OBJ_NAME_BUFSIZE ] ,
char condition [ 132 ]
)
tag_tfilter_tagInputFilter which is being queried
charname [ UF_OBJ_NAME_BUFSIZE ] OutputName of filter (30 chars max).
charcondition [ 132 ] OutputCondition of filter (132 chars max).

 


 
UF_FLTR_ask_plane_zone (view source)
 
Defined in: uf_fltr.h
 
Overview
Outputs the parameters of the plane zone referred to by a tag.

Environment
Internal and External

See Also
See the example for UF_FLTR_create_box_zone
 
Required License(s)
gateway

 
int UF_FLTR_ask_plane_zone
(
tag_t plane_zone,
char name [ UF_OBJ_NAME_BUFSIZE ] ,
double origin [ 3 ] ,
double matrix [ 9 ]
)
tag_tplane_zoneInputtag of zone being queried.
charname [ UF_OBJ_NAME_BUFSIZE ] OutputThe output should be declared as char buffer[ UF_OBJ_NAME_BUFSIZE ]
Name of zone being queried
doubleorigin [ 3 ] OutputOrigin of zone (in Absolute Coordinates.)
doublematrix [ 9 ] OutputOrientation of plane.

 


 
UF_FLTR_auto_create_box_zones (view source)
 
Defined in: uf_fltr.h
 
Overview
Automatically generates box zones along all 3 axes of the WCS in a
part. If use_part_volume is TRUE, the zones are created to divide up
the entire volume occupied by the part.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_FLTR_auto_create_box_zones
(
tag_t part_tag,
char * prefix_text,
int num_in_dir [ 3 ] ,
logical use_part_volume,
double user_spec_vol [ 3 ] ,
double user_spec_origin [ 3 ] ,
tag_t * * zone_list,
int * num_zones_created
)
tag_tpart_tagInputpart in which zones are to be created.
char *prefix_textInputName to be used as prefix of auto-generated
zones. (e.g. "ZONE" makes ZONE1, ZONE2 etc.)
intnum_in_dir [ 3 ] InputNumber of zones to be created in each direction of
the WCS.
num_in_dir[0] = number of zones in X direction
num_in_dir[1] = number of zones in Y direction
num_in_dir[2] = number of zones in Z direction
logicaluse_part_volumeInputFlag which indicates region to be zoned. if TRUE,
part extents are used. If FALSE, user_spec_vol and
user_spec_origin are used (See below).
doubleuser_spec_vol [ 3 ] InputUser specified volume to be zoned. If
use_part_volume is TRUE, user_spec_vol is
ignored.
user_spec_vol[0] extent of volume in X direction
user_spec_vol[1] extent of volume in Y direction
user_spec_vol[2] extent of volume in Z direction
doubleuser_spec_origin [ 3 ] InputUser specified origin of volume to be zoned. If
use_part_volume is TRUE, user_spec_origin is
ignored.
user_spec_origin[0] X coordinate of origin
user_spec_origin[1] Y coordinate of origin
user_spec_origin[2] Z coordinate of origin.
tag_t * *zone_listOutput to UF_*free*List of resulting zone tags. Must be freed by the
caller using UF_free.
int *num_zones_createdOutputNumber of zones in zone_list.

 


 
UF_FLTR_auto_create_plane_zones (view source)
 
Defined in: uf_fltr.h
 
Overview
Automatically generates plane zones along the Z axis of the WCS in a
part. If use_part_disp is TRUE, the zones are created to cover the
entire Z displacement of the part.

Environment
Internal and External

See Also
Refer to the example
 
Required License(s)
gateway

 
int UF_FLTR_auto_create_plane_zones
(
tag_t part_tag,
char * prefix_text,
int num_in_dir,
logical use_part_disp,
double user_spec_z_disp,
double user_spec_origin [ 3 ] ,
tag_t * * zone_list,
int * num_zones_created
)
tag_tpart_tagInputpart in which zones are to be created.
char *prefix_textInputName to be used as prefix of auto-generated
zones. (e.g. "ZONE" makes ZONE1, ZONE2 etc.)
intnum_in_dirInputNumber of zones to be created in the Z direction of
the WCS.
logicaluse_part_dispInputFlag which indicates region to be zoned. if TRUE,
part extents along the Z axis of WCS are used. If
FALSE, user_spec_z_disp and user_spec_origin are
used (See below).
doubleuser_spec_z_dispInputUser specified Z displacement to be zoned. If
use_part_disp is TRUE, this argument is ignored.
doubleuser_spec_origin [ 3 ] InputUser specified origin of volume to be zoned. If
use_part_disp is TRUE, user_spec_origin is
ignored.
user_spec_origin[0] X coordinate of origin
user_spec_origin[1] Y coordinate of origin
user_spec_origin[2] Z coordinate of origin.
tag_t * *zone_listOutput to UF_*free*List of resulting zone tags. Must be freed by the
caller using UF_free.
int *num_zones_createdOutputNumber of zones in zone_list.

 


 
UF_FLTR_create_box_zone (view source)
 
Defined in: uf_fltr.h
 
Overview
Creates a box zone and returns its tag. The centroid is the center
point of the box zone (in Absolute coordinates). The corner is a
vector describing the most positive corner of the box relative to the
centroid. The orientation is the orientation of the zone to be created.

Environment
Internal and External

See Also
Refer to the example
 
Required License(s)
gateway

 
int UF_FLTR_create_box_zone
(
tag_t part_tag,
char * name,
double centroid [ 3 ] ,
double corner [ 3 ] ,
double orientation [ 9 ] ,
tag_t * zone_tag
)
tag_tpart_tagInputPart in which zone is to be created.
char *nameInputName of zone to be created.
doublecentroid [ 3 ] InputCentroid of zone (in Absolute Coordinates.)
doublecorner [ 3 ] InputCorner vector (points to most positive box corner)
doubleorientation [ 9 ] InputOrientation of zone with respect to absolute.
tag_t *zone_tagInput / OutputTag of zone created.

 


 
UF_FLTR_create_filter (view source)
 
Defined in: uf_fltr.h
 
Overview
Creates a filter object given the name and condition.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_FLTR_create_filter
(
tag_t part_tag,
char * name,
char * condition,
tag_t * zone_tag
)
tag_tpart_tagInputpart in which filter is to be created.
char *nameInputName of filter to be created.
char *conditionInputCondition of filter to be created. For example,
"Within(0,ZONE_PLANE_P1)"
tag_t *zone_tagInput / OutputTag of filter created.

 


 
UF_FLTR_create_plane_zone (view source)
 
Defined in: uf_fltr.h
 
Overview
Creates a plane zone given the origin and orientation. Origin and
Creates a plane zone given the origin and orientation. Origin and

Environment
Internal and External

See Also
See the example for UF_FLTR_create_box_zone
 
Required License(s)
gateway

 
int UF_FLTR_create_plane_zone
(
tag_t part_tag,
char * name,
double origin [ 3 ] ,
double orientation [ 9 ] ,
tag_t * zone_tag
)
tag_tpart_tagInputPart in which zone is to be created.
char *nameInputName of zone to be created.
doubleorigin [ 3 ] InputOrigin of zone (in Absolute Coordinates.)
doubleorientation [ 9 ] InputOrientation of plane zone.
tag_t *zone_tagInput / OutputTag of zone created.

 


 
UF_FLTR_edit_box_zone (view source)
 
Defined in: uf_fltr.h
 
Overview
Modifies the box zone referred to by a tag to have the values passed
in by name, centroid, corner and matrix.

Environment
Internal and External

See Also
See the example for UF_FLTR_create_box_zone
 
Required License(s)
gateway

 
int UF_FLTR_edit_box_zone
(
tag_t zone,
char * name,
double centroid [ 3 ] ,
double corner [ 3 ] ,
double matrix [ 9 ]
)
tag_tzoneInputTag of zone to be edited.
char *nameInputNew name of zone.
doublecentroid [ 3 ] InputNew centroid of zone (in Absolute Coordinates.)
doublecorner [ 3 ] InputNew corner vector
doublematrix [ 9 ] InputNew orientation of zone.

 


 
UF_FLTR_edit_filter (view source)
 
Defined in: uf_fltr.h
 
Overview
Gives filter new name and condition.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_FLTR_edit_filter
(
tag_t filter_tag,
char * name,
char * condition
)
tag_tfilter_tagInputFilter which is being edited
char *nameInputNew name of filter (30 chars max).
char *conditionInputNew condition of filter (132 chars max).

 


 
UF_FLTR_edit_plane_zone (view source)
 
Defined in: uf_fltr.h
 
Overview
Modifies the plane zone referred to by a tag to have the values passed
in by name, origin and matrix.

Environment
Internal and External

See Also
See the example for UF_FLTR_create_box_zone
 
Required License(s)
gateway

 
int UF_FLTR_edit_plane_zone
(
tag_t zone,
char * name,
double origin [ 3 ] ,
double matrix [ 9 ]
)
tag_tzoneInputtag of zone to be modified.
char *nameInputNew name of zone.
doubleorigin [ 3 ] InputNew origin of zone (in Absolute Coordinates.)
doublematrix [ 9 ] InputNew orientation of plane.

 


 
UF_FLTR_evaluate_filter (view source)
 
Defined in: uf_fltr.h
 
Overview
Evaluate whether object matches the given filter.

Environment
Internal and External
 
Required License(s)
adv_assemblies

 
int UF_FLTR_evaluate_filter
(
tag_t input_object,
tag_t filter_tag,
logical * result
)
tag_tinput_objectInputObject to test against filter. Currently only part
occurrences are supported.
tag_tfilter_tagInputTag of filter in question.
logical *resultOutputResult of filter evaluation. TRUE if object matches
the given filter. Otherwise FALSE.

 


 
UF_FLTR_is_obj_above_plane_zone (view source)
 
Defined in: uf_fltr.h
 
Overview
Tests whether a part occurrence is above a planar zone. Note that this
function can only be used with a plane zone.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_FLTR_is_obj_above_plane_zone
(
tag_t zone,
tag_t object,
logical * result
)
tag_tzoneInputTag of zone. Must be a plane zone.
tag_tobjectInputtag of object. Currently only part occurrences are
supported.
logical *resultOutputResult of comparison:
TRUE = if any portion of object is above the plane
specified by zone.
FALSE = if no portion of object is above the plane
i specified by zone.

 


 
UF_FLTR_is_obj_inside_box_zone (view source)
 
Defined in: uf_fltr.h
 
Overview
Tests whether an object is further than some distance of a zone.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_FLTR_is_obj_inside_box_zone
(
double distance,
tag_t zone,
tag_t object,
logical * result
)
doubledistanceInputDistance between zone and part occurrence (in part units).
tag_tzoneInputTag of zone. (Must be box zone)
tag_tobjectInputTag of object. Currently only part occurrences are supported.
logical *resultOutputResult of comparison.
result = TRUE if no portion of object is further
than distance from zone.
result = FALSE if any portion of object is further
than distance from zone.

 


 
UF_FLTR_is_obj_intsct_zone (view source)
 
Defined in: uf_fltr.h
 
Overview
Tests whether an object is within some distance of a zone. Currently
the object can only be a part occurrence. The zone can be either a box
or a plane zone.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_FLTR_is_obj_intsct_zone
(
double distance,
tag_t zone,
tag_t object,
logical * result
)
doubledistanceInputDistance between zone and part occurrence (in part
units).
tag_tzoneInputTag of zone.
tag_tobjectInputtag of object. Currently only part occurrences are
supported.
logical *resultOutputResult of comparison.
result = TRUE if some portion of object is within
distance of zone.
result = FALSE if no portion of object is within
distance of zone.

 


 
UF_FLTR_object_has_box (view source)
 
Defined in: uf_fltr.h
 
Overview
Returns if the given NX object has a bounding box recorded for it.

Environment
Internal and External

History
This function was originally released in V18.0.5.2
 
Required License(s)
adv_assemblies

 
int UF_FLTR_object_has_box
(
tag_t object,
logical * has_box
)
tag_tobjectInputTag of the object to question.
logical *has_boxOutputTrue if the object has a box, false otherwise

 


 
UF_FLTR_update_structure (view source)
 
Defined in: uf_fltr.h
 
Overview
Updates the assembly structure of the given part.
The interactively equivalent is found on the assembly node in the
Assembly Navitagor (ANT) as Update Structure.
It uses file time stamps to see which parts have been modified since
the assembly was last saved, these parts are then loaded to get the
assembly structure, and component attributes, up to date, and are
then unloaded.

Environment
Internal and External

History
This function was originally released in V15.0.
 
Required License(s)
adv_assemblies

 
int UF_FLTR_update_structure
(
tag_t part
)
tag_tpartInputpart to update assembly structure of