Results
Files
- BeamResultsComponent.cs
This file defines `BeamResultsComponent`, a Grasshopper plugin component designed to extract and display structural analysis data for beams. It functions by accepting a single input of type `GH_BeamResults` and iterating through its internal collection of `BeamForceResultModel` objects to aggregate specific engineering metrics. The key components extracted include load case names, station positions, step numbers, shear forces, bending moments, axial forces, and torques. These values are organized into distinct lists and exposed as seven separate output parameters for downstream visualization or calculation. By mapping complex internal result models to standard Grasshopper data types like `Vector2d` and `List<double>`, it facilitates easy integration within larger parametric modeling workflows.
- BeamSteelDesignResultsComponent.cs
This file defines a Grasshopper component named `BeamSteelDesignResultsComponent` that extracts and displays specific steel design analysis results for structural beams. Its primary function is to process input beam data, filter for steel design result models, and output key metrics such as load combinations, station locations, utilization ratios, and check types. The key components include input registration for a generic "Beam" parameter and four distinct outputs (Combinations, Stations, Ratios, Types) managed through the `SolveInstance` method. It utilizes internal helper classes like `GH_BeamResults` and `BeamSteelDesignResultModel` to parse and structure the engineering data. Finally, it adheres to the GH_Component structure by defining its metadata, icon, and unique GUID for integration within the Rhino/Grasshopper environment.
- DisplacementModelComponent.cs
`DisplacementModelComponent.cs` is a Grasshopper plugin component designed to visualize finite element method (FEM) results by applying calculated displacements to a structural model. It accepts an input FEM model and optional parameters for analysis cases, step types, and step numbers to filter specific result sets. The core logic iterates through nodes, beams, links, and plates, retrieving displacement vectors from the selected result case and updating their geometric positions based on a user-defined scale factor. To ensure consistency, it uses a mapping dictionary to update connected elements like beams and plates after modifying node coordinates. Finally, it outputs the modified "displaced" model as a generic parameter for further visualization or analysis in the Grasshopper definition.
- NodeResultsComponent.cs
This file defines `NodeResultsComponent`, a Grasshopper plugin component for extracting finite element analysis results from the FeMM framework. It functions by accepting a specific node object as input and processing its associated result data to separate displacement/rotation metrics from force/moment metrics. The key components include input registration for the target node, output definitions for eight distinct lists (load cases, steps, displacements, rotations, forces, and moments), and the core `SolveInstance` logic. This method iterates through the node's result collection, casting each item to either `NodeDisplResultModel` or `NodeReactResultModel` to populate the respective output arrays. Finally, it uses Grasshopper’s `IGH_DataAccess` interface to transmit these organized lists back to the visual scripting environment for further use.
- PlateResultsComponent.cs
`PlateResultsComponent.cs` is a Grasshopper plugin component designed to extract and display structural analysis results for finite element plates. It accepts a single input containing plate result data and processes it to generate comprehensive lists of internal forces, moments, and shear stresses at specific nodes. The key components include numerous output parameters that expose detailed metrics such as principal forces, Von Mises forces, bending moments, and their respective angles and maximum values. By iterating through the input `ResultModel` objects, it aggregates this data into organized lists for visualization or further computational use within the Rhino/Grasshopper environment.