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 GitHub Wiki
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/