Table of Contents

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:

  1. Right-click your project → Manage NuGet Packages
  2. Ensure you're using the AECOM-Enterprise package source
  3. 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

🆘 Support

For questions, issues, or feature requests: