History and Roll in Assembly Modeling


ACIS Assembly Modeling is designed to support history and roll operations on both part and assembly entities. (Refer to the section Entity Managers in Assembly Modeling for a definition of "part entities" and "assembly entities".) Assemblies, model references, and properties are implemented using subclasses of ENTITY, and thus, participate in history and roll.

Managing history streams and roll operations are "part mode" operations; they are the responsibility of the application document(s) bound to the history stream. (Refer to the section Assembly Modeling vs Part Modeling for a discussion of part mode and assembly mode.) ACIS Assembly Modeling ensures that the correct history stream is active before performing operations on entities by calling the nested_activate_vf method on the entity manager which owns the entities being acted upon.

ACIS Assembly Modeling supports independent roll of model contents; every asm_model object can have an independent history stream bound to its corresponding application document. Multiple models may also be bound to the same history stream, up to having all models share the same history stream; most customers will want to associate a unique history stream with each model.

Note:  The ACIS Part Management component has a limitation that either each PART (that is, model) must own a unique stream (distributed history mode) or all PART objects must share the same, default stream. This may prevent certain ASAT files which were saved with history from being loaded into an application, such as the Scheme toolkit, which uses the acis_pm_entity_mgr.

Models may be saved to ASAT with history, analogous to how entity lists may be saved to SAT with history with one subtle difference. If an ASAT file which was written with history contains models which share a history stream, then the corresponding models must share a stream when the ASAT file is read, even if history is not restored. This is different from the behavior of SAT, where the presence of history data in a file does not affect the result of a read operation in which history restoration is turned off.

The fact that ACIS assemblies are distributed across multiple histories streams (associated with the models used by the assembly) can lead to some behaviors and limitations which are non-intuitive to developers used to working in part modeling mode:


Related topics:

Entity Managers in Assembly Modeling
Assembly Modeling Macros and Notification Mechanisms
Implementing Atomic Save and Restore

[Top]