ACIS Checker


The ACIS checking functionality ("the Checker") is provided to help customers to detect bad data or invalidities in their models. ACIS operations are not designed to work on invalid models, therefore correct use of the Checker by customers is essential to maximize the robustness of ACIS-based products.

The architecture that this is designed around is that applications will read ACIS data from an outside source (for instance reading a SAT file), then use the Checker to identify problems within that data. Any invalid entities that are detected should then be discarded or repaired. At the end of this process, the application should have a model free of any known defects, and ACIS operations can then be called with confidence.

The standard customer interface to the Checker is api_check_entity, although some more specific API and direct-interface functions are available for certain types of data. An entity is considered to be defective if ERROR-status problems are detected when the entity is processed by api_check_entity at its highest level. If the Checker detects ERROR-status problems with a given entity, the behavior of other ACIS operations on this entity cannot be guaranteed - the operation may fail, or produce an incorrect result.

The purpose of api_check_entity means that it is not subject to the standard rules on the behavior of ACIS API functions:

Refer to the Example Code for api_check_entity for a working example.

Using the Checker

As mentioned above, ACIS data should be checked on read-in and repaired before modeling commences. Ensuring that ACIS operations are only called on valid models allows the overall performance of ACIS to be maximized. If ACIS operations can assume their input data is valid, they do not need to spend time performing validation checks, needlessly slowing down algorithms when the input is in fact valid.

You are advised against including the ACIS checking functionality as part of their modeling workflow, because

Interpreting Results from the Checker

The output from a call to api_check_entity consists of a list of zero or more objects of type insanity_list. Each of these objects represents a single problem with the input entity identified by the Checker, specifying the severity of the problem, the particular problem identified, and the entity exhibiting the problem. Note that as most entities own other sub-entities, the entities returned in the list are typically not the input entity. For instance, a body may contain a face made from an invalid surface; in this case, the insanity_list data will indicate the face made from the invalid surface, the reason the surface is invalid, and the severity of the problem.

An insanity_list can be converted into an error_info_list by using the helper function convert_insanity_list_into_error_info_list. Refer to the section Error Handling.

Checking Problem Severities

Each problem returned by api_check_entity is classified as being of one of four different severities: ERROR, WARNING, NOTE and INFO.

The most serious problems are classified as ERROR severity. As stated above, these represent issues that the algorithms in ACIS are not designed to handle, and unpredictable results and failures can be expected if applications attempt to work with ACIS using entities with such problems. Of course, it is not true that all operations on invalid entities will fail or produce incorrect results, but great care must be taken when doing this. Because the ACIS philosophy is that operations are performed on valid data, their algorithms are not designed to treat invalid data consistently. An important consequence is that as algorithms are changed between versions of ACIS, the result of attempting a particular operation on a particular invalid entity may change too.

Because of the different ways that a geometric model data can be invalid, it is unfortunately not possible to state definitively which problems will cause which operations to fail, or which algorithms are not affected by certain problems.

The WARNING category covers properties of the data that are highly undesirable and can upset certain algorithms. An example would be that a curve is found to be non-C1. Most operations in ACIS are not reliant on curves having C1 or better continuity, but the algorithms to compute area and mass properties of bodies do rely on the curve geometry having this property (refer to the section Continuity Requirements), and therefore applications wanting to use these algorithms should use the Checker to ensure that this continuity requirement is met. As with ERROR-severity problems, it is not possible to state definitively which warning-status problems will affect which operations.

The NOTE and INFO severities indicate properties of the data that may not be ideal from the point of view of ACIS, but which should not cause operations to fail or produce incorrect results.

It is possible to control whether the checks that produce warning messages are performed or not by using the show_warning_msg option. This can be used to reduce the time taken to check an entity if the application is not interested in WARNING-severity problems.

Checking Levels

Users have some control over how much work the Checker performs by setting the value of the check_level option. The range of effective values for this option is any value multiple of ten between ten and seventy inclusive, and the default value is twenty. The higher the number, the more checks the Checker will perform.

It appears to be a commonly held belief within the ACIS community that the lower level checks (levels 20 and 30) are the important checks, regardless of the severity of the problem reported. This is, however, incorrect. The allocation of checks to particular levels is governed by the computational expense of performing the check, rather than the severity of the problem checked for. There are a few exceptions to this rule. The most significant exception is that curve and surface self-intersection checks are made at level 30 or higher, even though they are very computationally expensive. This is because self-intersecting geometry is commonly encountered, and most of the time such a model is not usable in an application context.

Note:  If an operation fails on a part which the Checker reveals to have ERROR-severity problems, Spatial does not normally view the failure of the operation to be a bug.

Fixing Errors

Some of the problems detected by the checker are inconsistencies in ACIS data structures or incorrect derived values. Some of these problems can be corrected by an automatic repair algorithm. The function api_fix_check_problems is provided to perform such repairs when possible.

api_fix_check_problems is not intended to provide general healing functionality. Its purpose is to "tidy up" minor flaws in data that do not affect the shape or construction of the model, but could cause difficulties when operations are performed using that data. As such, it does not guarantee to correct any particular problem, because it may be that in a particular situation a correction would require significant alterations to be made to the geometry or topology of the model.

Other Options Influencing Checking Behavior

Several other options exist which influence the behavior of the Checker. Most of these exist in order to allow particular time-consuming checks which are normally only performed at high check levels to be made even if the check level is low.

checker_limit - Using this option allows to limit the number of checker errors obtained by an api_check_entity call. As soon as the specified limit is reached, the entity checking is aborted. This option is especially useful for parts containing many problems because obtaining all the errors can be expensive. In many cases addressing subsets of errors improves the part in general. By default this option is set to 0 and all checker errors are obtained.

check_abort - Turning this option on causes checking to be abandoned as soon as a problem is detected with the entity. This allows the checking of a set of entities to be performed as quickly as possible, when the intention is to simply discard any invalid entities in the set, so the precise number and types of problem that entities have is not relevant. Note that the discovery of a problem of any severity (not just ERROR-severity) will cause checking of the entity to be terminated. By default, this option is turned off.

check_ff_int - If this option is turned on, face-face intersection checks are performed whatever the setting of check_level. If it is turned off, face-face intersection checks are only performed at level 70. By default, this option is turned off.

check_discont - Turning on this option activates checking of the discontinuity information stored for curves and surfaces, which is otherwise not performed. By default, this option is turned off.

check_edge_on_face - Turning on this option activates a detailed check of whether the edges of a face are coincident with its surface, which is otherwise not performed. By default, this option is turned off.

r14_checks - Turning this option on activates the new checks that have been introduced in release R14. However, the new checks are not "optional"; parts for which problems are reported when r14_checks is enabled are defective. Failure of an ACIS operation on a part exhibiting such faults is not regarded as a bug. To reduce disruption when migrating to a new version of ACIS, this option has a default value of false in R14 and R15. In R16 the default value changes to true. In R17 and beyond the option no longer becomes available and the checks are always enforced. For information on which checks are affected by this option, refer to api_check_entity.

check_surface_irregular_and_selfint - By default this option is turned on and for a given surface both the irregular and self-intersection test are performed. In many cases the caller might not be interested in the self-intersection test, which can be expensive, if the surface was already found to be irregular. To avoid the self-intersection check for an irregular surface, this option should be turned off.

Checking Functionality with Other ACIS Interfaces

Apart from api_check_entity, there are several interfaces to parts of the ACIS checking functionality.

api_check_face and api_check_edge perform geometric checks on a face or an edge, respectively. They are therefore somewhat misnamed, as they do not perform other checks or check the owned geometry (vertices of an edge, or edges, coedges and vertices of a face) of the entity.

api_check_entity_ff_ints performs the same face-face intersection checks that api_check_entity does at level 70, or if the check_ff_int option is turned on.

At the direct interface level, the surface and curve classes have a check() method which can be used to perform geometric checks.

Table. Types of Checks displays all checks performed, and the associated problems that may be reported. Each check problem has a unique integer ID, obtainable via the insanity_data.get_insane_id method. An internal description of the problem, in the form of a string, is obtainable via the insanity_data.get_message method. We do not recommend applications making use of the message strings, particularly for determining workflow. Instead, use the unique integer IDs. For ease of migration to future versions of ACIS, we recommend that applications use the corresponding ID macros, which can be found in insanity.err.

Table. ID Macros displays each ID macro with a detailed description of the problem reported. When reading the information in Table. ID Macros, keep the following points in mind.

Table. Types of Checks

Type of Checks

Level Brief Description ID Macro Message Status
BODY 10+ Basic pointer checks BODY_WITHOUT_LUMP Body without lump. Error
LUMP_NOT_POINT_TO_BODY Body's lump does not point to body. Fatal topology error. Error
TRANSFORM checks (see below)

 

 

 
ATTRIB checks (see below)

 

 

 

