Workflow: Create Floor Opening for Vertical Pipes in Revit 2016 using Dynam 0.9.2

As we saw in the previous lessons Create Wall Opening for Cable Tray in Revit 2016 using Dynamo and Create Wall Opening for Ductwork in Revit 2016 using Dynamo it is possible to make opening in Walls for cable trays and ductwork in Revit 2016 using Dynamo.
In today’s lesson we will see how to make openings for Pipes but this time in Floors. All you want to do is to select the Pipes Category and the Floors Category.
Dynamo should determines the intersection surfaces and hence the edges of the surfaces.
We choose in this example to make circular openings.
To control the diameter of the circular opening an offset from the intersection curves shall be done.
Once we determined the radius we can let the Python Script do the rest of the magic.
Create Floor openings for Pipes
You can download the Dynamo workflow from here
Advertisements

Workflow: Create Wall Opening for Cable Tray in Revit 2016 using Dynamo

In the previous lesson Create Wall Opening for Ductwork in Revit 2016 using Dynamo we saw how to create wall openings for ductwork in a project. In today’s lesson we will do the same exercise but this time for cable trays.
First we get all the wall elements and the cable tray elements in the project then get the intersection points between them. As we got the intersection points we need to determine the direction at which the opening shall be placed.
One important point that has bee raised from one of the page’s fans yesterday was that the size of the opening is constant, so now by adjusting the “Size Factor” Node we can control the size of the opening as a function in the dimensions of the cable tray (or duct).
The Revit API and hence Dynamo are using the Feet as its standard measuring units, so in some cases we need to correct the units by multiplying the lengths by conversion factor.
In our case the Revit project units are in mm so I multiplied the lengths came from the Dynamo calculations by 304.8 to convert from Feet to mm.
At the end by using the Python code block we make the magic happen.
Create wall openings for cable tray
You can download the Dynamo workflow from here

Workflow: Create Wall Opening for Ductwork in Revit 2016 using Dynamo

Hi folks!
Have you ever in Revit find it so tedious to track all the clash points between different disciplines and the architecture elements to address them.
Now with Dynamo you can do it so easy. Today’s workflow shows how to find the intersection points between ducts and the walls then using a simple python script we can add the wall opening in the proper position with an arbitrary width and height.
The image of the workflow may not be so clear so I’ll attach the dyn file.
Create wall openings for ductwork
You can download the Dynamo workflow from here

Workflow: Building walls from floor edges using Dynamo in Revit 2016

Hello BIM fellows
Today we will see how to quickly create walls from floor edges using Dynamo in Revit 2016. This could be useful for Landscape architects as well as Construction architects.
First we need to get all the Floors that are at the same level, this could be done by getting the intersection set between two lists.
The first list contains all floors in the model and the second one contains all the elements at certain level.
Using combination of “Levels” Node, “Categories” Node and “SetIntesection” Node we get such filtration.
To get the Floor edges we should cut the Floor with a plane and since all floors are almost horizontal we can cut them with the plane of Z axis as its Normal. Once we got the edges the Python Script does its magic.
By using the same Level of the Floors, proper Wall Type and the Floors edges we can so easily draw walls on each edge segment.
Building walls from floor edges
The Dynamo workflow can be downloaded from here

Workflow: Creating free form theater curtain Using Dynamo and Revit 2016

Today we will see how to use the conceptual design in Dynamo to create a Free Form Theater Curtain.
The curtain is a surface which is lofted from several lines. Each line is the connection of two points the one at the bottom and the one at the top.
The points at the bottom are following the Sin wave shape at elevation zero, while the top points are following a straight line at height 1000.
By changing the slider you can control the amplitude of the sin wave hence the deformation of the curtain.
To implement the workflow we need the following Nodes:
  • 4 x Number
  • Range
  • Integer Slider
  • Math.Sin
  • Math.RadiansToDegrees
  • 2 x Points.ByCoordinates
  • Line.ByStartPointEndPoint
  • Surface.ByLoft
  • ImportInstance.ByGeometries

From the the “Range” Node we can get a set of points which will be incorporated to represent the start and end points. As the end points are composing a straight line we will use them as they are. But the start points are composing a Sin wave shaped curve so we need to convert their Y values first to degrees and hence use them as values to the angle input in the “Math.Sin” Node.

Once we got the set of start points and end points we will use the “Line.ByStartPointEndPoints” Node to create the lines which will be used to create the surface.

The “Surface.ByLoft” Node will create the surface based on the supplied lines by lofting. Final step is to import the geometry into Revit and this is done by using the “ImportInstance.ByGeometries” Node.Free Form Curtain example

The dynamo workflow can be downloaded from here

