Generative Design Applications for Civil Workflows

Dynamo people! I would like to tap in the collective wisdom and gather some ideas, examples, wishes, etc. for potential generative design workflows in the civil-infrastructures realm. I know that for many Dynamo for Civil 3D is still a peek to be conquered, but I also know that a good idea can come from everyone regardless their experience. It would be great if we could gather an example per post following this template:

  • Description: a brief explanation of the problem you want to solve (why this is a good opportunity for using generative design, what is the impact of keep doing things the old fashion way);
  • Inputs: what you consider something that the designer can change but it will be fixed for the duration of the study (I: <name> = <value>, e.g. I: Grid Step = 30m);
  • Variables: what parameters you want to consider as part of the design space you want to explore with generative design, specifying the ranges and the step and how they are affecting the elements in the model (V:<name>: [<lower>, <upper>] | <step>, e.g. V: Parameter [0, 10] | 0.1);
  • Generate: a high level description of what constitutes a surrogate model, used to validate an option (even better if you have a working example/video);
  • Evaluate: a collection of objectives that you want to measure as proxies for the fitness/quality of the options that were generated, specifying for each if you want to minimize ([-]) or maximize ([+]) the result (e.g. Cut-Fill delta [-], or Length [-], or Visibility [+]).

Thank you for your inputs!
-p

2 Likes

Good afternoon!
As for me, you can solve this function:
" To optimize a road corridor". and About Optimizing the Design of Roads

How is it solved in InfraWorks.
You can submit multiple optimization jobs, each using a different combination of parameters, which include:
Design speed
Maximum grade
Mimimum grade for drainage
How to grade roadside cut slopes and fill slopes (cross-slopes)
When to use roads, bridges, and tunnels
PVI frequency and minimum PVI spacing
PVIs that must remain at a fixed station and elevation
Areas to be avoided
Placement and capacity of borrow and waste pits

4 Likes

Great idea @Paolo_Emilio_Serra1, thanks for starting the post.

I think that roundabout design is a perfect opportunity for innovation with generative design:

  • It is traditionally a highly-iterative and time-consuming process
  • The inputs/outputs are fairly well-defined and measurable/comparable
  • There are usually well-defined spatial constraints that you have to work with (eg. fitting everything within existing right-of-way as much as possible or at least minimizing required right-of-way purchase).

I’ve been working on a package for roundabout design. Here is a very basic start.

To make this really powerful there would need to be a traffic operations component as well. A solid layout may not be the overall best design without considering traffic operations. It would be a huge effort to try and write all this from scratch. One of the best tools is SIDRA Intersection, and there is a public API available.

Inputs
Approach alignments = PolyCurve
Center point = Point

Variables
There are a lot here, and honestly it is probably more effective to just look at the Vehicle Tracking tools to get an idea. I’m not going to list min and max values because it depends on the type of roundabout you are designing. Here are a few variables, but not an exhaustive list.

Inscribed circle diameter
Approach lane widths
Approach deflection
Center point offset/translation
Splitter island fillet radii
Approach curve fillet radii
Flare length
Circulatory roadway width
Central island diameter
Truck apron width
Buffer width
Sidewalk width
Crosswalk locations on approaches

Generate

  • Clean layout geometry that can be output to Civil 3D. By “clean” I mean lines and arcs, not alignments with a million PVIs like you get with Vehicle Tracking.
  • Fastest path curves
  • Fastest path radii and speeds
  • Traffic operations outputs (can come from SIDRA)

Evaluate
Required right-of-way (i.e. area occupied outside a boundary) [-]
Fastest path speeds [-]
Capacity [+]
Delay [-]
Queue lengths [-]

7 Likes

Thanks for doing this! I have been starting to work on this at a very basic level to wrap my head around computational design.
I’ve seen some of the models that architects use for space planning or Infraworks uses for path optimization. I figure that if this can be done horizontally, it can be done vertically for site grading as well.

