Revit Structure & Dynamo – Piled Wall Systems Tutorial

When creating Piled wall systems within Revit you either have to create a structural wall and then 2D detail this in plan to look like a piled wall system or more commonly place each male and female pile and at best, use the array or copy commands. Although this is not too complex for linear piling it can get quite time consuming when curves and turns are encountered within the path.

Link to video: https://youtu.be/EWsMnTbkIWE

Piled wall systems with Revit and Dynamo

Dynamo does provide a very neat solution to this problem and could also be used for sheet piling as well as secant and contiguous systems. In this example I have created a chain of model lines which represents the path of the piling in plan. I then project these lines onto the surface which gives the correct Z levels. The path is then divided into segments and each coordinate pair is then extracted from this list. Finally an adaptive component is placed at each set of coordinates.

This tutorial starts with a quick look at the anatomy of an adaptive component. Adaptive components are very useful when you need to control the placement of elements along a path and have the element rotate to stay aligned. A good example of this is sheet piling.Revit Sheet Piling - Connected clasps

The Adaptive Sheet Pile is basically a standard foundation family that is nested into an adaptive component template. The below image shows the nested family and the adaptive points that control the placement of the pile.Adaptive Component

The first stage is to create a path for you piling layout, in this example I have done this with Model lines. Start Dynamo and then create a new workspace.
The first section of the dynamo graph will allow the user to create a selection of model lines. The Element Curves node will get all the curves/lines within the selections. The list is then flattened and the individual curves/lines are joined into a single poly curve. The last node reports on the total curve length.Sheet Piling with Dynamo - Select model elements

The next stage is to get a selection of your topography and then convert this into a poly surface. The node I have used below if the Python implementation which is much faster than the original conversion tool. (This is found in the Spring Nodes package).

You can then take the surface and the joined curve from the top example and then project this onto the poly surface (Your Topograpghy). Note that the Vector.ZAxis simply projects down the Z axis.Sheet Piling with Dynamo - Get topo

The graph should now look similar to the below image.

Sheet Piling with Dynamo - first part of graph

We now take the new poly curve and divide this into a series of points. In my case the sheet pile in 900mm from point to point. I want to have a start and end point for each pile so I am simply going to divide this by 2.

Sheet Piling with Dynamo - Code Blocks

I have now created a Code Block to divide the curve length into the half distance of my sheet pile.Sheet Piling with Dynamo - Create the Divisions

This will of course create a real number (65.4950), what we need is to round this value down to the nearest integer (65). The output of this is then used to divide the curve into the required number of points. The output of the Points node now contains all the coordinates.

Sheet Piling with Dynamo - create the division Points

These coordinates need to be split into pairs. The List.Chop will then create pairs but if there is a single coordinate left then the Adaptive Component will fail to be placed. The filter looks at the length of the sub lists and then only gets the lists that have more than one set of coordinates.Sheet Piling with Dynamo - Split into Pairs

This is more of a high level overview of the process and the Dynamo script but I will do a video showing and explaining each stage.

LawrenceH

About lawrenceh

I am currently employed by Excitech, one of the largest Autodesk resellers in the UK, to provide training and other services such as implementation and project support to our clients. The main products I get involved with are Autodesk Revit Structure & Autodesk Inventor. My personal interests include aviation, engineering and walking.
This entry was posted in Tutorials and tagged , , , , , , . Bookmark the permalink.

22 Responses to Revit Structure & Dynamo – Piled Wall Systems Tutorial

  1. Lee says:

    Excellent Lawrence, look forward to the video demonstration!

    Lee

  2. Pingback: Revit Structure & Dynamo – Piled Wall Systems Tutorial - Revit news

  3. lawrenceh says:

    Sit tight, should be here soon!

  4. lawrenceh says:

    The video is now up on my YouTube Channel.

  5. kieran says:

    Hello Lawrenceh, can you tell me where i can find the Curves.divide curves node please ?

  6. lawrenceh says:

    Yep, it’s from the Lunch Box collection. Click packages, search for a package and then Lunchbox. Once it’s installed you’ll have the nodes.

  7. Pingback: Weekly Roundup – 2016.20 | The BIMsider

  8. Pingback: How construction professionals can build pile wall systems by integrating Revit 2017 and Dynamo extension for Revit | BIM & Revit World!!!!!!!!!

  9. Leandros says:

    Hi Lawrence, I’m struggling a bit with contiguous piles. I’ve made a nested family of male and female piles with adaptive points at start and finish (ie beginning of full male pile and end of female) but this is causing them tilt following the topography of the land as points 1 and 2 are at different levels. Is there a requirement for two sets of split curve coordinates? One for male and one for female piles?

    • lawrenceh says:

      Hi,

      You need to create a separate male and female pile family. Divide the curve twice and shift the points using list.shift. This will then enable you to then chop each list and insert the separate families onto each set of points. You only need one curve and then if this curve is re positioned all the piles will update.

      Hope this helps.

      • Leandros says:

        Thanks Lawrence, next issue is now that I have the points, they also need to be offset a further 150mm below the topo level, for cover and they then need to be categorized so that the secant piles step down at 500mm increments in relation to the topo surface across the site. What node would I use and formula for that matter?

        Cheers,

        Leandros

  10. lawrenceh says:

    You could get the z value of the points and then deduct 150 from all the z values and then recombine them to points. The other method is perhaps to offset the topo in dynamo

  11. Wingo says:

    Hi lawrench, thank you for your shearing but i have some problem when i try to modify your dynamo for my project use. Could you please tell me how can i place the non-adaptive family? i try to use “FamilyInstance.ByPoint” to replace “AdaptiveComponent.ByPoints” but the family can not along the line in topography.

  12. Wingo says:

    Hi lawrenche, thank you for your shearing but i have some problem when i try to modify your dynamo for my project use. Could you please tell me how can i place the non-adaptive family? i try to use “FamilyInstance.ByPoint” to replace “AdaptiveComponent.ByPoints” but the family can not along

  13. Pingback: Revit Structure & Dynamo – Piled Wall Systems Tutorial — Autodesk Revit Structure – BEEAIAM

  14. wayne handspiker says:

    I have recreated you pile wall system and I can not find the dividecurve node from lunchbox
    could you please give me the link for this?
    thanks
    Wayne

  15. Arron Tucker says:

    Hi Lawrence,

    Downloaded latest version of Lunchbox 2016.11.11, however the Curves.DivideCurve is not there it seems!

  16. Arron Tucker says:

    Thanks!

    Used the Curve.DividePoints node and it all works fine.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s