Change Curtain Panel Types from Excel


Why can I not do something which on the surface seems simple?

  • Collect all my curtain panels, export to excel.
  • Edit Excel.
  • Then using another definition, import the list and change my panel types.
Would love to use the Packaged Custom nodes - LunchBox Curtain Panel Collector (Miller), Curtain Panel Sort (Kron) and Change Family Types (Sobon). Each of these seem to fail intermittently at producing output, and often crash the Dynamo VM.

I don’t think Dynamo has the ability to delete something in your project, directly, that it didn’t create in the first place, which seems to be part of what you’re asking for. Interesting example. Looking forward to seeing others’ thoughts.

Hi Sean,

Hahahah watching that unexpected crash window come up is part of my daily routine. :slight_smile:

Anyways, if you have a definition that you would love me to look at i will be more than happy to do so. I think i have a decent example on my blog on how to use my node (Change Family Types), however i only tested it for tags so not sure what it takes to make it work with other family types. :slight_smile: if you can post a Dyn/Revit files i will be happy to review.


Yes, you can delete stuff in Revit using Dynamo (I had a DELETE node for the 6.3 version of Dynamo) but i don’t think that’s what Sean is asking about. I think he’s on a right track with the Change Family Type node.

This is actually a second time someone asks me about this so i will have a look when i can free up some time.


Haha! Thanks Konrad, there’s always more to discover.

Yeah, if you want to have a look at the delete functionality you can dig into my Schedules on Sheets node. Python code inside of it has a part that utilizes Delete() method to delete sheets in the project. What happens is that when you delete a sheet you can catch ElementIds of all views that were placed on it. That’s how i get the Schedules that are placed on sheets. All you have to do is then just roll back that delete() transaction and you are good to go.

This was actually fully explained on Jeremy Tammik’s blog and all i had to do for this one was to translate to Python and make it work with Dynamo. The real hero here is Jeremy, so big thanks to him for providing such great examples.