Working with User Features (UDFs):  Getting Started

User Features are used to encapsulate a geometric or technological construct. In some cases, depending on the selected input, and especially in an automation context, the User Feature  may be in error, with no possibility to determine what's wrong with it.

This section gives information concerning the following topics:

Designing a robust User Feature : Some Hints

Using Conditional Geometry

To evaluate the environment of the User Feature (its inputs) and to make decisions, Knowledge Advisor provides 3 main functionalities:

  • Some measures (distance, angle, area, length, center of gravity, ) that can be used to evaluate the inputs. For more information, see Measures.
Some geometric parameters that can be valuated by other geometries. For more information, see Point Constructors, Line Constructors, Circle Constructors, Direction Constructors, Wireframe Constructors, Plane Constructors, and Surface Constructors.
  • If / then / else keywords allow you to choose how to validate those geometric parameters depending on the measure results.

Catching Errors

Usually, if an update error is raised inside a rule, the rule execution is stopped and the rule sends an evaluation error message.

The Do not catch evaluation errors option which is available by right-clicking the relation in the specification tree and selecting the Properties command enables you:
  • To create features in error
  • To know (through an error message) if a feature is in error and
  • To make changes (or not) in case of errors.
This capability can be used to perform a geometric computation (like intersection) and to decide what to do if there is no result.

For more information, see Knowledge Advisor User's Guide.

Providing Explanations For Errors

It is possible to associate a .CATNls file with a User Feature type to translate the names of its inputs, published parameters, outputs and multiple valued parameters in different languages.

This file can be used to override the update error message: in this message, you can provide explanations about how to avoid update errors. For more information, see Creating and Instantiating a NLS User Feature (UDF).

Controlling the Orientation of User Feature Inputs
Defining an Object Type Based on a User-Defined Feature
Creating a NLS User Feature
Instantiating a User Feature From a Macro