3D PLM PPR Hub Open Gateway

Feature Modeler

Transferring Documents Containing Client-Defined Features

Working with a client document
Technical Article

Abstract

This article explains the effects on feature behavior of sending a document without the accompanying application code and catalog. 


Introduction

Documents are often transferred between clients and sub-contractors. But how are the features managed in the retrieved document when the application code and feature catalog do not accompany this transfer? This article intends to answer this question by analyzing a number of common basic behaviors on features created "from scratch" as well as on features derived from other existing features when the application code and catalog are available as compared to when they are not available.

[Top]

Overview of Basic CATIA Behaviors 

The basic CATIA behaviors analyzed in this article are:

See also the technical article entitled "Integrating New Features in CATIA" [1] for a view of the different interfaces needed to be implemented in order for new client-defined features to be correctly integrated in CATIA. 

[Top]

Working with Features Defined "From Scratch"

A feature that is created "from scratch" is completely client-defined: it does not inherit any behaviors or attributes from any other existing feature. 

Here is an explanation of what enables each behavior described in the previous section to be taken into account for a feature created "from scratch":

The display of the feature in the specification tree: The application code managing the feature must have implemented the CATINavigateObject interface on the feature in order to display the feature's name and its children in the navigation tree. If the application code is present, the feature will appear in the navigation tree; if not, the feature will not be seen at all. The catalog containing the feature's StartUp may also be necessary for this behavior to be correctly implemented because the feature's StartUp may point to other features that would be part of the navigation process, whereas this information may not be present on the feature instance itself.

The visualization of the feature's geometry. The application code managing the feature must have implemented the CATI3DGeoVisu (or equivalent) interface on the feature in order to take the feature into account during the visualization process. If the application code is present, the feature will, therefore, be correctly visualized; otherwise, it will not be visualized at all. The catalog containing the feature's StartUp may also be necessary for this behavior to be correctly implemented because the feature's StartUp may contain attribute values that are not necessarily present on the feature instance itself.

The edition of the feature. The application code managing the feature must have implemented the CATIEdit interface on the feature in order to display a specific panel allowing the feature's attribute values to be modified. If the application code is present, the feature is selectable and this panel will be displayed; otherwise, the feature will not even be selectable and no panel will be displayed. If the catalog containing the feature's StartUp is not available, the panel may be incomplete: indeed, some of the feature's attributes can only be found on the StartUp.

The update of the feature. The application code managing the feature must have implemented the CATIBuild interface on the feature in order to allow its re-calculation in the event any dependent results have been modified. If the application code is present, the feature will be correctly re-built, otherwise, it will not be taken into consideration during the update process. The catalog containing the feature's StartUp may also be necessary for this behavior to be correctly implemented because the feature's StartUp may contain attribute values that are necessary to the build process but that are not necessarily present on the feature instance itself.

The Cut/Copy/Paste and Delete operations enabled on the feature. If the application code managing the feature is present, then the feature is already selectable both by its geometry and its entry in the specification tree. If the CATICSOFilter interface has been implemented on the feature, then it can be included in CCP and Delete operations. The catalog containing the feature's StartUp is not necessary for this behavior to be correctly implemented.

[Top]

Working with Derived Features

A "derived feature" has been created by the derivation of another existing feature. It has inherited the behaviors and attributes of the deriving feature. In this article, the "deriving feature" is considered to be a feature provided by one of the native CATIA applications. The receiving client or sub-contractor installation is assumed to contain the deriving feature's native CATIA application and catalog. 

 Here is an explanation of what enables each behavior considered in this document to be taken into account for a "derived feature".

The display of the feature in the specification tree: The application code managing the feature may have implemented the CATINavigateObject interface on the feature in order to display the feature's name and its children in the navigation tree. If it did not or if the application code is not present, the feature may still appear in the navigation tree, but its particular name may not be correct and its list of children may not be complete. The catalog containing the feature's StartUp may also be necessary for this behavior to be correctly implemented because the feature's StartUp may point to other features that would be part of the navigation procedure, whereas this information may not be present on the feature instance itself.

The visualization of the feature's geometry. The application code managing the feature may have implemented the CATI3DGeoVisu (or equivalent) interface on the feature in order to take the feature into account during the visualization process. If it did not or if the application code is not present, the feature may still be visualized, but the visualization may not be complete. The catalog containing the feature's StartUp may also be necessary for this behavior to be correctly implemented because the feature StartUp may contain attribute values that are not necessarily present on the feature instance itself.

The edition of the feature. The application code managing the feature may have implemented the CATIEdit interface on the feature in order to display a specific panel allowing the feature's attribute values can be modified. If it did not or if the application code is not present, this panel will not be displayed. If the application code is present but the catalog containing the feature's StartUp is not available, the panel may still not be displayed.

The update of the feature. The application code managing the feature may have implemented the CATIBuild interface on the feature in order to allow its re-calculation in the event any dependent results have been modified. If it did not or if the application code is not present, the feature will not re-built. The catalog containing the feature's StartUp may also be necessary for this behavior to be correctly implemented because the feature's StartUp may contain attribute values that are necessary to the build process but that are not necessarily present on the feature instance itself.

The Cut/Copy/Paste and Delete operations enabled on the feature. Even if the application code managing the feature is not present, it is possible that the feature can still be selectable. However, it is necessary for the CATICSOFilter and CATICcpAble interfaces to have been implemented on the feature itself in order to allow CCP and Delete operations. The application must, therefore, be present in order for this behavior to be enabled.

[Top]

Summary

The tables below summarize the different behaviors available for features created "from scratch" and for those that have been "derived" as accessed by the receiver of the document. Only the two following possibilities are taken into account in the receiver's configuration:

  1. Both application and catalog are available 
  2. Neither application nor catalog are available

The two other possibilities, 

  1. Only the application is available, the catalog is not
  2. Only the catalog is available, the application is not

are not considered because, in the first case,  the result of this configuration is too dependent on the specific application itself, and in the second case, the existence of a catalog without the application does not contribute to any different result as compared to the case where there is neither application nor catalog. 

Table 1: Summary of CATIA behaviors on features created "from scratch"

Feature Behaviors

Feature "From Scratch"
Application and Catalog

Feature "From Scratch"
No Application, No Catalog

Display in specification tree

Yes

No

Visualization of geometry

Yes

No

Feature edition

Yes

No

Feature update

Yes

No

Cut/Copy/Paste Delete

Yes, if enabled

No

[Top]

Table 2: Summary of CATIA behaviors on derived features

Feature Behaviors

Derived Feature
Application and Catalog

Derived Feature
No Application, No Catalog

Display in specification tree

Yes

Partial

Visualization of geometry

Yes

Partial

Feature edition

Yes

No

Feature update

Yes

No

Cut/Copy/Paste and Delete

Yes, if enabled

No

[Top]


References

[1] Integrating New Features in CATIA
[Top]

History

Version: 1 [January 2002] Document created
[Top]

Copyright © 2002, Dassault Systèmes. All rights reserved.