Analysis
Files
- FormFindComponent.cs
`FormFindComponent.cs` is a Grasshopper plugin component designed to calculate the equilibrium geometry of tensile structures through form-finding analysis. It accepts an FEM model and various physical parameters, such as gravity, pressure loads, and solver configurations, to determine the final shape of cable or membrane systems. Key components include input definitions for material properties and boundary conditions, alongside a custom UI button that triggers the computational process either manually or via auto-run mode. The core logic utilizes the `TensileLib` library to assemble the structural model and employs different solvers (linear, non-linear, or step-by-step) to iteratively converge on a stable mesh geometry. Finally, it outputs the resulting FEM model, the generated mesh for visualization, and a detailed log of the solution steps and any warnings encountered during the calculation.
- SapAnalysisComponent.cs
This file defines `SapAnalysisComponent`, a Grasshopper plugin component that integrates Rhino/Grasshopper with the SAP2000 structural analysis software. It facilitates Finite Element Method (FEM) model transfers, allowing users to export models from Grasshopper to SAP2000 or attach to an existing active instance for analysis. The component handles critical inputs such as the FEM model data, design preferences, and specific load case or combination selections for result retrieval. Key internal logic involves managing the SAP2000 COM API objects (`cOAPI`, `cSapModel`) and validating file paths or connection settings before execution. It dynamically updates UI elements like value lists to reflect available analysis cases and supports both manual triggering via a "Run" button and automatic execution upon input changes.
- StrausAnalysisComponent.cs
This file defines a Grasshopper component (`StrausAnalysisComponent`) designed to interface with the Straus7 finite element analysis software. Its primary function is to facilitate the automation of structural analysis by connecting a Rhino/Grasshopper model to an external API server, handling solver selection, and managing load cases or combinations. Key components include input parameters for the FEM model, solver type, specific analysis results, output file path, and API server IP address. The core logic resides in the `SolveInstance` method, which validates inputs, dynamically updates result case lists, and invokes helper methods to create the model file and execute the analysis via the `St7ApiWrapper`. It also manages runtime messages for errors and warnings, ensuring robust data exchange between the visual programming environment and the structural analysis engine.
- StrausR3AnalysisComponent.cs
This file defines a Grasshopper for Rhino component named `StrausR3AnalysisComponent` that integrates the Straus7 FEM solver with the visual programming environment. It facilitates finite element analysis by accepting an input model, selecting a specific solver type, and defining output paths for `.st7` files. The component manages complex inputs such as load cases, freedom cases, and staged construction combinations to configure the simulation parameters. Upon execution, it processes these inputs to generate analysis results, which are then returned to the Grasshopper definition via its single generic output parameter. Key components include the solver selection logic, case combination handlers, and automatic UI updates for result lists.