Diagnostic codes of a solution

The table below lists the codes that output calculation results or results of executing the GCM API component function. These values are results of such calls as GCM_Evaluate, GCM_EvaluationResult, GCM_SolveReposition.

Table 1 - Enumeration type values GCM_result

Resulting codes of executing the API solver functions

GCM_RESULT_None

No result. For the call GCM_EvaluationResult it means that the constraint has not been calculated yet.

GCM_RESULT_Ok

Executed successfully. The result of successful execution of an operation or successful calculation of constraints.

GCM_RESULT_ItsNotDrivingDimension

Not driving dimension. Failed attempt of the GCM_ChangeDrivingDimension call for a constraint which is not a driving dimension.

GCM_RESULT_Unregistered

Invalid descriptor of an object or constraint. Case: Calling API with a descriptor that does not belong to the constraint system.

GCM_RESULT_Aborted

Calculations aborted by the user request.

GCM_RESULT_InternalError GCM_RESULT_Error

Program error (not mathematic). For situations related to incorrect completion of an operation or incorrect data.

Results of the constraint system calculation

GCM_RESULT_Satisfied

The constraint or constraint system has been satisfied.

GCM_RESULT_Overconstrained

The constraint redefines the model. The error occurs in the event of conflicting constraints (Inconsistent constraint system) within an over-defined constraint system (Overdefined constraint system).

GCM_RESULT_Unsolvable

Unresolvable constraints. The error occurs in various situations when no solution can be found. Generally, it is caused by a set of constraints that cannot be satisfied simultaneously (Inconsistent constraint system), or when a dimension is outside the range of acceptable values.

GCM_RESULT_Not_Satisfied

The constraint is not satisfied. The error code is returned when constraints cannot be solved. Probable causes of the failure: - A dimension is outside the range of values making a solution possible; - Positions of fixed or frozen objects are outside the range of values making a solution possible; - In rare cases, it is caused by poor initial approximation. Satisfying the constraints requires considerable changes in parametric coordinates; - Strong mutual influences. For example, for such conditions if an angle is changed by one degree, then the object would be offset to a considerable distance; - In rare cases, numeric instability due to wide scattering of the order of coordinates being calculated. For example, a geometric model includes both microscopic objects (1e-3) and large objects (1e+6); - In the general case, this can be caused by other situations when the solution does not exist or cannot be calculated.

GCM_RESULT_MatedFixation

A geometric constraint is added between fixed or frozen objects.

GCM_RESULT_InvalidArguments

Constraint arguments are not defined. Incorrectly defined constraint when its arguments are empty (argument descriptor = GCM_NULL).

GCM_RESULT_IncompatibleArguments

Incompatible arguments for this constraint type. Incorrectly defined constraint when its arguments are incompatible or this combination of arguments is not supported. For example, an attempt to set the coincidence of a plane and a cylinder.

GCM_RESULT_InappropriateArgument

The argument type cannot be used for this constraint. An incorrectly defined constraint when one of its arguments cannot be used for this constraint type. For example, an attempt to make points and spheres parallel makes no sense.

GCM_RESULT_Duplicated

Duplicate constraint. The code indicates that the constraint system contains two identical constraints. In general, this situation does not make it impossible to calculate constraints.

Diagnostic situations for the GCM_DEPENDED constraint

GCM_RESULT_DraggingFailed

GCM_RESULT_InappropriateAlignment

GCM_RESULT_InconsistentAngleType

GCM_RESULT_InconsistentAlignment

mtResCode_UnsupportedTangencyChoice

mtResCode_IsNoPossibleForCircTanChoice

GCM_RESULT_InconsistentPlanarAngle

Diagnostic codes for mechanical transmissions

GCM_RESULT_DependentConstraintUnsolved

GCM_RESULT_CyclicDependence

GCM_RESULT_MultiDependedGeom

GCM_RESULT_OverconstrainingDependedGeoms

mtResCode_InvalidDependenceForFixGeom

Diagnostic codes for mechanical transmissions

mtResCode_CoaxialMtGearTransmissionIsNotAvalable

mtResCode _NoSeparatedSolutionForCamGear

mtResCode_CyclicDependenceForTwoOrMoreCamGears

mtResCode_InconsistentFollowerAxis