Skip to main content
Getting Started Created Edited

Grasshopper Template : FCM Bridge

Download File

FCM Bridge.zip

0.Introduction

 The purpose of this chapter is to make the various features of MIDAS GH more accessible by structuring the content in a way similar to practical examples. This approach aims to help users who may have struggled to learn through manuals to intuitively understand the use of Grasshopper and CIVIL_NX APIs. The primary goal is to support users in learning more effectively and systematically.

 This template is designed to help practitioners efficiently and systematically execute their projects.

 In this example, we will learn how to input everything from the basic geometry to the Construction Stage using the FCM Bridge.

Result Preview

Fig 1. Result Preview

 

1. Overview

1-1 Recommended Versions

 The required versions of MIDAS GH and CIVIL NX for proper use of this template are as follows:

CIVIL NX MIDAS CIVIL NX 2024(v2.1)
MIDAS GH MIDAS GH (v2.0.5)

 If the versions do not match the ones listed above, some features may not function correctly.

 For proper functionality, if you are using lower versions, please update to the versions specified or higher.

 

1-2 Unit System Settings

 This template is configured with the following unit system:

Fig 2. Unit System Settings

 

1-3 Model Overview

Fig 3. Model Overview
Fig 4. Tendon Profile
  • Material Properties and Allowable Stress
    • Pier properties
      fc' = 5.0ksi, ASTM(RC), Grade C5000

    • Main Girder properties
      fc' = 4.0ksi, ASTM(RC), Grade C4000

    • Tendon Properties
      Material: EN 05(S) Y1770S7
      P.C Strand: Φ15.2 mm (0.6˝strand)
      Duct Diameter: 100 mm
      Yield Strength: fpy = 1600 N/mm2
      Ultimate Strength: fpu = 1850 N/mm2
      Cross Sectional area: Ap = 2635.3 mm2
      Modulus of Elasticity: Eps = 2.00 X 105 N/mm2
      Jacking Stress: fpj = 0.7fpu = 1295 N/mm2
      Curvature friction factor: μ = 0.2 /rad
      Wobble friction factor: k = 0.006 /m
      Anchorage Slip: Δs = 6 mm (At the Beginning and at the End)

 

  • Load

     Self-weight : Input Self-Weight

     2nd Dead Load : w = 35 kN/m 

     Form Travelling Load : P = 800kN , e = 2.5m , M = P x e = 2,000 kN·m

    1111.png
    Fig 5. From Travelling Load Point

     Curing Load : Non harden Concrete Weight

 

  • Creep and Shrinkage

    Code: CEB-FIP(1990)
    Characteristic compressive strength of concrete at the age of 28 days: 35 N/mm2(Grade C5000). / 28 N/mm2(Grade C4000)
    Relative Humidity of ambient environment: 70%
    Type of cement: Normal or rapid hardening cement
    Age of concrete at the beginning of shrinkage: 3 days

 

  • Construction Stage

The following outlines a general procedure for FCM construction

Fig 6. Construction Stage Flow

This example is a 3-span FCM bridge constructed with 4 Form Travelers (FT).  As such FT will not be relocated.

2. Execution

2-1 Setting

Before generating the model, Midas GH requires the following settings:

A. API Connection
B. Template Execution

A. API Connection

 MIDAS GH operates using the API of CIVIL NX.
 Therefore, the developed components will function correctly only when they are connected to CIVIL NX.
 The steps to connect to CIVIL NX are as follows:

Fig 7. API Connection

  ① Run the Midas Setting component in Grasshopper.
  ② Double-click the Midas Setting component icon to open the Settings window.
  ③ Execute API Settings in CIVIL NX.
  ④ Copy the content of Base URL from CIVIL NX and paste it into the Base URL field in Grasshopper.
  ⑤ Copy the content of MAPI-Key from CIVIL NX and paste it into the MAPI-Key field in Grasshopper.
  ⑥ Click the Connect button in CIVIL NX.
  ⑦ Click the OK button in the Midas Setting window in Grasshopper.

Tips

Once the Midas Setting in Grasshopper is connected, the setting information is retained. You only need to update it if the MAPI-Key changes.

 

B. Open Template File

 Once the settings are complete, open the downloaded template file.

