Bentley Communities
Bentley Communities
  • Site
  • User
  • Site
  • Search
  • User
  • Welcome
  • Products
  • Support
  • About
  • More
  • Cancel
GenerativeComponents
  • Product Communities
  • More
GenerativeComponents
GenerativeComponents Community Wiki GenerativeComponents Concepts
    • Sign in
    • +An Overview of GenerativeComponents
    • +Addin Content
    • +Bentley BIM Modeler Accreditation – Program Overview
    • +C# Sample Solution and other Add-ins
    • +GenerativeComponents Solutions
    • +Learn GenerativeComponents
    • -Reference Material
      • -GenerativeComponents Concepts
        • Free Form Geometry
        • Geometric Continuity
        • Parametric Space
      • Links
      • +OpenBuildings Station Designer Template Scripts
      • Publications
      • +Release Announcements
      • Resources Playlist Sheet - Basics through to Advanced
    • Support for GenerativeComponents
    • +Tutorials
    • +User Projects
    • +Visualized Parametric Experimentations
    • +zed_Older Content

     
     Questions about this article, topic, or product? Click here. 

    GenerativeComponents Concepts

    Introduction

    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.

    Geometric Basics

    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)

     

    Model Based Approach

    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.

    Modeling Examples

    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)

     

    Script Based Approach

    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.

    Examples/ Tutorials

    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)

     

    Programming Based Approach

    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.

    Programming Examples

    Coming Soon

    • Share
    • History
    • More
    • Cancel
    • Jonathan Asher Created by Jonathan Asher
    • When: Fri, Oct 10 2008 1:18 PM
    • James Anding Last revision by Bentley Colleague James Anding
    • When: Fri, Aug 13 2021 12:14 PM
    • Revisions: 36
    • Comments: 0
    Recommended
    Related
    Communities
    • Home
    • Getting Started
    • Community Central
    • Products
    • Support
    • Secure File Upload
    • Feedback
    Support and Services
    • Home
    • Product Support
    • Downloads
    • Subscription Services Portal
    Training and Learning
    • Home
    • About Bentley Institute
    • My Learning History
    • Reference Books
    Social Media
    •    LinkedIn
    •    Facebook
    •    Twitter
    •    YouTube
    •    RSS Feed
    •    Email

    © 2021 Bentley Systems, Incorporated  |  Contact Us  |  Privacy |  Terms of Use  |  Cookies