Home > User Guide > Modeling Operations > Intersectors, Booleans, and Stitching
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:
- api_check_entity is expected not to fail (return an unsuccessful outcome), regardless of errors in the input data. api_check_entitys function is to detect and report errors in the input data, so its algorithms do not work on the input data in the same way as modeling operations.
- As of release R14, api_check_entity is versioned. When implementing feature-based modeling, versioning allows you to rebuild old parts using previous versions of ACIS algorithms. Although generally performing checks during a legacy rebuild operation is not usually necessary, versioning ensures that the check results for a given legacy rebuild is maintained as the application is migrated to newer versions of ACIS. Note that this is the only time when a versioned check should be performed. A part for which checking discovers no errors at a particular version is not "valid" for that version. If check errors are reported when the part is checked as the current version, then the part is defective, and operations at any version cannot be relied upon for that part.
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
- ACIS operations are expected to produce a valid result if applied to a valid model, so subsequent checking should not be necessary, provided the model was good to begin with. This approach improves application performance because repeated checking is avoided.
- With continual improvements to the Checker, it is possible for previously undetected defects in a model to become apparent. Therefore, the behavior of algorithms dependent on results from the Checker would be unpredictable.
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.
- If a basic pointer check fails, then treat it as a fatal topology error. Avoid all operations on that model. With millions of pointer accesses throughout ACIS, it is impossible to detect every invalid access without severely compromising the performance of the modeler. Ideally, the invalid entity should be repaired or removed.
- Take appropriate care when bad geometry is found. The behavior of many fundamental calculations, such as point-in-face and other intersection algorithms, may either fail or produce incorrect results. Such low-level problems propagate to higher-level geometric operations. Thus, avoid all geometric operations involving the bad entities.
- ACIS prefers that curves and surfaces generally be G2 continuous, but allows G1 continuity at the knots of curves and surfaces. Take caution when a non-G1 warning is present. Intersection algorithms may produce bad results and modeling operations such as blending, offsetting and shelling may fail. The evaluation of mass properties in ACIS requires that curves be C1 continuous.
- We do not support or recommend modeling with bad data. We recommend that you repair the bad data before modeling commences.
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/
WarningThe 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/
WarningIf 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/
WarningIf 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]
© 1989-2007 Spatial Corp., a Dassault Systèmes company. All rights reserved.