Additionally, to create tendons, you need to run the downloaded Rhino file along with this template.

Fig 8. Open Template File
Fig 9. Tendon File
Caution

 MIDAS GH components generate information when the file is executed.
 Therefore, if "1) API Connection" has not been completed beforehand, the information will not be generated correctly upon file execution.
 Make sure to perform "1) API Connection" before running the file.

 

2-2 Work Flow

MIDAS GH creates modeling in CIVIL NX through the following process:

A. Generate Geometry in Grasshopper

Fig 10. Geometry in Grasshopper

 

B. Use MIDAS GH Components to Transfer Geometry to CIVIL NX

 MIDAS GH components are used to create geometry in CIVIL NX, each accepting various input variables.

① Create a line in Grasshopper, then use the Beam component in MIDAS GH to build the model.

② For sections, combine the Outer-Dimension of PSC Shape and Inner-Dimension of PSC Shape components to create a PSC shape. Then, connect these to the Tapered Shape component to generate a Tapered PSC Shape.

③ Connect the completed Section Property, Material Property, and Geometry to the Beam component to create the model in CIVIL NX.

④ To establish relationships with substructures and set constraints with the foundation, use the Get Property component from the created modeling component to extract Node and Element IDs for the input locations.

⑤ Similarly, for loads, input Node and Element IDs along with the load values.

Fig 11. Work Flow in Grasshopper-1

⑥ To accommodate construction stages later, configure Structure Groups, Boundary Groups, and Load Groups and input them simultaneously.

⑦ For tendons, this template utilizes tendons imported from drawings into Rhino.

⑧ The imported tendons are transformed into coordinates suitable for the bridge using Grasshopper, and the corresponding elements are identified and assigned accordingly.

Fig 12. Work Flow in Grasshopper-2

⑨ Once the input for the complete structure is finished, create construction stages and set durations for each stage.

⑩ Assign the groups configured in Step ⑥ to the respective construction stages to input the construction stage process.

Fig 13. Work Flow in Grasshopper-3

 

For detailed instructions on how to use the components, please refer to the manual.
GrassHopper API Online Manual – MIDAS Support

 

C. Convert MIDAS GH Components to Data for CIVIL NX API

The input components are converted into data compatible with the CIVIL NX API.

Fig 14. Convert Data Form

 

D. Send API Data in Batch Using Merge and Builder Components

While each MIDAS GH component has its own API execution button, Merge and Builder components are used for efficient modeling to send API data in batches.

Fig 15. Send API

 

E. Run the Model in CIVIL NX

When the Run button is executed, the model is generated in CIVIL NX.

Fig 16. Create CIVIL Model

 

2-3 Run Component

A. Important Notes

a. API Connection When Running Grasshopper
 -> If the template is executed without API connection, components may not function properly, and the data in the Builder component could become disconnected.

In this case, press the Recalculating Button to re-execute all components.
If the Merge component and Builder component are still disconnected, reconnect them manually.

Fig 17. Recalculating Button

b. Geometry Modifications

 -> When the geometry is changed, discrepancies may arise between the modeling information generated in CIVIL NX and the data calculated within Grasshopper.

To ensure proper updates, press the C.Data Matching button to synchronize the modeling information.

Fig 18. Data Matching Button


c. Deactivating Intermediate Components

 -> For efficient work in Grasshopper, components that require long computation times are sometimes deactivated and reactivated after the task is completed.
 In such cases, components following the deactivated ones will not function, causing data to be missing in the Merge component, resulting in the API output disappearing.

In this case, the connection between the Merge component and the Builder component may become disconnected.

After reactivating the deactivated components, ensure to reconnect the Merge and Builder components.

 

B. Template Execution

Fig 19. Result Preview

 

3. Description

 This template consists of a total of seven sections:
Modeling, ② Property, ③ Boundary, ④ Static Load, ⑤ Prestress, ⑥ Construction Stage, and ⑦ Update.

 Their locations are as follows:

Fig 19. Work Location Map

Additionally, in this template, the data that users can modify is marked in purple on the overall component map.

 When the Parameter values in these areas are adjusted, the modeling information will be updated accordingly.

 Please refer to the following details for guidance.

 

3-1 Modeling

The following information is configured as part of the structural modeling details:

Fig 20. Work Location Map(Chapter 3-1)

