Checks
Files
- AddForceToBeamComponent.cs
This file defines a Grasshopper component named `AddForceToBeamComponent` that integrates structural analysis results into beam geometry. Its primary function is to accept an input beam and a list of force results, then attach those forces to the beam's data model. The key components include two generic inputs for the beam and force list, and one output that returns the updated beam. Internally, it processes each force by adding it to a `BeamModel` instance before wrapping it back into a `GH_Beam` object for output. This allows users to visually or analytically append calculated forces directly onto beam elements within a parametric workflow.
- ForceComponent.cs
This file defines a Grasshopper component named `ForceComponent` within the FeMM plugin, designed to package structural analysis data into a standardized object. It accepts various beam element results—including axial force, shears, torsion, and bending moments—along with metadata like load case names and station positions. The core logic resides in the `SolveInstance` method, which aggregates these scalar inputs into a `BeamForceResultModel` instance. This model encapsulates the forces using specific vector structures for shear and bending components while preserving normalization settings. Finally, the component outputs this single composite object for downstream use in steel check calculations or other structural evaluations.
- MixedSectionShearCheckComponent.cs
This file defines a Grasshopper component named `MixedSectionShearCheckComponent` that performs structural shear verification on composite steel-concrete beams. It accepts inputs for the beam geometry, material properties (steel, concrete, rebar), and applied loads to calculate a shear working ratio against specified design codes like ACI 318 or SBC 306. The core logic resides in the `SolveInstance` method, which extracts section dimensions and iterates through load cases to apply specific code-based formulas for shear resistance. Currently, the implementation primarily handles standards 1 (AASHTO) and 3 (SBC 306-CR-18), while placeholders remain for EC2 and NTC2018. Key components include input parameter registration for geometric and material data, and an output parameter that lists the resulting safety ratios for each load case.
- MixedSectionTensionCheckComponent.cs
This file defines a Grasshopper component for performing tension checks on composite steel-concrete sections using the Maffeis structural analysis library. It accepts inputs such as beam geometry, material properties, and load cases to construct a reinforced concrete section model with homogenized steel factors. The core logic utilizes `SectionCheckerACI318` to calculate stress and strain distributions based on selected design standards like ACI 318 or AASHTO. Key components include input/output parameter registration for visual data flow and the `SolveInstance` method that orchestrates the engineering calculations. Finally, it outputs detailed results including CSV-formatted summaries, neutral axis locations, and stress values for steel, concrete, and rebars.
- RCBeamRebarsComponent.cs
`RCBeamRebarsComponent.cs` is a Grasshopper plugin component designed to generate detailed reinforcement bar layouts for reinforced concrete beams within a structural analysis workflow. It accepts inputs such as beam geometry, longitudinal and shear reinforcement areas, cover depths, and specific bar diameters to calculate precise rebar configurations. The core logic processes these parameters to determine bar lengths, bending radii, and anchorages, while also handling the sequencing of adjacent beam segments. A key feature is its ability to export the resulting rebar data as `.txt` files compatible with Revit for further BIM integration. Additionally, it calculates the total weight of the reinforcement based on user-defined multipliers and validates input data consistency before processing.
- RCFrameAsComponent.cs
This file defines a Grasshopper component named `RCFrameAsComponent` designed to calculate the required reinforcement areas for reinforced concrete (RC) frames. It processes input lists of structural frames along with material properties, safety factors, and unit configurations to determine necessary steel areas for beams and pillars. The component separates inputs into geometric data (covers, dimensions) and material constants (yield strength, partial safety factors), converting units as needed for internal calculations. Its primary function is to output specific reinforcement requirements, including top/bottom longitudinal steel and shear reinforcement, organized by beam and pillar elements. Key components include input parameter registration for frame geometry and material specs, unit conversion logic using helper classes, and iterative processing loops that evaluate each beam or pillar against concrete design criteria.
- RCFrameChecksComponent.cs
`RCFrameChecksComponent.cs` is a Grasshopper plugin component designed to perform structural checks on Reinforced Concrete (RC) frames, specifically analyzing beams and pillars. It accepts geometric data, such as beam/pillar lists and section locations, along with material properties like reinforcement area, safety factors, and concrete strength parameters. The core logic validates input data dimensions for consistency before processing the structural elements. It utilizes unit conversion utilities to handle various length and force units, ensuring accurate calculations across different measurement systems. Finally, it outputs the processed geometry, section coordinates, and critical utilization ratios (URs) indicating the resistance status of each structural member.
- RCPillarRebarsComponent.cs
`RCPillarRebarsComponent.cs` is a Grasshopper definition component designed to automate the generation of reinforcement data for reinforced concrete (RC) pillars. It processes inputs such as pillar geometries, longitudinal and shear reinforcement areas, section locations, and material properties to calculate detailed rebar specifications. The core logic iterates through pillar data to create `PillarReinfData` objects, which are then logically sequenced and attached based on spatial proximity to form continuous reinforcement sequences. Key components include input validation for data dimensions, length unit conversion utilities, and algorithms for grouping disjointed pillar segments into coherent sequences. Finally, it outputs the total reinforcement weight in kilograms and prepares data for export to external files like Revit-compatible text formats.
- SteelFrameChecksComponent.cs
This file defines `SteelFrameChecksComponent`, a Grasshopper plugin component designed to perform structural verification checks on steel frame members. It processes input lists of beam geometries and material properties to calculate utilization ratios (URs) for both resistance and buckling stability. Key components include enumerated types for configurable length and force units, which facilitate unit conversion for elastic modulus and yield stress calculations. The core logic iterates through each beam, extracting section properties like area, moments of inertia, and lengths to compute critical buckling loads and slenderness ratios. Finally, it outputs the calculated ascissas along with maximum resistance and buckling utilization ratios in structured data trees.