50+ Containment check BODY_FAIL_CONT_CHK Body fails containment check. Error
BODY_WARN_CONT_CHK Body fails containment check (maybe a void). Warning
NO_CONT_CHK Containment check could not be performed. Warning
TRANSFORM 10+ Basic consistency checks TRANSF_LARGE_TRANSLATION Transform translation is too large. Error
TRANSF_NOT_IDENTITY Matrix of non-rotation, non-reflection transform is not identity. Error
TRANSF_NOT_UNIT_VEC Transform row or column is not a unit vector. Error
TRANSF_BAD_REFLECTION Reflection transform determinant is not -1.0. Error
TRANSF_BAD_DETERMINENT
(Note: This macro was inadvertently misspelled when created. Please use as documented.)
Transform determinant is not 1.0. Error
ATTRIB 10+ Basic attribute chain check ATTRIB_CORRUPT_CHAIN Attribute chain is corrupt. Error
ATTRIB_BAD_OWNER Attribute owner is not correct. Error
LUMP 10+ Basic pointer checks LUMP_WITHOUT_SHL Lump without shell. Error
SHL_NOT_POINT_TO_LUMP Lump's shell does not point to lump. Fatal topology error. Error
LUMP_WITHOUT_BODY Lump without body. Error
ATTRIB checks (see above)      
SHELL 10+ Basic pointer checks SHL_WITHOUT_FACE Shell without face or wire. Error
FACE_NOT_POINT_TO_SHL Shell's face does not point to shell. Fatal topology error. Error
WIRE_NOT_POINT_TO_SHL Shell's wire does not point to shell. Fatal topology error. Error
SHL_WITHOUT_LUMP Shell without lump. Error
SHL_DISCONNECTED Entities in shell are not connected. Error
SHL_MISSING_ENTITIES Connected entities in shell are not listed. Error
ATTRIB checks (see above)      
WIRE 10+ Basic pointer checks WIRE_WITHOUT_COED Wire without coedge. Error
COED_NOT_POINT_TO_WIRE Wire's coedge does not point to wire. Fatal topology error. Error
COED_NEXT_NOT_WELL_CONN Coedge's next is not well connected. Error
COED_PREV_NOT_WELL_CONN Coedge's previous is not well connected. Error
VTX_NO_EDGE Vertex without edge. Error
WIRE_WITHOUT_OWNER Wire without owner. Error
VTX_NOT_SHARED Sequential coedges do not share vertex. Error
ATTRIB checks (see above)      
FACE 10+ Basic pointer checks FACE_WITHOUT_LOOP Face without loop. Error
WRONG_FACE_BACKPTR Backptr to wrong face. Error
FACE_NO_BACKPTR Face without backptr. Error
FACE_NO_SURF1 Face without SURFACE (ENTITY). Error
FACE_NO_SURF2 Face without surface (non-ENTITY). Error
Parametric range check BAD_FACE_DOMAIN U or V range of the face cannot be determined or bad. Error
Face box check TOL_BAD_FACE_BOX Face box with tolerant topology does not intersect vertex boxes. Error
FACE_BOX_TOO_SMALL Face box too small, does not contain vertices. Error
Check on apex of conical face NULL_EDGE_AT_APEX Conical face needs NULL edge at apex. Error
Check face sense of a non-degenerate torus TRS_BAD_LOOP Torus loop seems to be badly oriented. Error
ACIS_ERROR Outcome checks bad. Error
Check that the face's edges lie on the face's surface (Note: The option check_edge_on_face must be switched on) EDGE_OFF_FACE Edge is not on one of its faces. Error
TEDGE_OFF_FACE Tolerant edge is not on one of its faces. Error
SURFACE checks (see below)

 

 

 
PCURVE checks (see below)

 

 

 
ATTRIB checks (see below)

 

 

 

20+ Face area check FACE_NEGA_AREA Face with negative area. Error
FACE_ZERO_AREA Face with zero area. Error
FACE_AREA_FAILURE Face area calculation failed. Error
Check loops of a non-planar face UNBOUND_CONE_FACE Unbounded conical face. Warning
BAD_FACE_LOOP Error in face loop. Error
Loop orientation check FACE_BAD_LOOP_ORIENT Face has loop with wrong orientation. Error
LOOP_ORIENT_CHECK_FAIL Could not check loop orientation because of problem with loop. Warning
SURFACE 10+ Form consistency check on an analytic surface PLN_NORM_NOT_UNITVEC Plane normal is not a unit vector. Error
SPH_ZERO_RAD Sphere has zero radius. Error
CONE_ELL_NORM_NOT_UNITVEC Cone's ellipse normal is not a unit vector. Error
CONE_ELL_ZERO_MAJ_AXIS Cone's ellipse has zero length major axis. Error
CONE_ELL_NOT_PERP_TO_AXIS Cone's ellipse normal not perpendicular to major_axis. Error
CONE_ELL_ZERO_RATIO Cone's ellipse has zero radius ratio. Error
CONE_ELL_RATIO_GT_1 Cone's ellipse has radius ratio greater than 1.0. Error
CONE_ANGLE_INCONS Cone's sine and cosine angle inconsistent. Error
TRS_BAD_MAJ_RAD Torus major radius less than negative of absolute value of minor radius. Error
TRS_NORM_NOT_UNITVEC Torus normal is not a unit vector. Error
TRS_ZERO_MAJ_RAD Torus major radius is zero. Error
TRS_ZERO_MIN_RAD Torus minor radius is zero. Error
SUB_SPL_SUR_FOUND sub_spl_sur found - algorithms using surface extensions may fail. Warning
Form consistency check on a procedural surface's approximation SPLSUR_NO_APPROX Spline surface has no approximating surface. Warning
IRREG_SURF Surface irregular. Error
PROC_SURF_DIFF_APPROX Procedural surface and its approximation have different forms. Error
BS3S_U_NOT_CLOSED bs3_surface form in u should be 'closed'. Error
BS3S_U_NOT_OPEN bs3_surface form in u should be 'open'. Error
BS3S_V_NOT_CLOSED bs3_surface form in v should be 'closed.' Error
BS3S_V_NOT_OPEN bs3_surface form in v should be 'open'. Error
BS3S_U_NOT_PERIODIC bs3_surface form in u should be 'periodic'. Warning
BS3S_V_NOT_PERIODIC bs3_surface form in v should be 'periodic'. Error
ATTRIB checks (see above)

 

 

 

20+ Non-G1 surface check
(Note: This check can be invoked at a lower level by switching on the option d3_checks)
SURF_NOT_G1 Surface not G1. Warning
SURF_NOT_G1_NEAR_TAN Surface near tangent, not G1. Warning
Check for unmarked discontinuities
(Note: The option check_discont must be switched on.
 This check can be invoked at a lower level by switching on the option d3_checks.)
SURF_MISSING_DISC_INFO Surface has unmarked G1 or G2 discontinuities. Error
30+ General surface checks
(Note: These checks can be invoked at a lower level by switching on the option d3_checks.)
IRREG_SURF Surface irregular. Error
SURF_DATA_MISSING A vital part of the surface data is missing. Error
SURF_DATA_CONFLICTING Surface data is conflicting. Error
SURF_SEFL_INT
(Note: This macro was inadvertently misspelled when created. Please use as documented.)
Surface self-intersects. Error
BAD_CLOSURE Surface closure wrong. Error
NO_BS3SURF No underlying bs3_surface. Error
BAD_CTL_PNT_COIN Error in control point coincidence. Error
SURF_BAD_DEGEN Bad degeneracy in surface. Error
BAD_SINGULAR Untreatable singularity in surface. Error
SURF_NOT_G0 Surface not G0. Error
SURF_NOT_G2 Surface not G2. Warning
SURF_NOT_C1 Surface not C1. Warning
SURF_BAD_APPROX Surface approximation is bad. Error
BAD_VERTEX_BLEND Vertex blend surface is illegal. Error
BAD_SUBSET_RANGE Bad Subset range. Error
SUBSET_RANGE_MODIFIED Bad Subset range corrected by checker. Warning
BAD_ROLLING_BALL_BLEND Rolling-ball blend surface is illegal. Error
SURF_BAD_FITOL Approximating surface is not within stated tolerance of true surface. Error/Warning
UNEXPECTED_PROBLEM Problem not properly handled in the checker detected. Warning
40+ Degenerate spline surface check COED_START_VTX_ON_POLE Coedge's start vertex lies on pole of surface. Warning
COED_END_VTX_ON_POLE Coedge's end vertex lies on pole of surface. Warning
PCURVE 10+ Basic checks COED_NO_PCUR Coedge on spline surface has no PCURVE. Error
PCUR_NO_CUR Pcurve has no defining curve. Error
Non-tolerant COEDGE checks COED_RANGE_NOT_CONT_1 Small difference in pcurve's and coedge's range can be neglected. Warning
COED_RANGE_NOT_CONT Pcurve's range does not include coedge's range. Error
PCUR_OUT_OF_RANGE Pcurve is a period outside of face range. Error
INCONS_DIR Pcurve direction != coedge direction. Error
PCUR_DIFF_LOC Pcurve location != coedge location. Error
PCUR_CURVE_EVAL_FAILURE Could not complete pcurve checking due to curve problems. Warning
PCUR_EVAL_PROB There is a problem with the pcurve eval. Error
ATTRIB checks (see above)

 

 

 

30+ TCOEDGE checks START_INCONS_TOL_GEOM Geometry at start of TCOEDGE and TEDGE appear inconsistent. Error
END_INCONS_TOL_GEOM Geometry at end of TCOEDGE and TEDGE appear inconsistent. Error
TOL_GEOM_INCOMPATIBLE TCOEDGE and TEDGE geometry appear to be incompatible. Error
40+ Compatibility check between surface and pcurve's surface PCUR_SURF_DIFF Pcurve's surface different from coedge's. Error
Form consistency check between pcurve and edge curve,for example, periodicity, closure. PCUR_PEROID_DIFF_INTCUR
(Note: This macro was inadvertently misspelled when created. Please use as documented.)
Periodic pcurve has different form from INTCURVE. Warning
PCUR_CLOSED_DIFF_INTCUR Closed pcurve has different form from INTCURVE. Warning
PCUR_OPEN_DIFF_INTCUR Open pcurve has different form from INTCURVE. Warning
PCUR_UNKNOWN_FORM Pcurve with unknown form. Error
PCUR_NOT_PERIODIC Pcurve not periodic on periodic ELLIPSE curve. Warning
PCUR_NOT_CLOSED Pcurve not closed on closed ELLIPSE curve. Warning
PCUR_NOT_OPEN Pcurve not open on open ELLIPSE curve. Warning
PCUR_NOT_OPEN_ON_STR Pcurve not open on STRAIGHT. Warning
PCUR_DIFF_PERIOD Pcurve period does not agree with curve period. Warning
50+ Compatibility check between pcurve location and (non-tolerant) coedge location DIFF_LOC True pcurve location from pcurve data != coedge location. Warning
Check that TCOEDGE lies within tolerance of corresponding TEDGE TCOED_STRAY TCOEDGE strays from TEDGE by more than the tolerance. Warning
LOOP

10+