A. Arrangement

 Set the bridge path.

Fig 21. Arrangement Line in Rhino
Note

The template supports single paths only.
For multiple paths, users need to make additional modifications.

 

B. Pier Table

The following information is configured as part of the Pier Table details:

Fig 22. Pier Table Information

a. Pier Point

Specify the position of the bridge's substructure.

 

b. Pier Distance

Define the distance between the Pier Center and Pier Point.

 

c. Distance to End of Pier Table

Set the distance from the end of the Pier Table to the Pier Center.

 

C. FSM

The following information is configured as part of the FSM details:

Fig 23. FSM Information

a. FSM Length

Configure the length of the FSM section.

 

b. FSM Divide Count

Set the number of elements in the FSM section, excluding the Abutment Support section.

The S4 (Element Length) is determined based on the number of elements.


c. Abutment Support Length

Define the length of the Abutment Support section.

 

d. Abutment Divide Count

Specify the number of elements in the Abutment Support section.

 

D. Key Segment

The following information is configured as part of the Key Segment details:

Fig 24. Key Segment Information

a. Key Segment Length

Set the length of the Key Segment section.

Note

The Key Segment is divided into three sections. To adjust each section’s length individually, modify the connected components.

 

E. Segment

The following information is configured as part of the Segment details:

Fig 25. Segment Information

a. Segment Length

Configure the length of a single segment.

Note

Segments are created sequentially from each pier in the FSM direction, but Element Direction for analysis is aligned with the Global Axis (+ direction).

 

b. Equal-interval Options

  • True : Segments are divided into equal lengths, approximating the specified length.
  • False : Segments are divided as per user-defined lengths. If the total length cannot be evenly divided, the last segment’s length is adjusted.

 

F. Pier

The following information is configured as part of the Pier details:

Fig 26. Pier Information

a. Pier Length

Set the total length of the pier.

 

b. Divide Count

Define the number of elements in the pier section.

 

G. Structure Group

Separate geometry into groups for Construction Stage settings.

The template automatically assigns element numbers to groups.

Fig 27. Structure Group Name

a. Name

Specify the name of the group.

Please refer to the diagram above for the currently configured Group Name.

 

3-2 Property

Adjust the material and section properties applied to the geometry.

Fig 28. Work Location Map(Chapter 3-2)

A. Material

Generate the Material Property to be applied to the members.

Fig 29. Material Flow

Note

MIDAS GH utilizes the CIVIL NX database.
Please apply the appropriate database for your use case in each component.

a. Material ID

Assign an ID to each material.

 

b. Material Name 

Set the name for the material.

 

c. Modulus of Elasticity

Enter the elastic modulus of the material.

 

d. Thermal Coefficient

Specify the thermal expansion coefficient.

 

B. Time Dependent Material

Generate the Time Dependent Material Property to be applied to the members.

Fig 30. Time Dependent Material Flow

a. Relative Humidity

Configure the ambient relative humidity for concrete.

 

b. Concrete Age

Set the time for drying shrinkage to begin after casting.

 

c. Member Size

Input the geometric dimensions of the structure.

 

d. Compressive Strength

Define the 28-day compressive strength.

 

C. Section

Generate the Section Property to be applied to the members.

Fig 31. Section Flow

a. Section ID

Assign an ID to each section.

 

b. Section Name

Assign a Name the section.

 

c. Section Size

Input dimensions for the sections:

c-1. Section Outer Dimension

Input Outer Dimension for PSC sections.

c-2. Section Inner Dimension

Input Inner Dimension for PSC sections.

 

d. Section Shape

Choose the shape of the section.

 

3-3 Boundary

Configure boundary conditions for the bridge.

The template uses CIVIL NX boundary features, allowing users to adjust degrees of freedom and applied values.

Fig 32. Work Location Map(Chapter 3-3)

A. Support

Apply constraints for the model.

 

B. Rigid Elastic Link

Apply a rigid connection between two nodes in the model.

 

C. Boundary Group

Group boundary cases for Construction Stage settings.

a. Name prefix

Specify the prefix for each boundary group.

Note

Boundary Group Name : Combine Name prefix and Structure Group Name.

 

3-4 Static Load

Apply static loads to the bridge.

