CSV to Revit

Hi
I am looking to import a csv into revit but colour the points based off certain columns within the csv file. Any advice?

There isn’t a good way to place a ‘point’ in the traditional sense using Revit. Can you indicate how you’d do this manually?

Post a file and describe the behavior you want to implement in more detail. Where exactly are you getting stuck? Ignoring the fear of stating the obvious, you may want to start by experimenting with the ImportFromCSV node. I have seen several examples that take advantage of CSV files. Awaiting your reply,

Emmanuel A. Garcia

1 Like

basically i am a setting out engineer and i use revit. What i want to do is import the points i have surveyed into revit but as a small sphere. If the point is a design point i want it red and if surveyed i want it green

And you want to see them in Revit? FamilyInstance.ByPoint, using a one family type for the design point and another family type for the surveyed points.

1 Like

Ok, how do i get Dynamo to recognise multiple columns in the excel?

When a CSV file is imported to Dynamo, it becomes a 2-dimensional list. You can use indexing to get each of the columns. If this is your CSV file:

[['X', 'Y', 'Z'],
 [1, 1, 0],
 [1, 1, 1],
 [2, 1, 0]]

All of your Z coordinates are at index 2 of each row, Y at 1, and X at 0.

ok, so i have done a list.transpose and want to seperate each row as an individual element, can this be done?

so for instance my file contains x,y,z,tolerance in the headings and i want to then say in row 1 place point x,y,z and look at tolerance and if the tolerance is Y then use ‘Family X’


This is where i am at just don’t get why the point.bycoordinate isn’t working as it recognises them in watch

Looking to add ID’s to the points and then work on the tolerances attaching them to the point

The watch node is showing values because the Point.ByCoordinates node IS working - but it’s working on ALL the data which you’re feeding into it, including the values: “Easting”, “Northing”, and “Height”, which Dynamo can’t map to a point in 3d space. It’s like trying to solve avocado * bacon * chicken, which while a great concept for a sandwich, isn’t ideal for math. If you use a List.Deconstruct node you’ll pull the headers out of the CSV into a nice little list, allowing you to transpose just the good stuff. :slight_smile:

Or use List.DropItems. I think there is another one too…Take First Item?..Clockwork maybe?

Drop items also works as shown. Reason a I like the deconstruct is because it also pulls the headers so you know what the order of the value from each list is are after you transpose them. :slight_smile:

1 Like

hah love the analogy. Makes sense so after list deconstruct, how to i plot so it recognises the point id, easting, northing etc… to plot as a point?

Same ways as before - here’s a quick example.

Note the ‘watch node’ indicates the data type at each index of the CSV’s data.

Thanks i copied your one to see and i am still getting the same that the point by coordinate not recognising. even though i have set the code block correctly

Please upload the CSV - you’ve likely got bad data in there somewhere.

1 Like