Skip to main content

Posts

Stacked Walls with Dynamo

Struggling trying to list stacked walls and their members with Revit? The answer is Dynamo and Python. Copy and paste this code into a Python node in Dynamo and you'll get as output the list of Stacked walls instances and all the related members.

####################################################################
#Copyright 2017©
#Twitter: @CesareCaoduro
#Email: cesare.caoduro@gmail.com
####################################################################
#Declaration section
import sys
pyt_path = r'C:\Program Files (x86)\IronPython 2.7\Lib'
sys.path.append(pyt_path)

import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

import os

clr.AddReference('RevitAPIUI')
from  Autodesk.Revit.UI import *

clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)

clr.AddReference('RevitServices')
from RevitServices.Persistence import DocumentManager
from RevitServices.Tra…
Recent posts

Does the parameter exist?

I'm back after a while with a new article on Dynamo. This time I'll try to explain how to check if a list of parameters are available in the project. This can be used as starting point to QA a model against a pre-defined template.

The idea is pretty simple: we need to extract all the parameters from the model and to do this we list all the elements of type "ParameterElement". You'll get the list of both shared and project paraemters in this way.
Then we can extract the paraemters names and create a list of paraemter that we want to check (this list can be also an input from Excel).
Whit a simple Python script that compares all the parameters name, agains the list of predifined parameters, we can easily extract two lists: the first is the list of matched and the second is the list of unmatched. This is the python code. import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
#The inputs to this node will be stored as a list i…

DynaTools is out!

Since long time I was thinking to create some custom node for Dynamo and now, that time, came.
Starting from very simple lines of code, to understand the structure of the ZeroTouchNode (https://github.com/DynamoDS/Dynamo/wiki/Zero-Touch-Plugin-Development), I've finally released my first packege called DynaTools. Ok, the name is not very cool but I didn't spend too much to find it. So let's start with a little explanation of each node.

First of all, the package is developed on Dynamo 1.2.1 but I'll compile soon for Dynamo1.3.0.
You need to search and download the package to be able to use it :)

Then this is a complete list of nodes included in the latest release (not that much nodes but I promise, they'll increase!)

CollectorTools Collectors A bounce of nodes that collect categories (mostly MEP) with useful parameters Collectors.CableTray: collect all cable trays in the model  Collectors.Duct: collect all ducts in the model Collectors.Pipe: collect all pipes in the mo…

Dynamo, Revit, Excel, UI...what a wonderful day!

Introduction Today I'll show you two examples of how to use Dynamo to export existing Revit schedules and how to compose a custom schedule on the fly, to be exported to Excel.
Both of them with a very nice graphical user interface thanks to Data-Shapes (https://data-shapes.net/) package.
Export Schedules Let's start from the easier. The idea behind this script is to export a list of existing schedules to an Excel file, creating for each schedule a separate tab. To be able to complete this script you'll need two packages: Data-Shapes for the graphical interfacesBimorphNodes to extract schedules data The script is very easy and you have to focus only on how to create an interface Then you can use your input to feed the next nodes. Finished! So just push the run button (or use Dynamo Player is you are in Revit 2017.1 or 2017.2) and enjoy the interface.

Export parameters to Excel In the second script I'll focus on something more interesting. Many times we need to just extr…

Change fittings level and offset with Dynamo

This is and old story for Revit: when you try to change a level for a pipe, duct or cable tray, the offset of the element changes automatically to adapt to the new selection and the element doesn't move from his location but, when you try to do this with a fitting, this is another story.
All the system connected to that fitting will move to a new location. Actually what happens is that the level is changing but the offset is still the same.
Here a small script to prevent this. Is only for pipe fittings but you can easily adapt to other types of categories with the same issue ;)

Download the DYN file for Dynamo 1.2.1 and enjoy!

WIP - How to keep linked schematic diagrams with 3D model

This is something I'm thinking since long time and finally I've some work in progress.
The idea came from a very useful plugin I've in my army: Parameter linker from RF Tool (http://www.rushforthprojects.com/)

Now with the power of Data-Shapes nodes, some Python and Dynamo player, is very easy to create user interfaces with inputs so, I prepared this small video with my WIP.

As always when ready, I'll share scripts and tutorials!
Cesare