Fig 33. Work Location Map(Chapter 3-4)

A. Load Case

Set the Load Type to be applied during member design.

Enter the Load Case Name as shown below.

Fig 34. Load Case Flow

a. Name

Specify the name of the load case.

 

B. Self Weight

Set the factor for self-weight.

Note

The Self Weight component does not generate an ID automatically. Therefore, you need to manually input the ID information as shown below.

Fig 35. Self Weight Flow

a. Self Weight Factor

Set the factor for self-weight.

 

C. 2nd Load

Input the loads for pavement, barriers, and additional attachments that are not explicitly modeled.

The regions where the loads will be applied are automatically assigned based on the previously defined areas.

Fig 36. 2nd Load

a. Load Value

Define additional loads, such as pavement or barriers.

 

D. Form Travelling Load

Consider the load from construction equipment. For the form traveler, account for both the weight of the equipment itself and the eccentric load based on its working position.

 

Fig 37. Form Travelling Load Position Detail
Fig 38. Form Travelling Load

a. Load Value

Specify construction equipment loads.

 

b. Form Traveller Position

Set the eccentric position of the form traveler.

 

E. CS Time Load

To reflect the time-dependent material properties caused by age differences between adjacent members, additional age differences are applied to specific members.

The age differences are automatically assigned based on the durations set in 3-6 Construction Stage.

Fig 39. CS Time Load Flow

F. Wet Concrete Load

Input the loads for Wet concrete during each construction stage.

The load is calculated by retrieving the cross-sectional information from CIVIL NX and multiplying it by the concrete's density.

Subsequently, the center of gravity of the entire cross-section is computed to account for eccentric loads.

Fig 40. Wet Concrete Load Flow

 

G. Load Group

To set up the Construction Stage, group the same Load Cases into separate Load Groups.

Note

The Load Group Name is generated by combining the Name prefix and the Structure Group Name.

Fig 41. Load Group Flow

a. Name prefix

Enter the prefix for each Load Group.

 

b. Name

Input the Load Group Name.
This is used when the Structure Group Name is not referenced.

 

3-5 Prestress Load

Apply Prestress Load to the bridge.

Fig 41. Work Location Map(Chapter 3-5)

A. Tendon Property

Input the material properties of the tendon.

The method for applying relaxation can be configured within the component.

Fig 42. Tendon Property Flow

a. Tendon ID

Assign an ID to the tendon property.

 

b. Tendon Name

Assign Name the tendon property.

 

c. Wire

Input wire details for the tendon.

 

d. Duct

Define duct size.

 

e. Friction Factor

Set the friction coefficient value to account for prestress losses.

 

f. Anchorage Slip

Input the slip amount at the anchorage.

 

B. Tendon Profile

Configure the shape and placement of the tendon.

 This template uses a method where tendon placement is first created in 3D using Rhino based on drawings, and then positioned appropriately in the model using Grasshopper.

 If the tendon path is curved, creating it in 3D can be challenging. In such cases, the straight path is used as a reference and later adjusted to fit the curved path. Even if the total length of the tendon and the model differ, they are proportionally adjusted to align correctly.

 Thus, as long as the position and length ratio of the tendon on the straight path match, the tendon will be generated correctly in the model.

Fig 43. Tendon Profile Parameter

a. Reference Line Position

Create a reference line based on the tendon’s length.

 

b. Import File

Import tendon placement data by layer.

 

c. Tendon Name

Automatically generate tendon names using prefixes and top/bottom settings.

 

C. Tendon Prestress

Input the Prestress Load for the tendon.

Refer to the diagram below for the direction of prestress application to the tendon.

To change the prestress application position, adjust the order of the values connected to the component.

Fig 44. Tendon application & Sequence
Fig 45. Tendon Profile flow

a. Tendon Jaking Force

Input the prestress force to be applied to the tendon.

 

b. Grouting Stage

Define the timing for duct grouting after the tendon has been prestressed.

 

3-6 Construction Stage

Configure construction stages and assign actions for each step.

Fig 46. Work Location Map(Chapter 3-6)

 

Construction Step

Fig 47. Construction Stage Flow

 

A. Construction Step

Configure construction stages.

Fig 48. Construction Step

a. Segment Construction Step

Define the total steps for segment construction.

