ATOMCommon
ATOMCommon is AECOM's comprehensive .NET development kit providing access to powerful engineering functionalities and objects. This versatile library serves as the foundation for civil engineering, bridge design, water systems, and computational tools across AECOM's software ecosystem.
ATOMCommon targets .NET 8 (net8.0) with builds and tests running exclusively on .NET 8.
🚀 Key features
- .NET 8 target: Built and tested for .NET 8 only
- Engineering-focused modules: Specialized for civil, structural, and water engineering
- Industry integration: Native support for PGSuper, VBent, and industry-standard tools
- 3D geometry: Advanced geometric operations powered by Rhino3dm and GShark
- Cloud connectivity: Built-in SharePoint and Orkestra integration
- Comprehensive testing: Extensive test suite ensuring reliability
🧩 Core modules
🛣️ Civil engineering (ATOM.Civil)
Complete civil engineering data models and operations including geometric elements, alignments, profiles, and LandXML support for road and infrastructure design.
🌉 Bridge design (ATOM.PGSuper)
Seamless integration with PGSuper bridge design software featuring multi-DOT beam libraries, layout automation, and comprehensive load management.
🏗️ VBent modeling (ATOM.VBent)
Advanced bent and foundation modeling system with component builders and specialized operations for structural design.
💧 Water systems (ATOM.Water)
Hydraulic engineering calculations including pipe networks, pump stations, and comprehensive flow analysis capabilities.
🔧 Utilities (ATOM.Utilities)
Essential engineering utilities for unit conversion, XML processing, and common calculations used throughout the library.
📦 Quick start
Prerequisites
- .NET 8 SDK and a compatible development environment (Visual Studio 2022 17.8+ or VS Code)
- Access to AECOM's GitHub Packages registry
- Familiarity with .NET development
Installation
ATOMCommon is deployed on GitHub Packages. You'll need to configure your NuGet source:
Note
See our Wiki guide for detailed setup instructions.
Package source: https://nuget.pkg.github.com/AECOM-Enterprise/index.json
Via Visual Studio:
- Right-click your project → Manage NuGet Packages
- Ensure you're using the AECOM-Enterprise package source
- Search for ATOMCommon and install
Via .NET CLI:
dotnet add package ATOMCommon
Basic usage examples
Civil engineering:
using ATOM.Civil;
using ATOM.Utilities;
// Create horizontal alignment
var alignment = new Alignment();
var tangent = new Tangent(startPoint, endPoint, length);
var arc = new Arc(center, radius, startAngle, endAngle);
alignment.HorizontalEntities.Add(tangent);
alignment.HorizontalEntities.Add(arc);
// Unit conversions
var lengthInMeters = Units.ConvertLength(100, UnitType.Feet, UnitType.Meters);
Bridge design with PGSuper:
using ATOM.PGSuper;
using ATOM.PGSuper.Operations;
// Configure bridge layout
var bridgeOps = new BridgeLayout();
var deckOps = new DeckLayout();
deckOps.SetDeckProperties(thickness, width, overhang);
// Apply beam library
var txdotLibrary = new TxDOT.TxDOT();
bridgeOps.ApplyGirderLibrary(txdotLibrary);
Water system analysis:
using ATOM.Water;
using ATOM.Water.Operations;
// Create pipe network
var pipe = new Pipe(diameter: 12, material: Material.Steel);
var section = new PipeSection(pipe, length: 1000);
// Perform hydraulic calculations
var hydraulics = new HydraulicCalcs();
var headLoss = hydraulics.CalculateHeadLoss(section, flowRate: 500);
📚 Next steps
- API reference - Explore detailed API documentation
- Contributing guide - Learn how to contribute to ATOMCommon
- Documentation guide - ATOMCommon documentation guidance.
- Development guide - Detailed development instructions
🆘 Support
For questions, issues, or feature requests: