Like several other posts here, I’ve developed a script that will read data from an Excel file to create sheets in my project. And it works great except for one issue. My firm doesn’t use the same titleblock on every sheet. I want to include that as a data column in the Excel file. I haven’t been successful in converting the string data from the Excel file file into Revit objects so the correct title block is used on the correct sheet. has anyone tried this? Can it be done?
I believe you need to provide a FamilyType to the Sheet node input, versus just the Family.
There’s a FamilyType.ByFamilyAndName node that can be used for this, if you have a consistent titleblock family naming convention.
That did it! We name the type of each titleblock the same (Size B_17x11), so I was able to use a string for the typeName input and use my list of titleblock names for the familyName input
Maybe you can help me with the next step. My firm does production housing work; each plan has multiple facade options identified by a letter, i.e. Elevation A, B, S, etc. So our sheet numbers really have a letter at the end; A0a, A1a, etc. I want to get the user to input which elevation these sheets belong to and add that input to the end of my sheet number list that Dynamo is pulling from my Excel file, then take all those sheets and place them in a group called “Elevation X” where X represents the letter the user input. How do I concatenate the letter the user input to the end of the sheet number from the list @ index 0?
Think you’re looking to join strings, concat takes a list of strings and jams them together.
Strings can be joined through the add node.
Some user input options:
- Additional excel column (same stuff you’re already doing)
- Project Parameter added to sheets, using GetParameterValueByName to retrieve the user inputs.
- DataShapes GUI
Regardless of the input method, the list of elevation indicators can be passed into a Project Parameter and used for sheet grouping.