Workflow: Create Levels, Floor Plans, Ceiling Plans and Structural Plans in 1 click

If you are going to create your own template then this Dynamo workflow is for you.
This Dynamo workflow can create levels from Excel worksheet.
The worksheet should contain a column for the Plan/Level name and another column for Elevation values of each level.
In this tutorial we will use the “File Path” Node to browse to the Excel sheet file then the “File.Path” Node to get the file object. Using the “Excel.ReadFromFile” Node we can assign the sheet name which contains the required information.
Data read from the Excel sheet will be stored in the format of columns but in order to address them in Dynamo we need to convert the columns into rows, that is why we use the “List.Transpose” Node.
The rows consist of List of Lists, in each list the first item is the elevation value and the last item is the level name.
By using the “Level.ByElevationAndName” Node we can create the desired levels. From here we can easily create any type of Plans in eye blink.
The workflow is straight forward I hope you enjoy it.
Create Levels, Floor Plans, Ceiling Plans and Structural Plans
The Dynamo Workflow can be downloaded from here
Update: The Excel file can be downloaded from here

Workflow: Creating finishing Floors from Rooms

Do you think that creating finishing floors is time consuming process? Now it is as simple as clicking a button.
Once you create the bounding Walls in Model, Revit 2016 allows you to automatically create Rooms with on click. After creating Rooms start to adjust the “Floor Finish” parameter of each Room.
We will make advantage of the previous created Rooms with “Floor Finish” defined.
First we will create the finish Floors based on the Room geometry.
Second we will chose the finish floor type to match the one specified in the Room parameter.
The idea is so simple, select all the Rooms through the “Categories” Node then by cutting the Rooms with a Plane we can get the outline which will be the boundary of each Floor.
By reading the value of the “Floor Finish” Parameter of each Room we can specify the Floor Type for each finish floor.
Finish Floors from Rooms
The Dynamo Workflow can be downloaded from here

Workflow: Create Topography from CSV in Revit 2016 using Dynamo

Today we will see how to create a Toposurface in Revit 2016 from a CSV file. The CSV file could be coming from Civil 3D or any similar application and contains the points that constitute the Toposurface.
The advantage is we can manipulate the points in Dynamo before creating the Toposurface.
In Dynamo use the “File Path” Node to browse to the CSV file. By adding “Import CSV” Node we can get all the coordinates of the points from the CSV file.
Data from the CSV file need to be transposed in order to be ready for creating the points.
After creating the points, the Toposurface is now ready to be created.
Topography from CSV
The Dynamo Workflow file can be downloaded from here

Workflow: Create Topography from DWG in Revit 2016 using Dynamo

Today we will see how to create a Toposurface in Revit from DWG file coming from Civil 3D and contains the contour lines.
First download the DWG file from the following link: gm-base.dwg (183KB) – AutoCAD R14 Drawing File
Then in Revit go to Insert tab -> Import CAD and browse to the downloaded link.
When the CAD is inserted you may need to do some cleanup like removing text layers, annotation layers, grids or any layer except the contour lines layer.
When the DWG is ready, use the following workflow to create the topography.
Create Topography from DWG
Simply click the select button and from the Revit view select the imported DWG instance. Dynamo will extract the contour lines after exploding the DWG geometry. To control the accuracy of the contour lines we shall divide the curves coming out from the explode command into arbitrary number of segments (controlled by the “Integer Slider” Node).
To create the surface we need points. The points can be generated from the segmented lines by getting the points at the middle of each segment.By clicking “Run” we get our desired Toposurface.
The Dynamo Workflow file can be downloaded from here

Workflow: Family Distribution Part 3

In today’s lesson we will see how to distribute the “Chair” Family over a squared equally spaced grid.

The lacing technique will be used in this lesson to quickly establish the square grid of eleven rows and eleven columns spaced equally by 1000 unit.

We will need to use the following Nodes:

  • 4 x Number
  • Range
  • Family Types
  • Point.ByCoordinates
  • FamilyInstance.ByPoint

First we will generate a list of X and Y values by using the “Range” Node. These values will specify the number of rows, columns and the distances between them respectively.

By changing the lacing of the “Point.ByCoordinates” Node to Cross Product, we get every combination between each value in the X values list and Y values list, giving us an 11 x 11 grid of points. This is an equivalent data structure to the cross product, except our data is now a list of lists.

From the “Family Types” Node select the “Chair” Family. By connecting the “FamilyInstance.ByPoint” Node input to the “Family Types” Node output and the “Point.ByCordinates Node output, we can see that we have 121 chairs arranged in a grid of 11 rows by 11 columns.Family Distribution Part 3

The Dynamo Workflow can be downloaded from here