Basic pointer checks LOOP_NO_COED Loop without coedge. Error
COED_NO_PTR_TO_LOOP Loop's coedge does not point to loop. Fatal topology error. Error
NEXT_NOT_TO_START Loop back through next is not to start. Error
OPEN_IN_NEXT Loop open in next() direction. Error
PREV_NOT_TO_START Loop back through prev is not to start. Error
OPEN_IN_PREV Loop open in previous() direction. Error
LOOP_NO_FACE Loop without face. Error
ATTRIB checks (see above)      
COEDGE 10+ Basic pointer checks COED_NO_EDGE Coedge without edge. Error
ISO_VTX_EMBEDDED Coedge for isolated vertex is embedded in loop. Error
COED_NO_OWNER Coedge without owner. Error
COED_EDGE_BAD_PTR Coedge's edge does not point to coedge. Fatal topology error. Error
PARTNER_MISMATCH Coedge/partner edge mismatch. Error
PARTNER_POINT_TO_ITSELF Coedge/partner points to itself. Error
VTX_NOT_SHARED Sequential coedges do not share vertex. Error
TCOED_HAS_EDGE TCOEDGE has a EDGE. Error
COED_HAS_TEDGE COEDGE has a TEDGE. Error
TCOED_NO_PCUR TCOEDGE has no PCURVE. Error
Basic geometry checks TCOED_DIFF_RANGE Pcurve range != tcoedge range. Error
START_VTX_NOT_ON_SURF Start vertex not on face surface. Error
COED_START_OUTSIDE_TOL_VTX Coedge start point outside tolerant vertex. Error
END_VTX_NOT_ON_SURF End vertex not on face surface. Error
COED_END_OUTSIDE_TOL_VTX Coedge end point outside tolerant vertex. Error
COED_POS_OFF_FACE Internal position on coedge off face. Error
ACIS_ERROR Outcome checks bad. Error
30+ Medium TCOEDGE checks BAD_TCOED_DOMAIN Pcurve range not within surface domain on tcoedge. Warning
TCOED_PCUR_NOT_G1 TCOEDGE parameter space curve not G1. Warning
Non-G1 curve check on TCOEDGE
(Note: This check can be invoked at a lower level by switching on the option d3_checks.)
TCOED_NOT_G1 TCOEDGE curve not G1. Warning
Check for unmarked discontinuities on TCOEDGE
(Note: The option check_discont must be switched on.
This check can be invoked at a lower level by switching on the option d3_checks.)
CURVE_MISSING_DISC_INFO Curve has unmarked G1 or G2 discontinuities. Error
40+ Check that COEDGE has a partner on a single-sided face NO_PARTNER Coedge without partner on single-sided face. Warning
Full TCOEDGE checks
(Note: These checks can be invoked at a lower level by switching on the option d3_checks.)
TCOED_IRREG TCOEDGE curve irregular. Error
TCOED_SELF_INT TCOEDGE curve self-intersects. Error
TCOED_WRONG_CLOSURE TCOEDGE curve closure wrong. Error
TCOED_NO_BS3CUR TCOEDGE no underlying bs3_curve. Error
TCOED_BAD_CTL_PNT_COIN TCOEDGE error in control point coincidence. Error
TCOED_BAD_DEGEN TCOEDGE bad degeneracy in curve. Error
TCOED_BAD_SINGULAR TCOEDGE untreatable singularity in curve. Error
TCOED_NOT_G0 TCOEDGE curve not G0. Error
TCOED_NOT_G2 TCOEDGE curve not G2. Warning
TCOED_NOT_C1 TCOEDGE curve not C1. Warning
TCOED_OFF_SURF TCOEDGE curve not on its surfaces. Warning
CURVE_APPROX_OVERCLAMPED Curve approximation has knots with multiplicity greater than the curve degree. Error
CRV_BAD_FITOL Approximating curve is not within stated tolerance of true curve. Error/Warning
EDGE 10+ Basic pointer checks EDGE_NO_BACKPTR Edge without backptr. Error
EDGE_NO_EVTX Edge without end vertex. Error
EDGE_NO_SVTX Edge without start vertex. Error
MULT_EDGE Vertex has edge in multiple groups. Error
EDGE_NO_CRV1 Edge without curve (non-ENTITY). Error
Basic geometry checks SVTX_NOT_ON_CRV Start vertex not on curve. Error
EVTX_NOT_ON_CRV End vertex not on curve. Error
SPAR_ERR Edge start param err. Error
EPAR_ERR Edge end param err. Error
REV_APPROX_CRV Approximating curve reversed. Error
TEDGE_NULL_PAR_RANGE TEDGE has a NULL parameter range. Error
CURVE checks (see below)

 

 

 
ATTRIB checks (see above)

 

 

 

20+ TEDGE checks TEDGE_HAS_LOCAL_SELF_INT Tolerant edge tube has local self-intersections. Warning
ACIS_ERROR Outcome checks bad. Error
Check face order if edge is owned by loop COED_OUT_OF_ORDER Coedges out of order about edge. Error
Check edge box EDGE_BOX_TOO_SMALL Edge box too small, does not contain vertices. Error
TEDGE_BOX_NOT_INT_VTX_BOX Tolerant Edge box does not intersect vertex boxes. Error
60+ Convexity points check CONVEX_POINT Edge has convexity points. Error
CVXTY_ON_EDGE_MARKED_TANGENT Edge marked as tangent incorrectly. Error
CVXTY_PTS_ON_TANGENT_EDGE Tangent edge has convexity points. Warning
CVXTY_PTS_NOT_ON_MIXED_EDGE Mixed convexity edge has no convexity points. Warning
CVXTY_ON_EDGE_MARKED_TANGENT_WARN Edge possibly marked as tangent incorrectly. Warning
CURVE 10+ Basic geometry checks STR_NOT_UNITVEC Straight direction is not a unit vector. Error
STR_ZERO_PAR_SCALE Straight has zero value parameter scaling. Error
ELL_NORM_NOT_UNITVEC Ellipse normal is not a unit vector. Error
ELL_NOT_PERP Ellipse normal not perpendicular to major_axis. Error
ELL_RATIO_GT_1 Ellipse has radius ratio greater than 1.0. Error
ELL_ZERO_MAJ_AXIS Ellipse has zero length major axis. Error
ELL_ZERO_RATIO Ellipse has zero radius ratio. Error
INTCRV_INVALID_SUPPORT_SURF Intcurve has invalid supporting surface. Error
Form consistency check on a procedural curve's approximation SPL_CRV_NO_APPROX Spline curve has no approximating curve. Warning
PROC_CRV_DIFF_APPROX Procedural curve and its approximation have different forms. Error
BS3C_CLOSED_MRKD_OPEN Closed bs3_curve marked as open. Error
BS3C_CLOSED_MRKD_PEROID
(Note: This macro was inadvertently misspelled when created. Please use as documented.)
Closed bs3_curve marked as periodic. Error/Warning
BS3C_OPEN_NOT_MRKD_OPEN Open bs3_curve not marked as open. Error
20+ Non-G1 curve checks
(Note: This check may be invoked at a lower level by switching on the option d3_checks.)
SUPPORT_SURF_NOT_G1 A support surface that is not G1 continuous was found for the edge's underlying intcurve. Warning
SUPPORT_SURF_NOT_G1_NEAR_TAN A support surface that is near tangent, not G1 was found for the edge's underlying curve. Warning
CRV_NOT_G1 Curve not G1. Warning
CRV_NOT_G1_NEAR_TAN Curve near tangent, not G1. Warning
Unmarked discontinuities check
(Note: The option check_discont must be switched on. This check may be invoked at a lower level by switching on the option d3_checks.)
CURVE_MISSING_DISC_INFO Curve has unmarked G1 or G2 discontinuities. Error
30+ General curve checks
(Note: These checks may be invoked at a lower level by switching on the option d3_checks.)
CRV_DATA_MISSING A vital part of the curve data is missing. Error
CRV_DATA_CONFLICTING Curve data is conflicting. Error
CRV_NOT_ON_SURF Curve not on its surfaces. Warning
CURVE_EVAL_FAILURE Curve evaluation failed. Warning
CURVE_APPROX_OVERCLAMPED Curve approximation has knots with multiplicity greater than the curve degree. Error
CRV_BAD_FITOL Approximating curve is not within stated tolerance of true curve. Error/Warning
IRREG_CRV Curve irregular. Error
CRV_SELF_INT Curve self-intersects. Error
BAD_CRV_CLS Curve closure wrong. Error
NO_BS3CRV No underlying bs3_curve. Error
BAD_CTL_PNT_COIN Error in control point coincidence. Error
CRV_NOT_G0 Curve not G0. Error
CRV_NOT_G2 Curve not G2. Warning
CRV_NOT_C1 Curve not C1. Warning
IRREG_SUPPORT_SURF An irregular support surface was found for the edge's underlying intcurve. Error
SUPPORT_SURF_SELF_INT A support self-intersecting support surface was found for the edge's underlying intcurve. Error
BAD_SUPPORT_SURF_CLS A support surface with bad closure was found for the edge's underlying intcurve. Error
NO_BS3_SUPPORT_SURF A support surface with no underlying bs3_surface was found for the edge's underlying intcurve. Error
BAD_SUPPORT_SURF_CTL_PNT_COIN A support surface with bad control point coincidence was found for the edge's underlying intcurve. Error
SUPPORT_SURF_BAD_DEGEN A support surface with bad degeneracy was found for the edge's underlying intcurve. Error
SUPPORT_SURF_BAD_SINGULAR A support surface with an untreatable singularity was found for the edge's underlying intcurve. Error
SUPPORT_SURF_NOT_G0 A support surface that is not G0 continuous was found for the edge's underlying intcurve. Error
SUPPORT_SURF_NOT_G2 A support surface that is not G2 continuous was found for the edge's underlying intcurve. Warning
SUPPORT_SURF_NOT_C1 A support surface that is not C1 continuous was found for the edge's underlying intcurve. Warning
70+ Parametrization check EXTREME_PAR Intcurve has extreme parametrization. Warning
CRV_ZERO_DERIV Curve has point at which derivative is zero. Warning
VERTEX 10+ Basic pointer checks VTX_NO_PNT Vertex without point. Error
VTX_NO_EDGE Vertex without edge. Error
BAD_VTX_EDGE_PTR Vertex's edge does not point to vertex. Fatal topology error. Error
VERTEX_CHAIN_OPEN Vertex chain open. Fatal topology error. Error
Duplicate vertex check DUP_VTX Duplicate vertex. Error
OVERLAP_TVERT Overlapping tolerant vertex. Error
Overlapping vertex check OVERLAP_VERT Overlapping vertex. Warning
PART_OVERLAP_TVERT Partially overlapping tolerant vertex. Warning
Check coedge traversal around vertex VERTEX_COEDGE_CLOSURE_MISMATCH Vertex/coedge closure mismatch.Fatal topology error. Error
COEDGE_CCW_END_MISMATCH Coedge CCW end vertex mismatch.Fatal topology error. Error
NO_CCW_VERTEX_CLOSURE No CCW coedge closure around vertex.Fatal topology error. Error
COEDGE_CCW_NEXT_INCONSISTENT Coedge CCW next/previous inconsistent.Fatal topology error. Error
NO_CW_VERTEX_CLOSURE No CW coedge closure around vertex.Fatal topology error. Error
COEDGE_CW_NEXT_INCONSISTENT Coedge CW next/previous inconsistent.Fatal topology error. Error
COEDGE_CW_START_MISMATCH Coedge CW start vertex mismatch. Fatal topology error. Error
ATTRIB checks (see above)

 

   
LAW 10+ Basic form checks INTERNAL_LAW_IS_BAD Internal law is NULL. Note
LAW_APPROX_ERR Law derivative approximation error. Note
Improper intersections 70+ Solid check
(Note: These checks may be invoked at a lower level by switching on the option check_ff_int.)
FF_INT_FAIL Intersection failed. Warning
Check for improper face-face intersections FF_INT_FACE_INT Improper face intersection. Error
Check for coincident face intersections FF_INT_FACE_COIN Coincident face intersection. Error
Check for improper edge-edge intersections for face edges
(Note: The option check_ee_int_always must be switched on.)
FF_INT_EDGE_INT Improper edge intersection. Error
Check for improper shell containments FF_INT_SHL_INT Shell intersection. Warning
FF_INT_SHL_CONT Improper shell containment. Error
Check for improper lump containments FF_INT_LMP_INT Lump intersection. Warning
FF_INT_LMP_CONT Improper lump containment. Error
Wire checks

 

 

 
Check for improper edge-edge intersections for wire edges FF_INT_EDGE_INT Improper edge intersection. Error
Cellular Topology 10+ All cellular topology checks CT_NOT_POINT_TO_LUMP Cell does not point to its lump. Error
CT_NO_CSHL Cell has no cshells. Error
CT_NOT_VALIDATED Cell is not validated. Error
CT_2D_CELL_NO_CFACE 2D cell has no cfaces. Error
CT_NOT_POINT_TO_CELL Cshell does not point to its cell. Error
CT_CSHL_NO_CFACE Cshell has no cfaces. Error
CT_NOT_INSIDE_CSHL Cshell does not contain other cshells. Error
CT_CFACE_NOT_POINT_TO_OWNER Cface does not point to its owner. Error
CT_CFACE_NOT_POINT_TO_FACE Cface does not point to a face. Error
CT_POINT_TO_NO_ATTRIB_FACE Cface points to face with no attribute. Error
CT_ATTRIB_NOT_POINT_TO_FACE Cface attribute does not point to cface. Error
CT_WRONG_SENSE_OR_ATTRIB Cface sense or attribute pointer is wrong. Error
CT_NO_CLOSED_INWARD Cface has no closest inward on a coedge. Error
CT_DIFF_INWARD_OWNER Cface has closest inward with different owner. Error
CT_NO_ATTRIB Face has no ct attrib. Error
CT_SSF_NO_BACK_CFACE Single sided face does not have back cface. Error
CT_DSF_NO_BACK_CFACE Double sided face does not have back cface. Error
CT_NO_OWNER Cface does not have owner. Error
CT_DSF_NO_FRONT_CFACE Double sided face does not have front cface. Error
CT_NOT_IN_HIERACHY Some cfaces are not in hierarchy. Error
Sliver faces 30+ Check for sliver faces. SLIVER_FACE_REMOVED Sliver face detected and replaced with tedge. Warning
SLIVER_FACE_DETECTED Sliver face detected. Warning
NO_SLIVER_FACE_TEST Test for sliver faces was not performed. Warning

 

 

 

 

 

 

