Data Management Capabilities > Configuration and Change Management Overview > Overview of Product Configuration Strategies > Managing Configurable CAD Structures
  
Managing Configurable CAD Structures
Part structures and CAD structures can be tied together by associating objects in the part structure with the corresponding objects in the CAD structure. Just as you can create configurable and variant part structures in Windchill, you can also create configurable and variant CAD structures in Creo. The extension of the optionality to the CAD side is available though the capability referred to as AnyBOM Assembly.
With the AnyBOM Assembly capability, when a configurable product structure is associated with a configurable CAD structure, basic expressions that are assigned to parts in Windchill are propagated to the corresponding CAD model components as assigned choices. Conversely, the choices assigned to the CAD model components in Creo are propagated to the corresponding parts as basic expressions.
When you configure a configurable product structure in Windchill, the result of this process is a variant part structure and a variant specification that captures all your selections and filtering criteria. This variant specification is also available in Creo, allowing engineers to filter the CAD structure based on the choice selection criteria saved in the variant specification.
With the AnyBOM capability, Creo users can perform the following activities on configurable CAD data:
Assign choices on CAD parts and assemblies
Filter a CAD model structure by specifying choice selection criteria or by applying a variant specification
Create a variant CAD structure from an overloaded configurable CAD product structure
The process of developing configurable structures can start on the Creo side in a bottom-up scenario, or it can start on the Windchill side in a top-down scenario. Most often, it is a combination of the bottom-up and top-down scenarios, when an existing structure is re-purposed for another product line, and then augmented with new modules and components.
Choice Assignment in Windchill and Creo
Basic expressions assigned in Windchill are the option choices assigned to parts and part usage links to specify when a component is applicable. While in Windchill you can define two types of expressions (basic and advanced), only basic expression assignments can be passed from Windchill to Creo.
* 
If you are using the AnyBOM Assembly functionality and want to pass basic expression assignments to Creo, make sure to set the Supported Expressions preference in Windchill to Basic expressions only since advanced expressions are not passed over to Creo.
Choice assignments on objects in the CAD or part structure of a configurable module are propagated between Creo and Windchill during these processes:
When a CAD document is uploaded to Windchill, choice assignment is propagated from a CAD model to a CAD document.
During a bottom-up build process, choice assignments are propagated between CAD documents and a part structure.
During a top-down build process, basic expression assignments are propagated between a part structure and a CAD structure, and then to CAD models.
* 
The choices defined in Windchill can be assigned to objects in Creo and in Windchill (using basic expressions). In addition to the choices defined in Windchill, a Creo user can also define the choices that are local to Creo, and assign them to assembly components in Creo. However, these choice assignments are not propagated back to Windchill.
Prerequisite for Assignments and Filtering
To assign basic expressions (option choices) and to filter configurable structures, an option set must be assigned to a configurable product or to a configurable module.
When assigning choices and filtering configurable CAD structures, Creo uses the option set assigned to the corresponding configurable module.
Elements of a Configurable Structure
A configurable structure can contain standard and optional parts or components. Product variations are built into a configurable structure through the use of the following configurable objects:
Configurable product – a top-level end item that represents a collection of product variations (for example, a product family with different models, in which some standard components are shared among the models, and some are unique to each product model).
Configurable module – a configurable component of a configurable product. A configurable module captures variability on a component level. In Windchill, it is represented by an overloaded structure that includes all possible design variations of that component. In the process of creating a variant, a configurable module is replaced by the specific parts (module variants) that are selected from the optional parts and components based on the selection criteria that you specify and the basic expressions assigned to parts and components.