Discuss your project
All projects

Client case · Infrastructure · Geometry & optimisation

From Civil 3D data to dike design alternatives

A Python design engine that runs entirely outside Civil 3D, reconstructing dike geometry and supporting alignment optimisation.

The task

Use the design definitions from Civil 3D to reconstruct a dike corridor in a separate geometric design engine, then use that engine to explore alternative alignments.

What we built

We built the geometric design engine in Python. A .NET parser reads the PKT files created in Autodesk Subassembly Composer and translates the subassembly definitions into our own internal model.

Alignments, profiles, terrain surfaces and targets are also translated into that model. The complete engine runs outside Civil 3D, using these inputs to reconstruct the corridor and evaluate design alternatives.

How it works

Schematic animation
PKT .NET parser Other inputs Alignments Profiles · Targets Terrain surfaces Python · Outside Civil 3D Corridor geometry Alignment alternatives

From Civil 3D inputs to corridor geometry and alignment alternatives. The Python engine runs outside Civil 3D.

Illustrative workflow, not a recording of the delivered software.

  1. Parse and translate the inputs

    Parse Subassembly Composer PKT files with .NET. Translate the subassembly definitions and the other design inputs into the engine’s internal model.

  2. Rebuild the corridor in Python

    Generate the 3D dike model outside Civil 3D, reproducing its geometry for the implemented workflow.

  3. Compare alignment scenarios

    Use a genetic algorithm to generate and evaluate alignment alternatives against a chosen cost function.

What this enables

Corridor reconstruction and alignment scenario evaluation outside Civil 3D.

The engine reproduces the geometry of the Civil 3D corridor for the implemented dike workflow. That provides a basis for optimisation using excavation and fill quantities, or another defined cost function.

Optimisation built on the design geometry

A genetic algorithm can explore alternative alignments using the engine to generate the corresponding geometry. Each scenario can be assessed against the chosen objective, such as cut and fill. The cost function can be changed to investigate a different design objective.

Technology

  • Python design engine
  • .NET PKT parser
  • Civil 3D design data
  • Autodesk Subassembly Composer
  • Genetic algorithm

Related expertise

Have a similar challenge?