Table. ID Macros

ID Macro

Message

Status

Description

ACIS_ERROR

outcome checks bad

Error

Face check: Failed to complete face sense check of a non-degenerate torus, which suggests there are geometric problems with this face.

Error

Coedge check: The coedge check was aborted, possibly due to an exception being thrown during geometric checks.  Auxiliary information available.  Further investigation required.

Error

Edge check: The edge check was aborted, possibly due to an exception being thrown during geometric checks.  Further investigation required.

ATTRIB_BAD_OWNER

attribute owner is not correct

Error

Any operations where attributes may be handled should be avoided.  Traversal of a corrupt chain could cause a hang.

ATTRIB_CORRUPT_CHAIN

attribute chain is corrupt

Error

Any operations where attributes may be handled should be avoided.  Traversal of a corrupt chain could cause a hang.

BAD_CLOSURE

surface closure wrong

Error

The form of the surface is incorrect. Geometric operations on this surface may fail or produce bad results.

BAD_CRV_CLS

curve closure wrong

Error

The form of the curve is incorrect.  Geometric operations on this curve may fail or produce bad results.

BAD_CTL_PNT_COIN

error in control point coincidence

Error

Surface check: The surface's definition contains coincident control points. All geometric operations on this surface should be avoided.  The surface should be replaced with a valid surface.

Error

Curve check: The curve's definition contains coincident control points.  All geometric operations on this curve should be avoided.  The curve should be replaced with a valid curve.

BAD_FACE_DOMAIN

U or V range of the face cannot be determined or bad

Error

The face's parametric data is corrupted. All geometric operations on this face should be avoided.

BAD_FACE_LOOP

error in face loop

Error

There is a bad loop in the face. Caution is advised: point-in-face tests will fail or produce bad results.

BAD_ROLLING_BALL_BLEND

Rolling-ball blend surface is illegal

Error

The rolling-ball blend surface is invalid.  Geometric tests on the defining geometry gave inconsistent results. All geometric operations on this surface should be avoided.

BAD_SINGULAR

untreatable singularity in surface

Error

The surface contains a singularity which is not handled by ACIS. The surface is illegal and should be replaced with a valid surface.

BAD_SUBSET_RANGE

  Bad Subset range

Error

The surface is subsetted to a range outside of the unsubsetted surface range. All geometric operations on this surface should be avoided.

BAD_SUPPORT_SURF_CLS

A support surface with bad closure was found for the edge's underlying intcurve.

Error

See BAD_CLOSURE.

BAD_SUPPORT_SURF_CTL_PNT_COIN

A support surface with bad control point coincidence was found for the edge's underlying intcurve.

Error

See BAD_CTL_PNT_COIN.

BAD_TCOED_DOMAIN

pcurve range not within surface domain on tcoedge

Warning

The tcoedge's pcurve range does not lie within tolerance of the range of the surface. Auxiliary information available. Evaluations outside the surface range may fail or produce bad results.

BAD_VERTEX_BLEND

Vertex blend surface is illegal

Error

The vertex blend surface is corrupted.  Support surfaces with singularities were encountered. Evaluations on the surface are likely to fail. All geometric operations on this surface should be avoided. Try replacing the blend surface with a larger blend.

BAD_VTX_EDGE_PTR

vertex's edge does not point to vertex. Fatal topology error.

Error

The vertex points to an edge which does not point back to the vertex.

BODY_FAIL_CONT_CHK

body fails containment check

Error

Unable to perform a point-in-body test, which suggests there are geometric problems with this body.

BODY_WARN_CONT_CHK

body fails containment check (maybe a void)

Warning

A point-in-body test did not return the expected "outside" result.  The body may be a void.  Modeling operations, for example, Booleans, may produce quizzical results.

BODY_WITHOUT_LUMP

body without lump

Error

A body's lump pointer should always be non-NULL.

BS3C_CLOSED_MRKD_OPEN

closed bs3_curve marked as open

Error

The bs3_curve is closed but it is marked as open.  Curve evaluations, especially at the ends of the curve, are likely to produce bad results.  The Checker will attempt to repair the problem if api_fix_check_problems is on.

BS3C_CLOSED_MRKD_PEROID
(Note: This macro was inadvertently misspelled when created. Please use as documented.)

closed bs3_curve marked as periodic

Error/
Warning

The bs3_curve is closed but marked as periodic.  An error is reported if the curve is an exact intcurve, otherwise a warning is reported.  Occasionally, approximations to a periodic curve are closed but do not meet the periodicity requirement.  Provided the discontinuity at the seam is parametric, rather than geometric, ACIS should be able to handle such data.  Otherwise, curve evaluations, especially at the ends of the curve, are likely to produce bad results.  In the case of an error being reported, the Checker will attempt to repair the problem if the option api_fix_check_problems is on.

BS3C_OPEN_NOT_MRKD_OPEN

open bs3_curve not marked as open

Error

The bs3_curve is open but is marked as closed or periodic.  Curve evaluations, especially at the ends of the curve, are likely to produce bad results.  The Checker will attempt to repair the problem if api_fix_check_problems is on.

BS3S_U_NOT_CLOSED

bs3_surface form in u should be 'closed'

Error

There is a mismatch between the open/closed/periodic forms of the spline surface and its underlying bs3 approximation.  Surface evaluations, especially at the surface boundaries, are likely to produce bad results.  The checker will attempt to repair this problem if the option api_fix_check_problems is on.

BS3S_U_NOT_OPEN

bs3_surface form in u should be 'open'

Error

There is a mismatch between the open/closed/periodic forms of the spline surface and its underlying bs3 approximation.  Surface evaluations, especially at the surface boundaries, are likely to produce bad results.  The checker will attempt to repair this problem if the option api_fix_check_problems is on.

BS3S_U_NOT_PERIODIC

bs3_surface form in u should be 'periodic'

Warning

There is a mismatch between the open/closed/periodic forms of the spline surface and its underlying bs3 approximation.  Occasionally, approximations to a periodic surface are closed but do not meet the periodicity requirement.  Provided the discontinuity at the seam is parametric, rather than geometric, ACIS should be able to handle such data.  Otherwise, surface evaluations, especially at the surface boundaries, are likely to produce bad results.

BS3S_V_NOT_CLOSED

bs3_surface form in v should be 'closed'

Error

There is a mismatch between the open/closed/periodic forms of the spline surface and its underlying bs3 approximation.  Surface evaluations, especially at the surface boundaries, are likely to produce bad results.  The checker will attempt to repair this problem if the option api_fix_check_problems is on.

BS3S_V_NOT_OPEN

bs3_surface form in v should be 'open'

Error

There is a mismatch between the open/closed/periodic forms of the spline surface and its underlying bs3 approximation.  Surface evaluations, especially at the surface boundaries, are likely to produce bad results.  The checker will attempt to repair this problem if the option api_fix_check_problems is on.

BS3S_V_NOT_PERIODIC

bs3_surface form in v should be 'periodic'

Error

There is a mismatch between the open/closed/periodic forms of the spline surface and its underlying bs3 approximation.  Occasionally, approximations to a periodic surface are closed but do not meet the periodicity requirement.  Provided the discontinuity at the seam is parametric, rather than geometric, ACIS should be able to handle such data.  Otherwise, surface evaluations, especially at the surface boundaries, are likely to produce bad results.

COED_EDGE_BAD_PTR

coedge's edge does not point to coedge. Fatal topology error.

Error

The coedge's edge points to a ring of partner coedges that does not include the given coedge.

COED_END_OUTSIDE_TOL_VTX

Coedge end point outside tolerant vertex

Error

