The purpose of this section of the wiki is to introduce beginners to the underlying concepts of GenerativeComponents (dead link) and offer some more conceptual background to the more experienced user. The GenerativeComponents - Capturing Design (dead link) section is structured from a design point of view rather than as a purely technical manual. These wiki pages can be read sequentially, or as reference material on the side while working with GenerativeComponents.
GC - Geometry Basics in Parametric Design (dead link)
GC - Features and Interfaces (dead link)
GC - Parametric Space (dead link)
GC - Free Form Geometry (dead link)
GC - Geometric Continuity (dead link)
Modeling in a CAD environment is centered on geometric tools. In a parametric associative environment such as GenerativeComponents, the approach is similar but offers the additional benefit of storing relations between elements in an associative way. These associations require defining the creation methods explicitly. This has some consequences to the interface of the geometric tools. The main difference is that inputs are created by reference to existing Features by referring to their unique name in the system. In turn, each new Feature receives a new unique name.
The main tools are the shortcuts to create points, planes and coordinate systems and the complete list of Features available. First, choose the Feature type you would like to create. Second, identify the update method most appropriate for the way you want to create and later vary the Feature. Once the Feature is created there are multiple ways to edit it or interact with it.
Feature assemblies can in turn be captured and turned into new Feature available to users for future designs. This is a powerful function that otherwise would only be possible through programming. It allows users, modeling designs, to harness some of the power of programming without requiring them to have programming expertise.
GC - Simple Free Form Roof Example (dead link)
GC - Free Form Roof Example (dead link)
GC - Simple Bridge Example
GC - Landscape Bridge Example (dead link)
Another approach, besides manual modeling of geometry, is that of scripting generative statements to define and manipulate Features. The main advantage of a script-based approach is the ease with which a large number of elements can be created using equations or other forms of varying expressions to vary the inputs to the different instances of the Features. Scripting is a step towards programming while still maintaining the modeling context. Syntax across GenerativeComponents is consistent and allows the use of methods in a modeling context as well as in a scripting context. The scripting approach offers more possibilities in its generative possibilities and logical structure. For instance, it is possible to work with the full set of commands allowing for conditionals and data set management. Nonetheless, the scripting approach works in parallel with the modeling environment. A script generates the exact same data and geometry Features as would a manually modeled design but allows the designer to use the efficiency of generative techniques such as loops, conditionals, and functions.
GC - Point By Function Example
GC - List Of Points With A Loop Example (dead link)
GC - Simple Equations To Describe Form Example (dead link)
GC - Scripting Data Structures For Use With Features Example (dead link)
GenerativeComponents also supports the developing of programmed Features in the C# language using Visual Studio or Visual Studio Express by Microsoft. This allows for the refinement of Features that have either been previously prototyped in modeling or scripting and require a faster and more robust implementation for large scale deployment, or for very calculation-intensive Features with many geometric elements and operations that would be too slow to execute in the parametric, associative modeling environment. For instance, a structural form optimization may be calculated within a programmed Feature and then made available within an office as an easy-to-deploy Feature within the normal modeling environment of GenerativeComponents. The C# programming approach is most likely used for capturing computationally-intensive calculations for a Feature that is used frequently and has gone through some design revisions. The parallel tracks of GenerativeComponents, therefore, also support and encourage teamwork across the different forms of design and expertise. As an intended side benefit, the introduction of beginners to the parametric modeling environment also prepares them for learning scripting and, potentially, programming. These are skills that become increasingly important in complex design projects.