A modern, strongly-typed .NET wrapper for ETABS API (v22 and later).
- π― Strongly-typed API with full IntelliSense support
- π Automatic version detection and compatibility checking
- π Comprehensive coverage of ETABS functionality
- π‘οΈ Type-safe property management and operations
- π Extensive documentation with XML comments
- β‘ Performance optimized with lazy loading
- ETABS v22 or later must be installed on your machine
- .NET 10.0 or later
- Windows OS (ETABS is Windows-only)
dotnet add package EtabSharpusing EtabSharp.Core;
// Connect to running ETABS instance
using var etabs = ETABSWrapper.Connect();
if (etabs == null)
{
Console.WriteLine("No ETABS instance found. Please start ETABS first.");
return;
}
// Access model components
var model = etabs.Model;
// Create a concrete material
var concrete = model.Materials.AddConcreteMaterial("C30", fc: 30, ec: 25000);
// Create a rectangular column
var column = model.PropFrame.AddRectangularSection("COL-400x400", "C30", 400, 400);
// Add a frame between two points
var frame = model.Frames.AddFrame("1", "2", "COL-400x400");
// Run analysis
model.Analyze.CreateAnalysisModel();
model.Analyze.RunAnalysis();
// Get results
var displacements = model.AnalysisResults.GetJointDispl("", eItemTypeElm.Objects);Full documentation available at
This package does NOT include ETABSv1.dll. You must have ETABS installed on your machine. The wrapper will automatically locate the DLL from your ETABS installation.
- ETABS v22.x β
- ETABS v23.x β
- Earlier versions β (not supported)
MIT License - see LICENSE file for details.
Contributions welcome! Please read CONTRIBUTING.md first.
- π Documentation
- π Issue Tracker
- π¬ Discussions
EtabSharp/
βββ Core/ # Application & Model wrappers
β βββ ETABSApplication.cs
β βββ ETABSModel.cs
β βββ ETABSWrapper.cs
β βββ Models/
β
βββ Properties/ # Define β Section Properties
β βββ Materials/ # Define β Material
β β βββ MaterialManager.cs (implements IPropMaterial)
β β βββ Constants/
β β βββ Models/
β βββ Frames/ # Define β Frame Sections
β β βββ FramePropertyManager.cs (implements IPropFrame)
β β βββ Models/
β βββ Areas/ # Define β Slab & Wall
β β βββ AreaPropertyManager.cs (implements IPropArea)
β β βββ Models/
β βββ Links/ # Define β Link/Support
β β βββ (future)
β βββ Cables/ # Define β Cable
β βββ (future)
β
βββ Elements/ # Draw β Objects
β βββ Stories/ # Edit β Story
β β βββ StoryManager.cs (implements IStory)
β β βββ Models/
β βββ Points/ # Draw β Point
β β βββ PointObjectManager.cs (implements IPointObject)
β β βββ Models/
β βββ Frames/ # Draw β Frame
β β βββ FrameObjectManager.cs (implements IFrameObject)
β β βββ Models/
β βββ Areas/ # Draw β Slab/Wall
β β βββ AreaObjectManager.cs (implements IAreaObject)
β β βββ Models/
β βββ Selection/ # Select menu
β βββ SelectionManager.cs (implements ISelection)
β βββ Models/
β
βββ Labels/ # Define β Pier/Spandrel Labels
β βββ Piers/
β β βββ PierLabelManager.cs (implements IPierLabel)
β β βββ Models/
β βββ Spandrels/
β βββ SpandrelLabelManager.cs (implements ISpandrelLabel)
β βββ Models/
β
βββ Groups/ # Define β Groups
β βββ GroupManager.cs (implements IGroup)
β βββ Models/
β
βββ Loads/ # Define β Load Patterns/Cases/Combos
β βββ Patterns/
β β βββ LoadPatternManager.cs (implements ILoadPattern)
β β βββ Models/
β βββ Cases/
β β βββ LoadCaseManager.cs (implements ILoadCase)
β β βββ Models/
β βββ Combos/
β β βββ LoadComboManager.cs (implements ILoadCombo)
β β βββ Models/
β βββ Assignment/ # Assign β Loads
β βββ LoadAssignmentManager.cs
β βββ Models/
β
βββ Analysis/ # Analyze menu
β βββ AnalysisManager.cs (implements IAnalysis)
β βββ ResultSetup/
β β βββ ResultSetupManager.cs (implements IResultSetup)
β β βββ Models/
β βββ Results/
β β βββ ResultsManager.cs (implements IResults)
β β βββ Models/
β βββ Models/
β
βββ Design/ # Design menu
β βββ Concrete/
β β βββ ConcreteDesignManager.cs (implements IConcreteDesign)
β β βββ Models/
β βββ Steel/
β β βββ SteelDesignManager.cs (implements ISteelDesign)
β β βββ Models/
β βββ Shearwall/
β β βββ ShearwallDesignManager.cs (implements IShearwallDesign)
β β βββ Models/
β βββ Composite/
β β βββ (future)
β βββ Forces/ # Design β Steel/Concrete Frame Design Forces
β βββ DesignForceManager.cs
β βββ Models/
β
βββ Tables/ # Display β Show Tables (Ctrl+T)
β βββ DatabaseTableManager.cs (implements IDatabaseTable)
β βββ Models/
β
βββ System/ # File, Units, Model Info
β βββ FileManager.cs (implements IFiles)
β βββ UnitManager.cs (implements IUnitSystem)
β βββ ModelInfoManager.cs (implements ISapModelInfor)
β βββ Models/
β
βββ Interfaces/
β βββ Properties/
β βββ Elements/
β βββ Labels/
β βββ Groups/
β βββ Loads/
β βββ Analysis/
β βββ Design/
β βββ Tables/
β βββ System/
β
βββ Exceptions/