Pile Cut-off Level using Dynamo

If you are following my post, previously I looked at exporting the pile coordinates either from Survey Point or Project Base Point and explained in details where the results coming from with the help of diagrams. If you missed that section, you better go back to that article first before continue reading this one.

Here is the link for that article: Exporting Pile Coordinate from Survey Point instead of Project Base Point

Today, I want to give an update to my Dynamo script; to include in my final output the “Pile cut-off level” values for each individual piles on my project.

Here is the project that I’ll be looking at:


And I want to have the same result using the revised Dynamo script to one shown below.

Here is what the script looks like before from Exporting Pile Coordinate from Survey Point instead of Project Base Point:

And here is it now after the upgrade:

And the result when I “Run” the script and the comparison to Excitech Tools:

The first update I did was to extract the z-coordinates (Point.z node) and add 75mm (check this value with your structural engineer) for the “Embedment Length”, then round-up the result before converting the units from millimeters to meters. One thing that you need to make sure is that your pile is attached to the bottom of your pile cap. The 75mm embedment length calculation begins at the top most level of the pile.

Another update I did was to convert the result from “String.Remove” node to number using “String.ToNumber” node in order for me to convert the unit as well from millimeters to meters. As you may already know, the information provided by “String.Remove” node are considered as string and this is the reason why I need to convert it to number first in order for the “Divide” node to work.

And finally, add a new item, item4, from List.Create node to include the pile cut-off level.

Now I am ready to assign this values to my Northing, Easting and Pile Cut-off Level project parameters using my separate Dynamo script.

You can use this workflow if you don’t have Excitech Tools installed on your machine as part of your Revit Add-ins.

If you want to give it a try, here is the script.

Have a great day!


Allan Cantos EngTech MICE

BSc. Civil Engineering / Principal Structural Technician

Exporting Pile Coordinate from Survey Point instead of Project Base Point

How are you doing guys? I trust you enjoyed the summer we experienced in the past days, if you live in the UK. I believe the heatwave is now over according to the news. If you live in different parts of the world, I trust you are well.

In my previous posts about numbering piles using Dynamo without programming knowledge (links provided below), I tried to assign a unique pile number for my piles using Dynamo where I extracted the X and Y coordinates of each pile then export the values to spreadsheet (discussed in Part 1). And in Part 2, because I can’t work out how to sort in X-coordinate and Y-coordinate simultaneously in ascending order, I decided to sort the coordinates in Excel instead to an order that I wanted before assigning a unique pile number. After that, with the help of Dynamo, I pushed back to Revit the pile number value to the assigned Pile parameter.

Here are the links for the 2 parts to refresh you of the process.

Part 1: http://allscan12.com/index.php/2017/09/29/numbering-piles-using-dynamo-part-1-no-programming-knowledge-required/

Part 2: http://allscan12.com/index.php/2017/10/07/numbering-piles-using-dynamo-part-2-no-programming-knowledge-required/

For a challenge, I received a message from one of my blog readers asking me if it is possible to read the coordinates from Survey Point rather than Project Base Point. With his permission, see image below. Hmmmn, how will I do that. I need to do a bit of research here.

Thank you Kieran, by the way, for purchasing a copy of my Revit-Dynamo-Power BI Guidebook and I hope you’ll find it useful. Any question, give me a shout and I’m happy to help.

For some of you who would like to see the live demonstration, please come to my Laboratory Class at BiLT Eur 2018. For more details on how to purchase a ticket, please visit BILT EUR 2018 website.

By the way, from today you can avail of 10%  discount off the 3 Day Delegate rate (excluding accommodation) by clicking on the image below: Code to use will be ALLSCAN12

Anyway, back to our topic, you can achieve this using a third-party Revit plugin called “Excitech Tools”.

And here is the sample information you’ll get by hitting that “Coordinate Schedule” button on your “Excitech Tools” Revit plugin for pile P001 (this is the pile that we will be looking at as an example).

You’ll be provided with coordinates based on Project base Point and Survey Point.

To clearly understand where these values came from, see image below.

And the “Element.GetLocation” node in Dynamo will give you the coordinates relative to the Project Base Point.

In the absence of the third-party Revit plugins, such as the “Excitech Tools” Revit plugin, I will aim to publish the northing and easting coordinates of my piles based on the “Survey Point”. Take note, Survey Point not Project Base Point.

While looking for potential solution to my problem, I came across a discussion in Dynamobim.com Forum about the same issue.

Here is the link to the discussion: https://forum.dynamobim.com/t/getting-coordinates-from-project-base-point-or-from-survey-point/7499

