|
| 1 | +# EtabSharp |
| 2 | + |
| 3 | +A modern, strongly-typed .NET wrapper for ETABS API (v22 and later). |
| 4 | + |
| 5 | +## Features |
| 6 | + |
| 7 | +- 🎯 **Strongly-typed API** with full IntelliSense support |
| 8 | +- 🔄 **Automatic version detection** and compatibility checking |
| 9 | +- 📊 **Comprehensive coverage** of ETABS functionality |
| 10 | +- 🛡️ **Type-safe** property management and operations |
| 11 | +- 📝 **Extensive documentation** with XML comments |
| 12 | +- ⚡ **Performance optimized** with lazy loading |
| 13 | + |
| 14 | +## Requirements |
| 15 | + |
| 16 | +- **ETABS v22 or later** must be installed on your machine |
| 17 | +- **.NET 10.0** or later |
| 18 | +- **Windows OS** (ETABS is Windows-only) |
| 19 | + |
| 20 | +## Installation |
| 21 | + |
| 22 | +```bash |
| 23 | +dotnet add package EtabSharp |
| 24 | +``` |
| 25 | + |
| 26 | +## Quick Start |
| 27 | + |
| 28 | +```csharp |
| 29 | +using EtabSharp.Core; |
| 30 | + |
| 31 | +// Connect to running ETABS instance |
| 32 | +using var etabs = ETABSWrapper.Connect(); |
| 33 | + |
| 34 | +if (etabs == null) |
| 35 | +{ |
| 36 | + Console.WriteLine("No ETABS instance found. Please start ETABS first."); |
| 37 | + return; |
| 38 | +} |
| 39 | + |
| 40 | +// Access model components |
| 41 | +var model = etabs.Model; |
| 42 | + |
| 43 | +// Create a concrete material |
| 44 | +var concrete = model.Materials.AddConcreteMaterial("C30", fc: 30, ec: 25000); |
| 45 | + |
| 46 | +// Create a rectangular column |
| 47 | +var column = model.PropFrame.AddRectangularSection("COL-400x400", "C30", 400, 400); |
| 48 | + |
| 49 | +// Add a frame between two points |
| 50 | +var frame = model.Frames.AddFrame("1", "2", "COL-400x400"); |
| 51 | + |
| 52 | +// Run analysis |
| 53 | +model.Analyze.CreateAnalysisModel(); |
| 54 | +model.Analyze.RunAnalysis(); |
| 55 | + |
| 56 | +// Get results |
| 57 | +var displacements = model.AnalysisResults.GetJointDispl("", eItemTypeElm.Objects); |
| 58 | +``` |
| 59 | + |
| 60 | +## Documentation |
| 61 | + |
| 62 | +Full documentation available at [GitHub Wiki](https://github.com/tadodev/EtabSharp/wiki) |
| 63 | + |
| 64 | +## Important Notes |
| 65 | + |
| 66 | +### ETABSv1.dll Reference |
| 67 | +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. |
| 68 | + |
| 69 | +### Supported ETABS Versions |
| 70 | +- ETABS v22.x ✅ |
| 71 | +- ETABS v23.x ✅ |
| 72 | +- Earlier versions ❌ (not supported) |
| 73 | + |
| 74 | +## License |
| 75 | + |
| 76 | +MIT License - see [LICENSE](LICENSE) file for details. |
| 77 | + |
| 78 | +## Contributing |
| 79 | + |
| 80 | +Contributions welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) first. |
| 81 | + |
| 82 | +## Support |
| 83 | + |
| 84 | +- 📖 [Documentation](https://github.com/tadodev/EtabSharp/wiki) |
| 85 | +- 🐛 [Issue Tracker](https://github.com/tadodev/EtabSharp/issues) |
| 86 | +- 💬 [Discussions](https://github.com/tadodev/EtabSharp/discussions) |
| 87 | + |
| 88 | + |
1 | 89 | # EtabSharp |
2 | 90 | ```csharp |
3 | 91 | EtabSharp/ |
|
0 commit comments