DNA stands for Definition of Network Assets. A DNA is the collection of customization data that tells RailCOMPLETE what kinds of railway objects exist in a particular country or railway system, how they look, how they behave, and what rules govern them.
The name is a deliberate analogy to biological DNA: just as biological DNA encodes the blueprint for an organism, RailCOMPLETE’s DNA encodes the blueprint for a national railway model. The same generic RailCOMPLETE software, loaded with different DNAs, becomes a specialized tool for Norwegian, French, Japanese, or Finnish railway planning.
How it works
RailCOMPLETE is architected as two layers:
- The generic RC software — a BIM modeling engine built on AutoCAD. It is identical in every country. It provides the core capabilities: track modeling, object placement, property management, relations, model checking, table editing, 3D export, and Lua scripting.
- The national DNA — a set of declaration files that configure RC for a specific Infrastructure Manager (IM). When a user creates a new BIM project, RC automatically adds the national DNA to each DWG file. From that point on, RC consults the DNA to know what objects can be created, what properties they have, what rules apply, and how they should be visualized.
This separation is analogous to how Excel is the same software everywhere, but the spreadsheets differ per company and per country. RC is the engine; the DNA is the data that drives it.
What DNA contains
A DNA file is a structured collection of declarations, including:
- Object type declarations — Each railway object (signal, switch, axle counter, mast, cable duct, etc.) is declared with its default property values, tolerances, variants, and associated 2D symbols and 3D geometry.
- Custom properties — Domain-specific attributes with default values, allowed value lists, and Lua formulas that compute values automatically.
- Relations between objects — Typed connections (e.g., “Is distant signal for signal”) that enable database traversal, automatic numbering, and table generation.
- Model checks — Validation rules encoded as Lua programs. Each check inspects an object’s context and returns OK, Warning, or Error.
- Lua functions — Reusable automation scripts for property calculations, object placement, table generation, and more.
- Visual definitions — Layers, colors, linetypes, text styles, and 24 annotation subtypes forming the complete visual language for CAD production.
Scale of a real DNA
The current Norwegian DNA — developed for Bane NOR — defines:
- 150+ object type declarations, most with multiple variants
- 8+ disciplines: Track, Signalling, Overhead Lines, Earthing, Low-current, Telecom, Power Supply, Boards & Markers
- Thousands of properties, model checks, and Lua functions
- A complete 2D symbol library (18,000+ DWG files, largely auto-generated) and 3D component library (1,000+ files)
Why DNA matters
For Infrastructure Managers
The DNA encodes your national rules, standards, and object catalog. Every planner working on your network uses the same DNA, ensuring consistency across projects and companies.
For planning companies
The DNA means you work with familiar railway objects — your signals, your switches, your naming conventions — without waiting for custom software development. The tool adapts to you, not the other way around.
For the industry
The DNA makes it economically viable to have one world-class BIM tool shared across countries, rather than each country funding its own bespoke software. Development costs are shared; national specificity is preserved.
Go deeper
Explore the details of how a DNA works:
- Who Creates DNA? — How national DNA is developed, from basic starter packages to full custom deployments.
- Anatomy of a DNA — The technical structure: object types, properties, relations, and more.
- Disciplines & Object Types — Multi-discipline coverage with real examples from the Norwegian DNA.
- Lua Integration — How embedded scripting powers automation, validation, and extensibility.
- DNA Lifecycle & Versioning — Creation, versioning, and safe migration of long-lived projects.
New to RailCOMPLETE terminology? See the Glossary.

