Export
Files
- BiMMExportComponent.cs
This file defines a Grasshopper component, `BiMMExportComponent`, designed to synchronize a model with a Revit environment via the BiMM API. Its primary function is triggered by a custom "Syncronize" button, which executes a one-time transaction to create twenty test walls at fixed coordinates. Key components include input parameters for the model and document title, along with logic that connects to the BiMM API, starts a transaction group, commits changes, and handles potential errors. However, the entire implementation is currently disabled, as it is wrapped in a `#if _never` preprocessor directive, preventing compilation or execution.
- EtabsExportComponent.cs
This file defines a Grasshopper plugin component named `EtabsExportComponent` designed to export Finite Element Method (FEM) models to the ETABS structural analysis software. Its primary function is to take an input FEM model and generate a corresponding `.edb` file, optionally attaching to an existing active ETABS instance or creating a new one based on user configuration. Key components include specific inputs for the model data, output file path, and control flags for attachment and window management, alongside a custom UI button that triggers the asynchronous export process. The core logic resides in the `SolveInstance` method, which utilizes helper classes to interact with the ETABS COM API (`cOAPI`) and handle the translation of Rhino geometry into ETABS objects. Finally, it provides feedback through output parameters indicating success, failure, or detailed error/warning messages generated during the conversion.
- ExportBeamPropertiesComponent.cs
This file defines a Grasshopper component named `ExportBeamPropertiesComponent` that exports beam property data to structural analysis software like SAP2000, ETABS, and Straus R3. It accepts inputs for the beam properties, target software selection, override settings, file paths, and unit systems, then processes these via helper classes specific to each supported application. The component features a custom "Save" button interface to trigger the export process, which is controlled by a `_run` flag to prevent redundant executions. It handles error and warning messages from the export helpers, displaying them as runtime messages within the Grasshopper environment. Finally, it outputs a status string indicating the success or failure of the operation, ensuring users are informed about the export result.
- Fem2BimComponent.cs
This file defines a Grasshopper component named `Fem2BimComponent` that facilitates the export of Finite Element Method (FEM) models to BIM formats, specifically targeting Revit via a plugin. It processes structural geometry by accepting inputs such as model data, perimeter curves for slabs or walls, holes, thicknesses, groups, and offsets. The component validates input consistency and geometric constraints, ensuring perimeters and holes are planar polylines within specified tolerances. It utilizes background workers for asynchronous processing and supports saving outputs to `.f2b` files at user-specified paths. Key components include parameter registration for diverse geometric and metadata inputs, validation logic for unit systems and geometry types, and a custom UI button to trigger or cancel the export process.
- SapExportComponent.cs
This file defines `SapExportComponent`, a Grasshopper plugin component designed to export Finite Element Method (FEM) models from the FeMM environment to SAP2000 format (.sdb files). It functions by accepting an input model, optional design preferences, and connection settings, then utilizing the SAP2000 Object API to create or attach to a SAP instance. The component handles critical logic such as validating output paths, managing the SAP application lifecycle (opening/closing), and converting internal data structures into SAP-compatible formats. Key components include input parameters for the model and path, helper methods like `SapHelper` for API interaction, and error/warning message handling for user feedback. It ensures data integrity by checking file extensions and providing status updates on success or failure.
- StrausExportComponent.cs
This file defines a Grasshopper component named `StrausExportComponent` for exporting Finite Element Method (FEM) models to the Straus7 format. It is currently commented out, indicating it is inactive or archived code within the `FeMM.Grasshopper.Components.Export` namespace. The component accepts three inputs: an FEM model object, an output file path, and an API server IP address. Its primary function, triggered by a "Save" button press, connects to a remote Straus API service to create and save the `.st7` model file. Key components include input parameter registration, a validation check for the file extension, and logic that handles connection errors and runtime warnings during the export process.
- StrausR3ExportComponent.cs
This file defines a Grasshopper component named `StrausR3ExportComponent` that exports Finite Element Method (FEM) models to the Straus7 R3 format. It accepts two primary inputs: an FEM model object and a target file path, while validating that the output filename ends with the `.st7` extension. Upon user interaction with its "Save" button, the component triggers the `SolveInstance` method, which delegates the actual conversion logic to the `StrausR3Helper.CreateModelR3` utility class. The component provides feedback through a status output and runtime messages, displaying any warnings or errors generated during the export process. Key components include input parameter registration for the model and path, a custom UI attribute for triggering execution, and integration with the FeMM data types and Rhino geometry tolerance settings.