The coedge's end_pos and the coedge's end vertex position do not lie within tolerance of each other. Auxiliary information available. Intersection algorithms are likely to fail or produce bad results.

COED_END_VTX_ON_POLE

coedge's end vertex lies on pole of surface

Warning

This warning is not known to cause problems in ACIS. 

COED_HAS_TEDGE

COEDGE has a TEDGE

Error

A non-tolerant coedge's edge should also be non-tolerant.

COED_NEXT_NOT_WELL_CONN

coedge's next is not well connected

Error

The coedge and its next coedge do not share a common vertex.

COED_NO_EDGE

coedge without edge

Error

A coedge's edge pointer should always be non-NULL.

COED_NO_OWNER

coedge without owner

Error

A coedge's owner pointer should always point to a wire or loop.

COED_NO_PCUR

coedge on spline surface has no PCURVE

Error

A coedge on a spline surface should always have a pcurve.  Geometric operations involving this coedge are likely to fail.

COED_NO_PTR_TO_LOOP

loop's coedge does not point to loop. Fatal topology error.

Error

The loop has a coedge which does not point back to the loop.

COED_NOT_POINT_TO_WIRE

wire's coedge does not point to wire. Fatal topology error.

Error

The wire has a coedge which does not point back to the wire.

COED_OUT_OF_ORDER

Coedges out of order about edge

Error

Either the coedges are not ordered correctly, or the sidedness of the faces is wrong.

COED_POS_OFF_FACE

internal position on coedge off face

Error

A point on the coedge was found to not lie on the face's surface.  Auxiliary information available.  Intersection algorithms are likely to produce bad results.

COED_PREV_NOT_WELL_CONN

coedge's previous is not well connected

Error

The coedge and its previous coedge do not share a common vertex.

COED_RANGE_NOT_CONT

pcurve's range does notinclude coedge's range

Error

A difference between the pcurve range and coedge range was found.  Geometric operations involving this coedge may produce bad results.

COED_RANGE_NOT_CONT_1

small difference in pcurve's and coedge's range can be neglected

Warning

A small difference (<SPAresabs) between the pcurve range and coedge range was found, but ACIS should be able to handle such data.

COED_START_OUTSIDE_TOL_VTX

Coedge start point outside tolerant vertex

Error

The coedge's start_pos and the coedge's start vertex position do not lie within tolerance of each other.  Auxiliary information available.  Intersection algorithms are likely to fail or produce bad results.

COED_START_VTX_ON_POLE

coedge's start vertex lies on pole of surface

Warning

This warning is not known to cause problems in ACIS.

COEDGE_CCW_END_MISMATCH

coedge CCW end vertex mismatch.  Fatal topology error.

Error

All operations should be avoided.  Traversal of a corrupt ring of coedges could lead to a hang.

COEDGE_CCW_NEXT_INCONSISTENT

coedge CCW next/previous inconsistent.  Fatal topology error.

Error

All operations should be avoided.  Traversal of a corrupt ring of coedges could lead to a hang.

COEDGE_CW_NEXT_INCONSISTENT

coedge CW next/previous inconsistent.  Fatal topology error.

Error

All operations should be avoided.  Traversal of a corrupt ring of coedges could lead to a hang.

COEDGE_CW_START_MISMATCH

coedge CW start vertex mismatch.  Fatal topology error.

Error

All operations should be avoided.  Traversal of a corrupt ring of coedges could lead to a hang.

CONE_ANGLE_INCONS

cone's sine and cosine angle inconsistent

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

CONE_ELL_NORM_NOT_UNITVEC

cone's ellipse normal is not a unit vector

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

CONE_ELL_NOT_PERP_TO_AXIS

cone's ellipse normal not perpendicular to major_axis

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

CONE_ELL_RATIO_GT_1

cone's ellipse has radius ratio greater than 1.0

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

CONE_ELL_ZERO_MAJ_AXIS

cone's ellipse has zero length major axis

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

CONE_ELL_ZERO_RATIO

cone's ellipse has zero radius ratio

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

CONVEX_POINT

Edge has convexity points

Error

Convexity points were found on the edge. Auxiliary information available. The edge should be split at its convexity points, or marked as tangent if considered appropriate. The Checker will attempt to split the edge if the option api_fix_check_problems is on.

CRV_BAD_FITOL

Approximating curve is not within stated tolerance of true curve

Error/
Warning

If the claimed fit tolerance is less than SPAresabs, but it needs to be more than SPAresabs, an error is thrown. Otherwise, if the claimed fit tolerance is already larger than SPAresabs, but smaller than it needs to be, a warning is thrown.  Auxiliary information may be available. Very basic geometric tests, such as test_point_tol, could fail.

CRV_DATA_CONFLICTING

Curve data is conflicting

Error

Internal inconsistencies exist in the curve definition. The Checker will attempt to repair them if the option api_fix_check_problems is on.

CRV_DATA_MISSING

A vital part of the curve data is missing

Error

Some defining data (for example, a support surface) is missing from the data. Evaluation of the curve is unlikely to succeed, meaning that most operations involving it will be unsuccessful.

CRV_NOT_C1

curve not C1

Warning

The curve is not C1-continuous.  Mass properties calculations are liable to fail or be inaccurate.

CRV_NOT_G0

curve not G0

Error

The curve is not G0-continuous.  The curve is illegal and should be replaced with a valid curve.

CRV_NOT_G1

curve not G1

Warning

The curve is not tangent-continuous.  Most operations valid for non-G1 geometry should work.  If problems occur, try splitting the owning edge at its discontinuities.

CRV_NOT_G1_NEAR_TAN

curve near tangent, not G1

Warning

Curve is not tangent-continuous, but its largest tangent discontinuity subtends an angle of less than one degree. Most operations valid for non-G1 geometry should work.

CRV_NOT_G2

curve not G2

Warning

The curve is not G2-continuous.  Most operations should succeed.  If problems occur, try splitting the owning edge at its discontinuities.

CRV_NOT_ON_SURF

curve not on its surfaces

Warning

Points on the curve were found to not lie on at least one supporting surface.  Although presented as a warning, this may be a serious error.  Geometric algorithms are likely to fail or produce bad results.

CRV_SELF_INT

curve self-intersects

Error

The curve is self-intersecting.  All geometric operations on this curve should be avoided.

CRV_ZERO_DERIV

Curve has point at which derivative is zero

Warning

Unable to compute the arc length metric due to a zero derivative.

CT_2D_CELL_NO_CFACE

2D cell has no cfaces

Error

A 2D cell's cface pointer should always be non-NULL.

CT_ATTRIB_NOT_POINT_TO_FACE

Cface attribute does not point to cface

Error

An ATTRIB_FACECFACE attribute should always point back to its cface.

CT_CFACE_NOT_POINT_TO_FACE

Cface does not point to a face

Error

A cface's face pointer should always be non-NULL.

CT_CFACE_NOT_POINT_TO_OWNER

Cface does not point to its owner

Error

A cface should always point back to its owner.

CT_CSHL_NO_CFACE

Cshell has no cfaces

Error

A cshell's cface pointer should always be non-NULL.

CT_DIFF_INWARD_OWNER

Cface has closest inward with different owner

Error

An attempt to find the next inward cface along a coedge returned a cface with a different owner.

CT_DSF_NO_BACK_CFACE

Double sided face does not have back cface

Error

A double-sided face has an ATTRIB_FACECFACE attribute whose back cface pointer is NULL.

CT_DSF_NO_FRONT_CFACE

Double sided face does not have front cface

Error

A double-sided face has an ATTRIB_FACECFACE attribute whose front cface pointer is NULL.

CT_NO_ATTRIB

Face has no ct attrib

Error

A lump was found to have an ATTRIB_CELL attribute but the lump has a face with no ATTRIB_FACECFACE attribute.

CT_NO_CLOSED_INWARD

Cface has no closest inward on a coedge

Error

An attempt to find the next inward cface along a coedge returned NULL.  Either the pointers are corrupt or the owning CSHELL is incomplete.

CT_NO_CSHL

Cell has no cshells

Error

A 3D cell's cshell pointer should always be non-NULL.

CT_NO_OWNER

Cface does not have owner

Error

A cface's owner pointer should always be non-NULL.

CT_NOT_IN_HIERACHY

Some cfaces are not in hierarchy

Error

The number of cfaces in a lump was counted in two different ways and they did not match.

CT_NOT_INSIDE_CSHL

Cshell does not contain other cshells

Error

One cshell was found to have a point which was not inside another cshell.  Auxiliary information is available.

CT_NOT_POINT_TO_CELL

Cshell does not point to its cell

Error

A 3D cell's cshell does not point back to the cell.

CT_NOT_POINT_TO_LUMP

Cell does not point to its lump

Error

A 2D or 3D cell should always point back to its owning lump.

CT_NOT_VALIDATED

Cell is not validated

Error

The 3D cell is not validated.  Check the automatic update properties of the owning lump.

CT_POINT_TO_NO_ATTRIB_FACE

Cface points to face with no attribute

Error

A cface's face should always have an ATTRIB_FACECFACE attribute.

CT_SSF_NO_BACK_CFACE

Single sided face does not have back cface

Error

A single-sided face has an ATTRIB_FACECFACE attribute whose back cface pointer is NULL.

CT_WRONG_SENSE_OR_ATTRIB

Cface sense or attribute pointer is wrong

Error

If the cface's ATTRIB_FACECFACE attribute points back to it via the front cface pointer, then its sense should be outside.  If the cface's ATTRIB_FACECFACE attribute points back it via the back cface pointer, then its sense should be inside.

CURVE_APPROX_OVERCLAMPED

Curve approximation has knots with multiplicity greater than the curve degree

Error

Overclamped spline curves are typically non-G0, or have points of zero derivative. Most geometric algorithms will fail to handle such curves

CURVE_EVAL_FAILURE

Curve evaluation failed

Warning

A curve evaluation failed.  Although presented as a warning, this may be a serious error.  Other errors are likely to be reported.

CURVE_MISSING_DISC_INFO

Curve has unmarked G1 or G2 discontinuities

Error

The discontinuities of the curve were computed and did not match the data stored.  The Checker will repair the discontinuity data if the option api_fix_check_problems is on.

CVXTY_ON_EDGE_MARKED_TANGENT

Edge marked as tangent incorrectly.

Error

An edge has been marked as tangent, but convexity points were found that cannot be ignored.  The Checker will reset the marking to unknown if the option api_fix_check_problems is on.  Splitting the edge is recommended.

CVXTY_ON_EDGE_MARKED_TANGENT_WARN

