The following is a Best Practice guide for the technical articulation of a Virtual Construction Brick (VCB).
For the illustration purposes, we will use a mechanical riser as a demonstrator. The riser is assembled off-site and composed of a Unistrut mechanical frame with a waste pipe connecting to a toilet with a standard pipe T. The pipe is fixed to the Unistrut with conduit clamps. Depending on the size of the riser, the Unistrut automatically adapts with a new framing, positioning the Pipe T and inserting conduit clamps as required.
Technical Definition Process Map
To establish the requirements for both the Declarative and Detailed VCBs, it is important to start with by looking at the deliverables by phase. Typically, Quantity Takeoffs (QTO) and Design Documentation uses "schematic" information--the approximate number of elements can be determined or represented for costing without the model having the full detail fabrication information. This provides a lightweight representation of the model where modifications might still be required as described in the VCB Implementation Process.
Technical Definition Process Summary
- Decide on Deliverable Requirements (based on business needs).
- Define VCB Type (Declarative and/or Detailed).
- Setup needed Interfaces and determine typical BIM Context Inputs.
- Collect and translate Expert Knowledge to numbers and formulas for use in Brick.
- Compose Skeleton Framework and assess whether Parametric and/or Generative automation are required. (Rule: If some elements of the skeleton are added or removed then it is Generative.)
- Determine appropriate Variability and Parameters.
- Encode Rules for Engineering, Manufacturing and/or Installation from Expert Knowledge.
- Plan the Product Breakdown Structure (if a Detailed VCB is needed) including which are Transformable or Non-Transformable Parts.
Declarative VCB Content Preparation
The Declarative VCB Definition stems from the Brick Definition Process (described here) Step 3 : Identify the building level brick architecture. Identify the customer's “valuable” variable features – degrees of freedom – and define modular rules. In the mechanical riser below, the Unistrut ladder varies by a fixed division by the input volume. That behaviour is specifically determined by the customer and embedded into the model.
The VCB Logical Architecture of Step 8 is where the behaviours associated to each parameter get defined and ultimately translate into the above technical definition of the skeleton. The tools indicated produce the behaviour described.
Defining the Declarative VCB Skeleton and Outputs
The VCB logic architecture and the context will clarify the objective and technical steps for constructing the VCB. Based on above:
- Create the geometric Skeleton of the Brick using the Input geometry.
- Use Wireframe, Surface and Volume features for a Parametric Skeleton.
- Use Visual Scripting for a Generative Skeleton.
- Define the geometric relationships (Engineering/Manufacturing/Installation) within the Skeleton using either Visual Scripting and/or EKL.
- Define the Declarative Brick Outputs:
- Geometry and data needed for QTO
- A drawing of a Declarative Brick might contain the overall geometry
Detailed Brick Content Preparation
Product Breakdown Structure
The Product Breakdown Structure is a tree-like structure that provides the identification and structure of the components of the brick. Each of these elements is defined as a Transformable or Non-transformable part depending on if it is modified in the creating of the Brick
Setting up Standard Parts
Preparation of standard parts and profiles is critical to ensure the performance of downstream Brick activities. By following a standard process for preparing this content, Parts can be reused in a variety of different Bricks for different applications.
Non-Transformable Parts
- Import from your supplier the 3D Data in a Physical Product
- Add a Base Axis System at the Origin of Physical Product
- Include relevant connections or parametric data that will define downstream functionality (such as the ports in the pipe tee example)
Transformable Parts
- Create a New Part
- Design the Part using Wireframe and/or Volume features.
- Define its specification parameters (PartNumber, dimensions, id, ...)
- Create a UDF of the design including the specification parameters. (This UDF will be referenced in the Visual Script for generative/physical transformation.)
Reference: CATIA Piping & Tubing - How to start
Creating the Initial Brick Product
The riser demonstrator Brick includes a space reservation for the input, Transformable parts (Unistrut and pipe) and Non-Transformable Parts (conduit clamps and pipe T). The following gives an overview for the construction of the corresponding element of the Brick.
- Create the Brick Product (Use an AEC Type corresponding to your Brick)
- Insert a 3DShape
- Create a Resource Table and link the Transformable Part UDFs
- Create an Axis System at the Part origin. It will be used as the Base Axis System (This Axis will correspond to your Brick Origin)
- Create Geometrical Sets for the Brick Inputs and the Interfaces. (It is recommended to also create a Geometrical Set for the construction geometry.)
- Design the Brick Inputs around the Brick Origin
- Define the Brick Parameters
- Publish the Base Axis System (required to use in a Component Spec for instantiating the Brick)
- Insert a 3DShape
Defining the Skeleton within the VCB and Product Structure
- Create the geometric Skeleton of the VCB using the Input geometry.
- Use Wireframe, Surface and Volume features for a Parametric Skeleton.
- Use Visual Scripting for a Generative Skeleton.
- Define the geometric relationships (Engineering/Manufacturing/Installation) within the Skeleton using either Visual Scripting and/or EKL.
- Set the Skeleton Outputs:
- Oriented Axis System for Non-Transformable Part locations.
- AEC Typed volumes of the Transformed Parts
- Instantiate the Non-Transformable Parts
- Insert Existing Product of Non-Transformable Part(s)
- Add Engineering Connection between the Base Axis System of Non-Transformable Part and first Axis System from Skeleton output.
- Create Assembly Pattern between Non-Transformable Part and Skeleton Axis System output Geometrical Set.
- Expose the Transformable Parts (only when the VCB is instantiated in a Project, not in the VCB Product) using one of the these options:
- Use "Distribute" to expose the Transformable Part features from the Skeleton as Products.
Keeping the content as features within the VCB makes it easier to edit, update and modify. Once major changes have been resolved, Distribute changes feature to Parts which can then be used as PLM objects for life-cycle management and downstream DELMIA processes, for example. - Use Change LOD on a Component Specification for the Transformable Parts that have been placed in the VCB Product. The Component Specification uses an Engineering Template to get more information or detailing on the Transformable Parts such as Attributes, Drawings, Annotations, etc.
- In specific use instances, EKL can provide additional operations like automated exposition but this requires coding.
- Use "Distribute" to expose the Transformable Part features from the Skeleton as Products.
Complete Virtual Construction Brick Element Hierarchy
The final Complete VCB is composed of three essential elements constructed in the following order: 1. Brick Product, 2. Brick Engineering Template, and 3. Brick Object Type. In addition the Brick Object Specification, which is created from the Brick Object Type, is used in the context of the final Complete Brick to automatically instantiate Declarative and Detailed Bricks.
Declarative VCB
Brick Product (User Defined Feature, Power Copy, or Design Sequence )
⮟
Brick Object Type (Adaptive)
Detailed VCB
They are organised in a dependency hierarchy in which the Content is linked into the Definition which is linked into the Object Type like so:
Brick Product (Assembly of Skeleton and Parts)
⮟
Brick Engineering Template
⮟
Brick Object Type (Adaptive)
Detailed VCB Engineering Template Definition
- Create a new Engineering Template and insert the Brick Product (Assembly of Parts).
- Make sure to have the Non-Transformable Standard Components set under the "Unchanged Components" part so that they are not Duplicated but instead use the same Reference.
- Add inputs which were originally defined as the BIM Context Inputs of the Brick Product.
- Select the driving parameters that you want to expose.
Detailed Brick Object Type Setup
- Create a new Object Type which matches the AEC Type for the Brick Product and set the "Product instantiation method" to "Adaptive".
- Insert the Engineering Template into the "Product-based Design" portion of the Resource Table of the Object Type.
Complete VCB (Declarative + Detailed)
Detailed Brick Object Specification (from Object Type)
⮟
Declarative Brick Object Specification (from Object Type)
⮟
Complete Brick Product (Assembly of Skeleton and Parts)
⮟
Complete Brick Engineering Template
Reference: Explore the Civil Engineer Role for Component-Based Design
Complete VCB Architecture in Context
Below is an introduction to the Best Practice structure of a project model that receives a Virtual Construction Brick. The initial received model is under Architecture with the placeholder object to be replace distributed and instantiated in the Construction product.
Typically, when distributing Architecture content into the Construction model, we recommend Distributing in Traceability Mode to connect the resulting features to their authoring source. For some building elements, this will also make the distributed features parametric (example: walls, windows, doors). Additionally, when transferring data, it is recommended to put all elements within the desired scope into the same 3D Shape to ensure interactions between interfacing elements (example: a window that sits in a wall).
Project
Organisation
- Architecture
- Construction
- Complete Brick
- Declarative
- Inputs
- Declarative Bricks
- Declarative Quantify
- Declarative Specification
- Detailed Specification
- Detailed
- Detailed Bricks
- Declarative
- Complete Brick
Relationships
Declarative (Close-up)
Organisation
- Inputs
- Working
- Final
- Declarative
- Declarative Brick Product
- Initial
- Initial Output
- Final
- Parameters
- Drivers
- Final Output
- Initial
- Declarative Brick Product
Relationships
Detailed (Close-up)
Organisation
- Skeleton
- Parameters
- Outputs
- Drawing + BOM
- Non-Transformable Parts
- Transformable Parts
- Assembly Pattern
Relationships
Complete VCB Instantiation Example of a Service Riser
Service Riser Demo
This demo explores the use of a virtual construction brick in a new project. The video covers:
- Typical Elements & Organisation of a VCB
- Engineering Template (VCB) Instantiation
- Transfer of geometrical inputs from a project into the Declarative VCB
- Adjusting specifications of Declarative VCB before Detailed VCB
- Expose detailed components through change of LOD
- Providing downstream information for collaboration
Role prerequisites and FAQ
Visual Script allows Designers to design any shapes and patterns (including advanced wireframes & surfaces) using CATIA's parametric modelling technology with high automation. The graphical programming interface replaces the need for directly coding functionality in models. Additionally, it provides a space to document, capture know-how and share knowledge between projects. It is strongly recommended as a key consideration in the development of VCBs to accelerate production and capture expertise.
What do I need to create Bricks? BCMDC or BCMDC + GGR (GGR is strongly recommended. It is possible to use EKL)
Do I need Visual Scripting? No but it is strongly recommended.
Do I need Multidiscipline Drafting? Yes if you want your BOM to update on your drawings however it is included in all AEC packages.
Note : Virtual Construction Engineer is a role currently in development that will allow for an economic solution to building and manipulating Virtual Construction Bricks.