Description:
Site grading can be complex for multi-family sites. Think 19 buildings inside of a hectare. Site grading has several relationships and constraints throughout a project: maximum/minimum slopes for walks, maximum/minimum slopes for driveways, number of low points (catch basin locations), maximum depth of low points, underground service elevations (min cover) from both ground and unit basements/slabs/footings, existing boundary elevations and cut/fill quantities.

Inputs:
• Boundary elevations: the elevations of the perimeter of our site: Can dictate adjacent building upper and lower limits
• Service horizontal location and elevation: The locations for the 3 deep services: sanitary, storm and water. I guess this could almost be its own generative design challenge. This input set to minimum requirements typically sets the lower limit for road and building elevations.
• Road profile and location: Road location is normally set by the architect, cross section by a municipal standard.
• Road critical point locations: critical points along the road. E.G. intersections, corners, or fixed points in the design.
• Maximum ponding depth: the elevation difference between the local low point and the lowest adjacent high point. Typically found along a centerline swale or road profile. Is set by a municipal standard. And this example ignores vertical curves.
• Building, road and walk footprints: The different terrain purposes have different variable requirements.

Variables:
• Road critical point elevations: Vertical elevations for critical points along the road. E.G. intersections, corners, or fixed points in the design. Lower limit is set by deep utilities, upper limit is set by maximum grades and number of low points.
• Building main floor elevation: In this case, used to quantify earthworks and set adjacent grades to the road and boundary. Lower limit is set by the highest of:
o Utility invert
o Adjacent road elevation
o Adjacent boundary elevation
• Upper limit set by the lowest of:
o Adjacent road elevation
o Adjacent boundary elevation
• Number of low spots per centerline swale/road. This is occasionally forced to induce surface storage of water.

Generate: I’m still brainstorming how this would work. Its really a relationship between the road, the adjacent buildings, boundary, and tie in services.

The model itself would be a surface that is made from the boundary, road profile, any walk/driveway features, and the building. The surface would use slope shading for review in addition to the evaluation criteria. The lines that create the surface can then be imported into the cad model as feature lines, and detail design can progress from there.

Evaluate:
Number of low spots: dictates cost in catch basin construction and surface ponding locations. [-]
Cut/Fill quantities. [-]
Site Slopes: Viewed through slope shading
Average site slopes for:
• Driveway [-]
• Road [-]
• Walks [-]
• Landscape [-]
Average building height at main floor [-]
Site Storage: how much water is stored on the surface of the site before being collected by the storm system in major events. [+]

Overall, grading would be the end goal. It seems the most complex at the moment. I also want to try generative design for storm water management facility ponds, sanitary lagoons, and optimizing utility main alignments. Let me know if you would like me to flesh out the other ideas.

1 Like

@clarsenCNDZF yes please, if it is possible for you to detail out individual ideas that would be great, thanks

Decided to add on to this even though the post seems to have gone stale. The best idea for generative design for civil applications would be lot layout.

Its highly iterative, there are many options to measure each options effectiveness. We have seen similar solutions from Autodesk before (building floor planning).

Limits would be allowable frontage, minimum lot size, max # of lots, total lot density, open space %.

Measures of effectiveness would be max lots / minimum amount of roads to serve them. (Roads are expensive).

Thanks.

I’m going to present a class at AU about roads optimization

10 Likes

I would like to see an iteration of a pipe network where Dynamo would set structure size/name based on largest pipe diameter. We have structure types (names) that are based on the largest pipe entering or leaving the structure. So a Type “A”, “B” or “C” would be acceptable for all pipe less than 27" diameter (or width for elliptical) and then a Type “D” would allow for a 27" to 36" diameter and so on. Currently there are lettered types from A to M and each type would have a different structure classification (Types A - D can be Concentric or Eccentric Cylinder and all others are either two section round or box/cylindrical combinations).
Feel free to contact me for more info if needed.

P.S. Thank you for the class at AU this year (2021) Paolo. I picked up some great ideas from your session.

@MKWeb I’ve split this out into a new topic because I think there could possibly be a non-GD solution for this. Let’s see what others come up with!