Edge possibly marked as tangent incorrectly.

Warning

An edge has been marked as tangent, but convexity points were found within a loose tolerance.  The Checker will reset the marking to unknown if the option api_fix_check_problems is on.

CVXTY_PTS_NOT_ON_MIXED_EDGE

Mixed convexity edge has no convexity points.

Warning

An edge has been marked as having mixed convexity but no convexity points were found.  Blending, shelling and skinning operations may produce bad results.

CVXTY_PTS_ON_TANGENT_EDGE

Tangent edge has convexity points.

Warning

An edge has been marked as tangent, but convexity points were found.  Blending, shelling and skinning operations may produce bad results.

DIFF_LOC

True pcurve location from pcurve data != coedge location

Warning

There is a point on the pcurve which evaluates (implicitly via the surface) to a point on the edge curve which is more than SPAresfit away.  Auxiliary information available.  Caution is advised.  If problems occur, try regenerating the pcurve.

DUP_VTX

duplicate vertex

Error

Two vertices lie within SPAresabs of each other.  Auxiliary information available.  Modeling operations in the vicinity of this area will fail or produce bad results.

EDGE_BOX_TOO_SMALL

Edge box too small, does not contain vertices

Error

The edge's bounding box is corrupted.  Clash detection, used extensively throughout ACIS, is likely to give incorrect results.  Try resetting the box.

EDGE_NO_BACKPTR

edge without backptr

Error

An edge's owner should always be non-NULL.  This is not necessarily a bad edge, especially if the edge has been intentionally isolated, but it indicates that the entity is not valid as an edge belonging to a larger model.  The edge should be repaired or removed, for example, put the edge in a wire body if it has been intentionally isolated.

EDGE_NO_CRV1

edge without curve (non-ENTITY)

Error

The edge has a non-NULL geometry pointer but the underlying equation is NULL, thus lacking its fundamental definition.

EDGE_NO_EVTX

edge without end vertex

Error

An edge's end pointer should always be non-NULL.

EDGE_NO_SVTX

edge without start vertex

Error

An edge's start pointer should always be non-NULL.

EDGE_OFF_FACE

Edge is not on one of its faces

Error

A point was found on the edge which is more than SPAresabs away from one of its connecting faces.  Intersection algorithms are likely to fail or produce incorrect results.

ELL_NORM_NOT_UNITVEC

ellipse normal is not a unit vector

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

ELL_NOT_PERP

ellipse normal not perpendicular to major_axis

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

ELL_RATIO_GT_1

ellipse has radius ratio greater than 1.0

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

ELL_ZERO_MAJ_AXIS

ellipse has zero length major axis

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

ELL_ZERO_RATIO

ellipse has zero radius ratio

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

END_INCONS_TOL_GEOM

Geometry at end of TCOEDGE and TEDGE appear inconsistent

Error

Unable to point-perp from the end of the tcoedge to the tedge and unable to find a suitable point-perp from the tcoedge to the end of the tedge.  Geometric operations involving the tedge may produce bad results.

END_VTX_NOT_ON_SURF

end vertex not on face surface

Error

The end vertex position does not lie on the face's surface.  Auxiliary information available.  Intersection algorithms are likely to fail or produce bad results.

EPAR_ERR

edge end param err

Error

There is a mismatch between the edge's end_pos and the edge's end vertex.  Intersection algorithms are likely to fail or produce bad results.

EVTX_NOT_ON_CRV

end vertex not on curve

Error

The edge's end vertex was found to not lie on the edge's curve.  Auxiliary information available.  Intersection algorithms are likely to fail or produce bad results.

EXTREME_PAR

intcurve has extreme parametrization

Warning

In general, an intcurve's parametrization is expected not to exceed 1.0.  If its parametrization greatly exceeds 1.0, ACIS algorithms are likely to be unstable.  Auxiliary information available.

FACE_AREA_FAILURE

Face area calculation failed

Error

Failed to calculate the face area, which suggests that the face is too small to work with accurately, or there are problems with the surface.

FACE_BAD_LOOP_ORIENT

face has loop with wrong orientation

Error

There is a bad loop in the face.  Auxiliary information available.  Caution is advised: point-in-face tests will fail or produce bad results.

FACE_BOX_TOO_SMALL

Face box too small, does not contain vertices

Error

The face's bounding box is corrupted.  Clash detection, used extensively throughout ACIS, is likely to give incorrect results.  Try resetting the box.

FACE_NEGA_AREA

face with negative area

Error

The face area was computed to be negative, which suggests that the face is too small to work with accurately, or there are problems with the surface.  Auxiliary information available.

FACE_NO_BACKPTR

face without backptr

Error

The face's owner pointer is NULL.  This is not necessarily a bad face, especially if the face has been intentionally isolated, but it indicates that the entity is not valid as a face belonging to a larger model.  The face should be repaired or removed, for ecample, put the face in a sheet body if it has been intentionally isolated.

FACE_NO_SURF1

face without SURFACE (ENTITY)

Error

A face's geometry pointer should always be non-NULL.  All geometric operations on this face should be avoided.

FACE_NO_SURF2

face without surface (non-ENTITY)

Error

The face's geometry pointer has no underlying equation.  All geometric operations on this face should be avoided.

FACE_NOT_POINT_TO_SHL

shell's face does not point to shell. Fatal topology error.

Error

The shell has a face which does not point back to the shell.  The face should be repaired before use or removed.

FACE_WITHOUT_LOOP

face without loop

Error

With the exception of a complete sphere and a complete torus, a face's loop pointer should always be non-NULL.  The model should be repaired before use.

FACE_ZERO_AREA

face with zero area

Error

The face area was computed to be zero which suggests that the face is too small to work with accurately, or there are problems with the surface.

FF_INT_EDGE_INT

improper edge intersection

Error

Two edges were found to intersect but the topology in the model did not reflect all of the intersections.  This is a self-intersecting body.  Modeling operations, such as Booleans, will either fail or produce bad results.

FF_INT_FACE_COIN

coincident face intersection

Error

Two distinct faces were found to coincide.  This is a self-intersecting body.  Modeling operations, such as Booleans, will either fail or produce bad results.

FF_INT_FACE_INT

improper face intersection

Error

Two faces were found to intersect but the topology in the model did not reflect all of the intersections.  This is a self-intersecting body.  Modeling operations, such as Booleans, will either fail or produce bad results.

FF_INT_FAIL

intersection failed

Warning

An intersection between two faces in the same body failed, so it was not possible to determine whether they intersected improperly.  Most modeling operations will not need to perform this intersection.

FF_INT_LMP_CONT

improper lump containment

Error

Two lumps in the same body have an incorrect containment relationship - neither lump should contain a point from the other.  Incomplete lumps are excluded from this test.

FF_INT_LMP_INT

lump intersection

Warning

If there is a lump intersection, there will be other errors such as improper face-face intersections.

FF_INT_SHL_CONT

improper shell containment

Error

Two shells in the same lump have an incorrect containment relationship - neither shell should contain a point from the other.  Double-sided shells are excluded from this test.

FF_INT_SHL_INT

shell intersection

Warning

If there is a shell intersection, there will be other errors such as improper face-face intersections.

INCONS_DIR

pcurve direction != coedge direction

Error

The pcurve does not look to be a good match with edge curve in three-space - there is a point where the direction of the pcurve and the direction of the edge curve appear to be reversed.  Auxiliary information available.  If problems occur, try regenerating the pcurve.

INTCRV_INVALID_SUPPORT_SURF

Intcurve has invalid supporting surface.

Error

The intcurve has an exact spline supporting surface but the underlying surface data is missing.  This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

INTERNAL_LAW_IS_BAD

internal law is NULL

Note

The law is missing its fundamental definition.  It should be repaired before use or removed.

IRREG_CRV

curve irregular

Error

A curve evaluation failed.  All geometric operations on this curve should be avoided.

IRREG_SUPPORT_SURF

An irregular support surface was found for the edge's underlying intcurve.

Error

See IRREG_SURF.

IRREG_SURF

surface irregular

Error

A surface evaluation failure occurred. Potential auxiliary information and subcategory information available: BAD_APPROXIMATING_SURFACE and HIGH_CURVATURE.  All geometric operations on this surface should be avoided.

ISO_VTX_EMBEDDED

coedge for isolated vertex is embedded in loop

Error

The coedge's geometry is NULL but its next and previous pointers suggest that the coedge belongs to a loop.

LAW_APPROX_ERR

law derivative approximation error

Note

The law's derivative approximation is not sufficiently accurate.  Geometric operations may fail or produce bad results.

LOOP_NO_COED

loop without coedge

Error

A loop's coedge pointer should always be non-NULL.

LOOP_NO_FACE

loop without face

Error

A loop's face pointer should always be non-NULL.

LOOP_ORIENT_CHECK_FAIL

Could not check loop orientation because of problem with loop

Warning

A point-in-loop test failed, which suggests that many geometric algorithms will fail on this model.  Further investigation required.

LUMP_NOT_POINT_TO_BODY

body's lump does not point to body. Fatal topology error.

Error

The body has a lump which does not point back to the body.  The lump should be repaired before use or removed.

LUMP_WITHOUT_BODY

lump without body

Error

A lump's owner pointer should always be non-NULL.  The model should be repaired before use, for example, remove the lump or put the lump into a body.

LUMP_WITHOUT_SHL

lump without shell

Error

A lump's shell pointer should always be non-NULL.  The model should be repaired before use.

MULT_EDGE

vertex has edge in multiple groups

Error

Every edge associated with the vertex should belong to only one manifold group.  Auxiliary information may be available.

NEXT_NOT_TO_START

loop back through next is not to start

Error

Traversal of the coedges did not for a correct loop.

NO_BS3_SUPPORT_SURF

A support surface with no underlying bs3_surface was found for the edge's underlying intcurve.

Error

See NO_BS3SURF.

NO_BS3CRV

no underlying bs3_curve

Error

The curve's approximation is missing or could not be constructed.  It is likely that the curve is badly defined and will not evaluate properly.

NO_BS3SURF

no underlying bs3_surface

Error

The surface's approximation is missing or could not be constructed. It is likely that the surface is badly defined and will not evaluate properly.

NO_CCW_VERTEX_CLOSURE

no CCW coedge closure around vertex.  Fatal topology error.

Error

All operations should be avoided.  Traversal of a corrupt ring of coedges could lead to a hang.

NO_CONT_CHK

Containment check could not be performed

Warning

Unable to compute a body box, which suggests the body may be a void or it has geometric problems.