This template automatically calculates and inputs the Max Segment Count.

Note

Segments are constructed simultaneously in both directions from each pier, with one step assigned per segment.

 

b. After Segment Consturction Step

Set the number of remaining steps after the segment construction is completed.

 

B. Duration

 Set the duration for each construction stage.

Fig 49. Stage Duration

a. Stage Date

Specify the duration of each stage.

 

b. Additional Data

Set the period for existing component influence.

This is applied when changing the load application timing or incorporating additional loads within a single construction stage.

In this template, the time required for tasks prior to concrete casting is specified.

 

c. Connection Date

Configure the period to consider creep effects.

 

d. Permanent Date

Set the duration to account for the effects of creep.

 

C. Start CS Step

Define the construction stage to be applied to each member.

For FSM and KeySeg, the stages are set to be applied sequentially after the completion of the segment construction.

Fig 50. Start Cs Step

 

D. Deactive Step Interval

Define the duration (steps) during which the loads are applied.

Fig 51. Step Interval

 

 

 

4. Used Components

Component Summary Table

Chapter Contents Component
Common Information Linking Between Components Get Property
2-1 Setting Connection API MIDAS Setting
3-1 Modeling Create Main Girder/Coping Element Beam
Set the Structure Group Structure Group
3-2 Property Create Material Property Concrete Material
User Material
Create Time Dependent Material Creep/Shrinkage
Comp.Strength
Time Dependent Materail Link
Create Section Property Outer-Dimension of PSC Shape
Inner-Dimmension of PSC Shape
Shear Check of PSC Shape
Web Thick.for Shear of PSC Shape
PSC Shape - 1,2 Cell
Tapered Shape - PSC 1,2 Cell
Shape User
Change Offset
Section
Additional Option
3-3 Boundary Method for Transferring Loads on the Section to Each Point Rigid Elastic Link
Set constraints with support point Supports

Searching for Node IDs in CIVIL NX Modeling

Get Node
Searching for node IDs contained in CIVIL NX Element Get Elem Node
Set Boundary Group Boundary Group
3-4 Load Create Load Case Static Load Cases
Assign Self Weight Self Weight
Input distributed load (2nd Load) Beam Loads
Input Nodal Load (Wet Concrete Load, Form Travelling Load) Nodal Loads
Input Additional Loads for Age Differences Time Load
3-5 Prestress Load Create Tendon Property Post-tension Tendon Property
Create Tendon placement 3D Spline Tendon Profile
Input Tendon Prestress Tendon Prestress
3-6 Construction Stage Input Elements Applied to Construction Stages C.S Act. Structure Group
Input Loads Applied to Construction Stages C.S Act. Load Group
Input Loads Deactivated During Construction Stages C.S Deact. Load Group
Input Boundary Applied to Construction Stages C.S Act. Boundary Group
Create Construction Stage Define C.S
3-7 Update Data Combine Common APIs Merge Data
Batch API Transmission to CIVIL NX Model Builder 

 

5. Caution

5-1 Not Working Component

When components fail to function while using the template, check the following:

a. API Connection
  • Ensure the API connection between Grasshopper and CIVIL NX is active.
  • Recheck the Base URL and MAPI-Key settings. If disconnected, re-establish the connection and refresh the template.
b. Component Connections
c. CIVIL NX Warning Messages
  • Review any warning messages displayed in CIVIL NX.
  • These messages often indicate issues such as unsupported data formats or missing elements.

5-2 Modeling Error

If components fail to create a model correctly in CIVIL NX, follow these steps:

a. Verify Input Data
  • Check that all necessary input data (e.g., geometry, material properties, boundary conditions) has been entered accurately.
b. Recalculate Components
c. Inspect JSON Data
  • Use a Panel component to review the JSON data sent to CIVIL NX. Ensure that all required fields are included and formatted correctly.
d. Review CIVIL NX Log
  • Examine the CIVIL NX log for detailed error descriptions and resolve the issues indicated.
e. Ensure Version Compatibility
  • Verify that you are using the required versions of MIDAS GH and CIVIL NX. Update if necessary.
f. Restart and Retry
  • Restart both Grasshopper and CIVIL NX, then retry executing the template.

If issues persist, contact MIDAS technical support for further assistance.

0
Was this article helpful?