Somehow it gave me an idea of how I’ll achieve my goal, however, the information I’ve got from the forum wasn’t enough to solve the issue.

So, I ended up doing more research and I came across a YouTube video from Mr. David Flynn of Designtech (www.designtech.io).

See the video here: https://www.youtube.com/watch?time_continue=72&v=aIvv1oKDgeQ

Mr. David Flynn is so generous to share the script and the dataset he used in the video for us to download for free and for us to give it a try. So I downloaded the Dynamo script and had a look at it.

Here is what the Dynamo script looks like from Mr. David Flynn of Designtech:

Base on this, I came up with something to achieve my goal; to be able for Dynamo to provide me the pile coordinates from Survey Point instead of Project Base Point. I found some nodes that I needed to make my script work.

Here is my script looks like:

The script, which I named “COORDINATES EXPORTER” in Data-Shapes UI, was set up in a way that you can export to spreadsheet the coordinates from either Survey Point or Project Base Point (depending on the user input). Thanks to Data-Shapes Dynamo package for the UI that I used in this script.

To know more other stuff from Data-Shapes, please visit the website at https://data-shapes.net/.

And here is what you’ll see from Dynamo Player.

Hit play button from the Dynamo Player or hit Run if you are at the Dynamo interface, you’ll be prompted to select from the drop-down list what coordinates type you would like to reference the output coordinates.

First is to select which reference you would like your coordinates to be taken/exported.

And next, you will be able to specify the number of decimal places for the output values.

To give you the idea of the results, please see images below.

With the Survey Point selected under coordinates type:

With the Project Base Point selected under coordinates type:

I have to revisit my script because I specifically asked to have my results to 3 decimal places but when it is zero, it’s not showing up, i.e. I’m expecting a result to be 9100.000 but the actual result gave me only 9100 (without decimal points).

Now to complicate things, let me add some rotation angle to True North, say 110 degrees.

And by applying a rotation Angle to True North, the Survey Point rotates relative to the Project Base Point if it is “clipped”.

You’ll notice that the location of the new Survey Point has shifted and because of that, we have a new coordinate of pile P001 as shown above.

I’ll run the Dynamo script and the “Excitech Tools” Revit plugin just to compare the results. Results are shown below.

And with the Project Base Point selected under coordinates type:

Looks like my script did not take into account the rotation angle to true north because I’ve got different results to what the “Excitech Tools” Revit plugin gave me.

To clearly understand where those “Excitech Tools” Revit plugins results came from, please see images below.

From Project Base Point:

From the new location of Survey Point:

By the way, if you want to keep the Project Base Point Coordinate at (N=2 and E=2), you can re-position your Survey Point anywhere if you wish but make sure to “unclipped” it first (this should be the agreed shared coordinates for all disciplines).

If you want to give this a try, here is the link where you can download this script:

Some of the nodes can be combined using code block, however, to easily understand what is the node doing/required, I tried my best to use the proper node instead. Any issues with the script, improvements, correction, etc. please let me know.



Allan Cantos

Placing a view to a current sheet using Dynamo

Today, I decided to write my step-by-step procedure on on how to add a certain view on the current sheet using Dynamo. This Dynamo script must also be available to Dynamo Player with a minimum input from the user.

Assuming here is my sheet:

And the view that I would like to add to this sheet is a “WORK IN PROGRESS” stamp that I created as a legend. It should look like the one below.

For this demonstration, let’s keep this view as a “Legend” because I want to point out that whenever you are in this situation, you can’t copy the views under “Legend” from one sheet to another specially if you are aiming to have that view at the same spot to various sheets.

Here is what you’ll get if you select that view (WORK IN PROGRESS) and hit CTRL-C:

You are not allowed to copy a Legend view but there is work around to place it manually and have it exactly at the same position as to the other sheets, however, it will be a bit laborious task. Because of this, I decided to create a Dynamo script to automate this process, so let’s begin building the script.

Here is the first part of my script:

Here is the “Views” node where I specify from the drop down list the view that I would like to add to the sheet.

Next, I’ll specify where on the sheet I would like the “WORK IN PROGRESS” view to appear and here are the nodes that I used:

And finally, here is my set of nodes to place the view on a sheet:

Now, it is time to connect those wires and you should have something like this:

Save the Dynamo Script and name it appropriately. I’ll call mine as “Placing View on Sheet”.

Next, open your Dynamo Player and search for this script.

And here is the little video demonstration of how the scripts works on Dynamo Player:

Here is the link if you want to give it a try: Placing View on Sheet

Have a great day!


Allan Cantos EngTech MICE

BSc. Civil Engineering / Principal Structural Technician