NO_CW_VERTEX_CLOSURE

no CW coedge closure around vertex.  Fatal topology error.

Error

All operations should be avoided.  Traversal of a corrupt ring of coedges could lead to a hang.

NO_PARTNER

coedge without partner on single-sided face

Warning

In normal circumstances, a COEDGE on a single-sided face should have a partner.  Exceptions are when the face is in isolation, such as when it has been unhooked.

NO_SLIVER_FACE_TEST

Test for sliver faces was not performed

Warning

Unable to compute a body box, and/or surface approximation.  There may be geometric problems with this face.

NULL_EDGE_AT_APEX

conical face needs NULL edge at apex

Error

A point-in-face calculation suggests that the apex of a cone lies inside the face but there is no topology there.  A degenerate edge should be created at the apex.

OPEN_IN_NEXT

loop open in next() direction

Error

Traversal of the coedges did not form a closed loop.

OPEN_IN_PREV

loop open in previous() direction

Error

Traversal of the coedges did not form a closed loop.

OVERLAP_TVERT

overlapping tolerant vertex

Error

A tolerant vertex lies within the tolerance of another tolerant vertex.  Auxiliary information available.  Modeling operations in the vicinity of this area will fail or produce bad results.

OVERLAP_VERT

overlapping vertex

Warning

Although the vertices are not duplicate, they overlap within tolerance of each other.  Auxiliary information available.  Short edges may be present.  Further modeling operations that refine the model in this area may corrupt the model.

PART_OVERLAP_TVERT

Partially overlapping tolerant vertex

Warning

Although the vertices are not duplicate, they overlap within tolerance of each other.  Auxiliary information available.  Short edges may be present.  Further modeling operations that refine the model in this area may corrupt the model.

PARTNER_MISMATCH

coedge/partner edge mismatch

Error

There is a partner coedge in the ring which does not point to the coedge's edge.

PARTNER_POINT_TO_ITSELF

coedge/partner points to itself

Error

A coedge's partner should not be the same coedge.

PCUR_CLOSED_DIFF_INTCUR

closed pcurve has different form from INTCURVE

Warning

The pcurve is closed but the edge curve is not closed.  Further operations may corrupt the model.  If problems occur, try adjusting the range of the pcurve or regenerating it.

PCUR_CURVE_EVAL_FAILURE

Could not complete pcurve checking due to curve problems

Warning

Unable to evaluate the corresponding curve.  It is likely that other curve problems will be reported.  Replacing the curve is recommended.

PCUR_DIFF_LOC

pcurve location != coedge location

Error

The pcurve does not look to be a good match with edge curve in three-space - there is a point on the curve which evaluates (implicitly via the pcurve) to a point on the surface which is more than SPAresabs away.  Auxiliary information available.  If problems occur, try regenerating the pcurve.

PCUR_DIFF_PERIOD

pcurve period does not agree with curve period

Warning

The pcurve's periodic range does not agree with the edge curve's periodic range. Further operations may corrupt the model. The Checker will attempt to repair this problem if api_fix_check_problems is on.

PCUR_EVAL_PROB

There is a problem with the pcurve eval

Error

Pcurve evaluation failures were encountered during checking of this pcurve. Expect other problem reports for this pcurve.

PCUR_NO_CUR

pcurve has no defining curve

Error

The coedge's pcurve is missing its underlying curve and is undefined.  Geometric operations involving this coedge are likely to fail.

PCUR_NOT_CLOSED

pcurve not closed on closed ELLIPSE curve

Warning

The elliptic edge curve is closed but the pcurve is not closed.  Further operations may corrupt the model.  If problems occur, try regenerating the pcurve.

PCUR_NOT_OPEN

pcurve not open on open ELLIPSE curve

Warning

The elliptic edge curve is open but the pcurve is not open.  Further operations may corrupt the model.  If problems occur, try regenerating the pcurve.

PCUR_NOT_OPEN_ON_STR

pcurve not open on STRAIGHT

Warning

The straight edge curve is open but the pcurve is not open.  Further operations may corrupt the model.  If problems occur, try regenerating the pcurve.

PCUR_NOT_PERIODIC

pcurve not periodic on periodic ELLIPSE curve

Warning

The elliptic edge curve is periodic but the pcurve is not periodic.  Further operations may corrupt the model.  If problems occur, try regenerating the pcurve.

PCUR_OPEN_DIFF_INTCUR

open pcurve has different form from INTCURVE

Warning

The pcurve is open but the edge curve is closed.  Evaluations at the ends of the curve may give bad results.  Further operations may corrupt the model.  If problems occur, try regenerating the pcurve.

PCUR_OUT_OF_RANGE

pcurve is a period outside of face range

Error

The pcurve's range does not lie in the range of the surface.  This error arises in particular when the pcurve's surface is periodic but the face's surface is not periodic,for example, the face's (periodic) surface has been subsetted to the range of the face.  The pcurve must evaluate in the correct range for the face.  Try adjusting the range of the pcurve.

PCUR_PEROID_DIFF_INTCUR
(Note: This macro was inadvertently misspelled when created. Please use as documented.)

periodic pcurve has different form from INTCURVE

Warning

The pcurve is periodic but the edge curve is not periodic.  Further operations may corrupt the model.  If problems occur, try adjusting the range of the pcurve or regenerating it.

PCUR_SURF_DIFF

pcurve's surface different from coedge's

Error

The pcurve's geometry is defined on a different surface to that used by the coedge's face. There is probably an invisible hole in the body which will cause most algorithms to fail.

PCUR_UNKNOWN_FORM

pcurve with unknown form

Error

The pcurve's form is undefined.  Further investigation required.

PLN_NORM_NOT_UNITVEC

plane normal is not a unit vector

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

PREV_NOT_TO_START

loop back through prev is not to start

Error

Traversal of the coedges did not form a correct loop.

PROC_CRV_DIFF_APPROX

procedural curve and its approximation have different forms

Error

There is a mismatch between the open/closed/periodic forms of an intcurve and its underlying bs3 approximation.  Curve evaluations, especially at the ends of the curve, are likely to produce bad results.

PROC_SURF_DIFF_APPROX

procedural surface and its approximation have different forms

Error

There is a mismatch between the open/closed/periodic forms of the spline surface and its underlying bs3 approximation.  Surface evaluations, especially at the surface boundaries, are likely to produce bad results.  The checker will attempt to repair this problem if the option api_fix_check_problems is on.

REV_APPROX_CRV

approximating curve reversed

Error

There is a point where the curve direction and the approximating curve direction are reversed.

SHL_DISCONNECTED

Entities in shell are not connected

Error

This breaks the fundamental definition of a shell.  The shell should be repaired before use or removed.

SHL_MISSING_ENTITIES

Connected entities in shell are not listed

Error

Traversal of the shell found more entities than listed in the shell's chain.  Auxiliary information available.  The model should be repaired before use.

SHL_NOT_POINT_TO_LUMP

lump's shell does not point to lump. Fatal topology error.

Error

The lump has a shell which does not point back to the lump.  The shell should be repaired before use or removed.

SHL_WITHOUT_FACE

shell without face or wire

Error

The shell's face and wire pointers should not be both NULL.  The shell should be repaired before use or removed.

SHL_WITHOUT_LUMP

shell without lump

Error

A shell's owner pointer should always be non-NULL.  The model should be repaired before use.

SLIVER_FACE_DETECTED

sliver face detected

Warning

Sliver faces are usually the result of misaligned geometry in earlier modeling operations.  Wherever possible, sliver faces should be replaced with tolerant edges.

SLIVER_FACE_REMOVED

sliver face detected and replaced with tedge

Warning

Fixing options were switched on, and a sliver face was replaced with a tolerant edge.  To control this manually, call api_detect_sliver_faces.

SPAR_ERR

edge start param err

Error

There is a mismatch between the edge's start_pos and the edge's start vertex.  Intersection algorithms are likely to fail or produce bad results.

SPH_ZERO_RAD

sphere has zero radius

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

SPL_CRV_NO_APPROX

spline curve has no approximating curve

Warning

Unable to construct the curve's approximation. It is very likely that other curve problems will be reported in such a case.

SPLSUR_NO_APPROX

spline surface has no approximating surface

Warning

The calculation of the surface's approximation failed. It is very likely that other surface problems will be reported in such a case.

START_INCONS_TOL_GEOM

Geometry at start of TCOEDGE and TEDGE appear inconsistent

Error

Unable to point-perp from the start of the tcoedge to the tedge and unable to find a suitable point-perp from the tcoedge to the start of the tedge.  Geometric operations involving the tedge may produce bad results.

START_VTX_NOT_ON_SURF

start vertex not on face surface

Error

The start vertex position does not lie on the face's surface.  Auxiliary information available.  Intersection algorithms are likely to fail or produce bad results.

STR_NOT_UNITVEC

straight direction is not a unit vector

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

STR_ZERO_PAR_SCALE

straight has zero value parameter scaling

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

SUB_SPL_SUR_FOUND

sub_spl_sur found - algorithms using surface extensions may fail

Warning

A sub_spl_sur is an obsolete surface type.  Avoid surface extensions and other algorithms involving the manipulation of this surface.

SUBSET_RANGE_MODIFIED

Bad Subset range corrected by checker

Warning

A bad subset range was detected but it was corrected because the option api_fix_check_problems was switched on.

SUPPORT_SURF_BAD_DEGEN

A support surface with bad degeneracy was found for the edge's underlying intcurve.

Error

See SURF_BAD_DEGEN.

SUPPORT_SURF_BAD_SINGULAR

A support surface with an untreatable singularity was found for the edge's underlying intcurve.

Error

See BAD_SINGULAR.

SUPPORT_SURF_NOT_C1

A support surface that is not C1 continuous was found for the edge's underlying intcurve.

Warning

See SURF_NOT_C1.

SUPPORT_SURF_NOT_G0

A support surface that is not G0 continuous was found for the edge's underlying intcurve.

Error

See SURF_NOT_G0.

SUPPORT_SURF_NOT_G1

A support surface that is not G1 continuous was found for the edge's underlying intcurve.

Warning

See SURF_NOT_G1.

SUPPORT_SURF_NOT_G1_NEAR_TAN

A support surface that is near tangent, not G1 was found for the edge's underlying curve

Warning

See SURF_NOT_G1_NEAR_TAN.

SUPPORT_SURF_NOT_G2

A support surface that is not G2 continuous was found for the edge's underlying intcurve.

Warning

See SURF_NOT_G2.

SUPPORT_SURF_SELF_INT

A support self-intersecting support surface was found for the edge's underlying intcurve.

