Mechanical Modeler |
Freezing Internal Copy With LinkUsing CATIMmiResultFreeze |
|
Technical Article |
AbstractThis article shows how to freeze internal copies with link |
An internal copy with link is obtained by copying and pasting a mechanical feature (as result with link) inside the same CATPart. It may also be obtained from CATMmrInterPartCopy [1] (inside a CATPart, option with link). The internal copy is a feature which has a geometrical result copied from the original feature.
![]() |
When the original feature is modified, the update mechanism [2] will copy the geometry of the copied feature to the internal copy.
In some cases the user may want to update the part while keeping the geometry of some internal copies : this is called freezing the internal copy.
When an internal copy is frozen, the original feature may be modified without impacting the geometry of the internal copy.
The concept of freezing is different from the concept of deactivating (described in [3] : deactivating is equivalent to a temporary deletion). If an internal copy is freezed its geometry still exists, and is always displayed in 3D viewer.
However the "deactivate command" (from the contextual submenu) which normally performs a deactivation for all features, has a different behavior for internal copies : it performs freezing. The mask of frozen internal copies is the same mask as a deactivated feature : an opening and a closing bracket [Fig. 2].
![]() |
[Top]
The interface CATIMmiResultFreeze must be called on the internal copy : its type may be a point, a line, a surface, a plane, volume or a solid.
Here is the way to freeze the internal copy feature:
... CATIMmiResultFreeze * pIFreezeOnInternalFeature = ... ; pIFreezeOnInternalFeature->Freeze(); CATBoolean status = pIFreezeOnInternalFeature ->IsFrozen(); // status is TRUE } ... |
Here is the way to unfreeze the internal copy feature: Note that after unfreezing, the geometry does not change : an update of the copy must be called to synchronize the geometry.
... CATIMmiResultFreeze * pIFreezeOnInternalFeature = ... CATISpecUpdate * pISpecUpdateOnInternalFeature = ..... ; pISpecUpdateOnUnFeature->Unfreeze(); CATBoolean status = pIFreezeOnInternalFeature ->IsFrozen(); // status is FALSE pISpecUpdateOnUnFeature ->Update(); ... |
[Top]
While an internal copy feature is unfreezed (default behavior), if the geometry of the original feature is modified, the geometry of the copied feature is automatically modified too. Freezing an internal copy allows you to temporarily disable this update.
Just after the internal copy feature unfreezing, do not forget to update the internal feature: unfreeze api does not launch the update mechanism. Then, the next modifications on the original feature will be automatically take into account in the copied feature.
You can check the CATIMmiResultFreeze usage in the dedicated interactive use case [4].
[Top]
[1] | Copying Mechanical Features |
[2] | Specification/Result Mechanism Applied to Mechanical Features |
[3] | Enabling the Build Deactivation |
[4] | Freezing or Unfreezing Internal Copy |
[Top] |
Version: 1 [Feb 2007] | Document created |
[Top] |
Copyright © 1999-2006, Dassault Systèmes. All rights reserved.
Special Notices
CAA V5 CATIA |
CAA V5 DELMIA |
CAA V5 ENOVIA