With most parametric history-based modeling tools (and maybe all) there are two modes that users work in; part modeling mode and assembly modeling mode. One of the first things you must do after starting up one of these history-based applications is to decide whether you will be working with a part or an assembly. This is so frustrating to me, but it does make sense considering history-based technology. Keeping these two environments separate is important with a history-based system. The system needs to know which part history tree or which assembly history tree the modeling operation will be recorded into. Because of the need for two separate environments, in-context design is naturally a challenge for a history-based system. Makers of history-based CAD systems have had to develop specific functionality to work around the related complexities that come with history-based in-context design. But even with the special functionality and workarounds, users still need to be somewhat careful when taking advantage of these special capabilities.
With a history-free design system, there is no need to have two separate environments, one for part modeling and one for assembly modeling; since there is no history tree to manage. Users can always create parts and assemblies in context and simultaneously. History-free design systems provide a very natural environment for top-down or in-context design. No special functionality or workarounds need to exist. It’s like working on your desk with physical parts. In this environment an assembly is just a structure. Parts and subassemblies can be placed into the assembly structure anytime. Once in the structure, the owning assembly manages the positions and relationships of the parts and subassemblies.
Here is just a simple demonstration showing an example of in-context design using PTC CoCreate Modeling. A few key points to watch for during the demo:
- Creating multiple, unique parts in one modeling operation
- Modifying multiple parts with one sketch and one modeling operation
- Modifying multiple parts with many sketches in one operation
- Modifying a part by referencing geometry from another part
- Moving multiple parts while modifying a part, in one operation, without constraints
- Manipulating assemblies and parts in one environment