Error

See SURF_SEFL_INT.

SURF_BAD_APPROX

Surface approximation is bad

Error

The surface approximation's fit tolerance is considered too large by normal standards.  This should not cause major problems, but if problems are encountered, try generating a tighter approximation or investigate the original surface.

SURF_BAD_DEGEN

bad degeneracy in surface

Error

The surface has adjacent degenerate boundaries. Geometric operations on this surface are likely to fail.

SURF_BAD_FITOL

Approximating surface is not within stated tolerance of true surface

Error/
Warning

If the claimed fit tolerance is less than SPAresabs, but it needs to be more than SPAresabs, an error is thrown.  Otherwise, if the claimed fit tolerance is already larger than SPAresabs, but smaller than it needs to be, a warning is thrown.  Auxiliary information may be available.  Very basic geometric tests, such as test_point_tol, could fail.

SURF_DATA_CONFLICTING

Surface data is conflicting

Error

Internal inconsistencies exist in the surface definition. The Checker will attempt to repair these if api_fix_check_problems is turned on.

SURF_DATA_MISSING

A vital part of the surface data is missing

Error

Some defining data (for example, a support surface) is missing from the data. Evaluation of the surface is likely to fail, meaning that most geometric operations on the surface will fail.

SURF_MISSING_DISC_INFO

Surface has unmarked G1 or G2 discontinuities

Error

The discontinuities of the surface were computed and did not match the data stored.  The Checker will repair the discontinuity data if the option api_fix_check_problems is on.

SURF_NOT_C1

surface not C1

Warning

The surface is not C1-continuous.  Intersection algorithms are liable to be slow.  Mass properties calculations are liable to fail or be inaccurate.

SURF_NOT_G0

surface not G0

Error

The surface is not G0-continuous.  The surface is illegal and should be replaced with a valid surface.

SURF_NOT_G1

surface not G1

Warning

The surface is not G1-continuous.  Caution is advised.  Avoid intersections involving this surface and modeling operations such as blending, offsetting and shelling.  Splitting the owning face at its discontinuities is recommended.

SURF_NOT_G1_NEAR_TAN

surface near tangent, not G1

Warning

The surface is non-G1, but normal discontinuity of the surface is small (usually less than one degree). Most operations valid for non-G1 geometry should work.

SURF_NOT_G2

surface not G2

Warning

The surface is not G2-continuous.  Most operations should succeed but there may be occasional problems, such as coincidence detection.  If problems occur, try splitting the owning face at its discontinuities.

SURF_SEFL_INT
(Note: This macro was inadvertently misspelled when created. Please use as documented.)

surface self-intersects

Error

The surface is self-intersecting.  All geometric operations on this surface should be avoided.

SVTX_NOT_ON_CRV

start vertex not on curve

Error

The edge's start vertex was found to not lie on the edge's curve.  Auxiliary information available.  Intersection algorithms are likely to fail or produce bad results.

TCOED_BAD_CTL_PNT_COIN

TCOEDGE error in control point coincidence

Error

See BAD_CTL_PNT_COIN.

TCOED_BAD_DEGEN

TCOEDGE bad degeneracy in curve?

Error

See CRV_BAD_DEGEN.

TCOED_BAD_SINGULAR

TCOEDGE untreatable singularity in curve?

Error

See CRV_BAD_SINGULAR.

TCOED_DIFF_RANGE

Pcurve range != tcoedge range

Error

There is a mismatch between the range of the tolerant coedge and its underlying geometry.  Auxiliary information available.  This tcoedge should be repaired before use.

TCOED_HAS_EDGE

TCOEDGE has a EDGE

Error

A tolerant coedge's edge should also be tolerant.

TCOED_IRREG

TCOEDGE curve irregular

Error

See IRREG_CRV.

TCOED_NO_BS3CUR

TCOEDGE no underlying bs3_curve

Error

See NO_BS3CRV.

TCOED_NO_PCUR

TCOEDGE has no PCURVE

Error

The tolerant coedge has a NULL geometry pointer, thus lacking its fundamental definition.

TCOED_NOT_C1

TCOEDGE curve not C1

Warning

See CRV_NOT_C1.

TCOED_NOT_G0

TCOEDGE curve not G0

Error

See CRV_NOT_G0.

TCOED_NOT_G1

TCOEDGE curve not G1

Warning

See CRV_NOT_G1.

TCOED_NOT_G2

TCOEDGE curve not G2

Warning

See CRV_NOT_G2.

TCOED_OFF_SURF

TCOEDGE curve not on its surfaces

Warning

See CRV_NOT_ON_SURF.

TCOED_PCUR_NOT_G1

TCOEDGE parameter space curve not G1

Warning

The tcoedge's pcurve is not G1 in parameter space.  Auxiliary information available.  It is likely that the tcoedge's 3D curve will have problems.

TCOED_SELF_INT

TCOEDGE curve self-intersects

Error

See CRV_SELF_INT.

TCOED_STRAY

TCOEDGE strays from TEDGE by more than the tolerance

Warning

This warning suggests that the tolerance of the edge may be too small.  Auxiliary information available.  Further operations may corrupt the model.

TCOED_WRONG_CLOSURE

TCOEDGE curve closure wrong

Error

See BAD_CRV_CLS.

TEDGE_BOX_NOT_INT_VTX_BOX

Tolerant Edge box does not intersect vertex boxes

Error

The edge's bounding box is corrupted.  Clash detection, used extensively throughout ACIS, is likely to give incorrect results.  Try resetting the box.

TEDGE_HAS_LOCAL_SELF_INT

tolerant edge tube has local self-intersections

Warning

The tolerant edge's curve intersects itself within its tolerance.  Auxiliary information available.  Geometric algorithms involving this edge, including Boolean operations, may fail or produce bad results.

TEDGE_NULL_PAR_RANGE

TEDGE has a NULL parameter range

Error

A tolerant edge must have a finite parameter range.  This edge must be repaired before use.

TEDGE_OFF_FACE

Tolerant edge is not on one of its faces

Error

A point was found on the tolerant edge, whose distance from a connecting face is more than the edge's tolerance.  Intersection algorithms are likely to fail or produce incorrect results.

TOL_BAD_FACE_BOX

Face box with tolerant topology does not intersect vertex boxes

Error

The face's bounding box is corrupted.  Clash detection, used extensively throughout ACIS, is likely to give incorrect results.  Try resetting the box.

TOL_GEOM_INCOMPATIBLE

TCOEDGE and TEDGE geometry appear to be incompatible

Error

The tcoedge geometry does not look to be a good match with the tedge geometry - there is a point where the direction of the tcoedge and the direction of the tedge appear to be different.  Auxiliary information available.  Geometric operations involving the tedge may produce bad results.

TRANSF_BAD_DETERMINENT
(Note: This macro was inadvertently misspelled when created. Please use as documented.)

Transform determinant is not 1.0

Error

Transforms are often applied before performing geometric calculations in ACIS.  Thus, a bad transformation will cause many geometric algorithms to fail or produce bad results.

TRANSF_BAD_REFLECTION

Reflection transform determinant is not -1.0

Error

Transforms are often applied before performing geometric calculations in ACIS.  Thus, a bad transformation will cause many geometric algorithms to fail or produce bad results.

TRANSF_LARGE_TRANSLATION

Transform translation is too large

Error

Transforms are often applied before performing geometric calculations in ACIS.  Thus, a bad transformation will cause many geometric algorithms to fail or produce bad results.

TRANSF_NOT_IDENTITY

Matrix of non-rotation, non-reflection transform is not identity

Error

Transforms are often applied before performing geometric calculations in ACIS.  Thus, a bad transformation will cause many geometric algorithms to fail or produce bad results.

TRANSF_NOT_UNIT_VEC

Transform row or column is not a unit vector

Error

Transforms are often applied before performing geometric calculations in ACIS.  Thus, a bad transformation will cause many geometric algorithms to fail or produce bad results.

TRS_BAD_LOOP

torus loop seems to be badly oriented

Error

A point-in-face calculation suggests that there is a badly oriented loop in a toroidal face.  Geometric algorithms are likely to fail or produce incorrect results.

TRS_BAD_MAJ_RAD

torus major radius less than negative of absolute value of minor radius

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

TRS_NORM_NOT_UNITVEC

torus normal is not a unit vector

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

TRS_ZERO_MAJ_RAD

torus major radius is zero

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

TRS_ZERO_MIN_RAD

torus minor radius is zero

Error

This fundamental flaw in the definition geometry should be repaired before any geometric operation is attempted.

UNBOUND_CONE_FACE

unbounded conical face

Warning

An unbounded conical or cylindrical face was encountered.  Geometric operations, such as point-in-face, may produce bad results.

UNEXPECTED_PROBLEM

Problem not properly handled in the checker detected

Warning

Problems were encountered when exploring the surface.  Geometric operations on this surface may fail.  Caution is advised.

VERTEX_CHAIN_OPEN

vertex chain open.  Fatal topology error.

Error

All operations should be avoided.  Traversal of a corrupt ring of coedges could lead to a hang.

VERTEX_COEDGE_CLOSURE_MISMATCH

vertex/coedge closure mismatch.  Fatal topology error.

Error

All operations should be avoided.  Traversal of a corrupt ring of coedges could lead to a hang.

VTX_NO_EDGE

vertex without edge

Error

Wire check: The vertex, found by traversing the coedges, does not point back to an edge.

Error

Vertex check: A vertex should always point back to an edge.

VTX_NO_PNT

vertex without point

Error

A vertex's geometry pointer should always be non-NULL.

VTX_NOT_SHARED

sequential coedges do not share vertex

Error

Wire check: The ring of wire coedges around a vertex was traversed and not all coedges pointed correctly to the vertex.

Error

Coedge check: The loop of coedges was traversed and not all coedges pointed to the correct vertex.

WIRE_NOT_POINT_TO_SHL

shell's wire does not point to shell. Fatal topology error.

Error

The shell has a wire which does not point back to the shell.  The wire should be repaired before use or removed.

WIRE_WITHOUT_COED

wire without coedge

Error

A wire's coedge pointer should always be non-NULL.  

WIRE_WITHOUT_OWNER

wire without owner

Error

A wire's owner pointer should always be non-NULL.  The wire should be repaired before modeling. For example, remove the wire or put the wire into a shell.

WRONG_FACE_BACKPTR

backptr to wrong face

Error

The face has a loop which does not point back to the face.  The loop should be repaired before use or removed.

 

 

 

 




Related topics:

Example Code for api_check_entity

[Top]