Writing Data Back To A Revit Schedule From Excel

Hi All,

I am working with a wall schedule which I use the description parameter of walls element to create the schedule. I have been able to push the data to excel so I can edit the assemblies a bit faster but I am having issues getting the data back into revit.

Any ideas for me to get the data back into revit?

Thank you in advanced.

graph_error

1 Like

“Description” is a Type parameter so you need to switch out the nodes Categories (Walls) > All Elements of Categories to Element Types ( Wall Types ) > All Elements of Type. Right now you’re collecting wall instances so they will not have the Description parameter.

You’ll also want to ensure that your list of collected wall type elements follows the order of the wall types from your Excel file. If a column of your Excel schedule contains the Wall Type name (exactly as it is in Revit), you could eliminate the All Elements of Type part of your workflow and use the OOTB WallType.ByName node and then your wall type elements will already be in order of your Excel data

A final suggestion would be to eliminate the hard returns in your Description (Assembly) output, as the OOTB parameter “Description” is not a multi-line text parameter

Hope this helps :slight_smile:

1 Like

Thanks for the reply.

I am still getting an error even after switching out the Categories (Walls) > All Elements of Categories to Element Types ( Wall Types ) > All Elements of Type.

The “Description” was setup before my time and all of the Assemblies in our template file have these pre-baked in. I was hoping dynamo was my solution to this problem.

What is the error you are getting now?

Warning: Element.SetParameterByName operation failed.
No parameter found by that name.

I guess I should back all the way up here.

My plan was to use excel as the text editor and modify the text and rewrite to revit. Maybe I have to examine the way we do wall schedules.

Doesn’t seem to like the “Description” parameter.

@Bobby_Harris1 its possible that you’d have trouble getting/setting the parameter “Description” by name if there was a project parameter made with that name because it may be causing conflict with the OOTB parameter “Description”; I’m not certain that that would cause the error “no parameter found by that name”, however. Did you try replacing the hard returns with spaces in your Assembly Description strings, so that you aren’t trying to write a multi-line string?

I am trying to push the OOTB “Description” parameter back into the walls.

I’ll test out deleting the hard returns as well.

Thank you for your help.

Use String.Replace with the searchFor input as:

"
";

in a Code Block, and " "; as the replaceWith input

Little off topic but how are you populating wall schedules? Could you direct me to a post somewhere?

Thanks in advanced.

Its best to think of it as populating elements parameters; the schedule is just Revit’s table displaying those parameters, so really any topic on the forum relating to Excel data to Revit parameters will be helpful to read into.

Here are a couple of links that should be useful:

If you think there is something specific to how your wall data is managed, feel free to drop a sample .rvt with some walls and your schedule format and I could provide better direction

1 Like

If you are rying to write to schedules just stop for a moment and think about what it is you are wrting to, ( parameters)
so creat a excel to revit by directional link and this will automatically up date the schedules I created this and we you it all the time in our office as a way of keeping all data consistant

Kevin

Description is a “TYPE PARAMETER” so you need to add “Element.ElementType” node after the Wall CATEGORY Node to write the data inside Type parameter.

@awilliams I am probably a day late and a dollar short but here is the example that you requested.

If you can offer help still it would be greatly appreciated. I went back to entering the data manually.

Wall Schedule Example.rvt (1.7 MB)

@Bobby_Harris1 Trying to refresh myself on what your goal is - you have data you are writing in Excel that you want to push back into the wall type “Description” parameter to appear in the wall schedule, correct? Could you also share an example Excel file and the Dynamo file that would go along with this? I’m certain we can figure this out :slight_smile:

@awilliams, files as requested

Edit Text in Excel.dyn (42.7 KB)
Exterior Wall.xlsx (6.0 KB)

@Bobby_Harris1 Ok I’ve had a look at your files and the main issue was that you were trying to write the description parameter value to the instances of the walls, not the Wall Types. I also think you would benefit from writing the actual parameter values from the wall types to Excel, rather than writing the data from your schedule views since it appears you have separate schedules for each wall type. I added some annotations to the graph below to hopefully clarify whats going on better:

Let me know if this makes sense and works for your purposes :slight_smile:

@awilliams I can’t seem to get the first part to work.

Can you see what I am doing wrong here?

Wall Write.dyn (6.2 KB)

Change the lacing on Element.GetParameterValueByName to cross-product :slight_smile:

@Bobby_Harris1 EDIT: Also, the parameters you want are “Type Name” and “Description”. Right now you have “Type Mark”

1 Like