Create (Interior) Elevations by Rooms & Arrange on Sheets

In my continued attempt to streamline documentation, I wrote a script that creates elevations and places them on sheets. It’s mainly going to be used for interior elevations such as copy rooms and cafes.

Script flow:
Rooms

  • Get all rooms, filter by names that contain text [User Input]
  • Set Limit Offset to ceiling height [User Input] but working on getting the highest Ceiling Height of a a ceiling in the room.
  • Center the Room

Create Elevations

  • Get Room locations, create Elevation Marker Circle of FamilyType [User Input]
  • Get Room Level, find corresponding Partition Plans
  • Create Elevation Marker Indexes on all 4 points (works for rectangular rooms only for now)
  • Rename Elevations with concatenate string of Room Name, Number - West, North, East, & South
  • Get Room Geometry, Bounding Box, Set Crop Region

Place Views on Sheets

  • Select up to 3 sheets to place views on (each room gets its own row, with 4 rows per sheet on a 30x42 sheet at 3/8" view scale)
  • Split list of Room Elevations into groups of 4 and PackViews on sheets

Arrange Views on Sheets

  • Group Viewports by Room Number (elements in room)
  • Renumber Views by row (1-4, 11-14, 21-24, 31-34)
  • Get Viewport Locations and do a lot of fancy math to create Vectors to move views into a grid in rows from top down with user-defined left-right padding distance

I know there’s some bloat in the script, I can use lists to combine the 3 “place on sheet” workflows into one, but haven’t had time. Also goign to program in some more automation in creating sheets as needed for longer lists of views, in sequential order.

I’ll update later with packages required, etc.

Let me know what you think!

Views - Create Interior Elevations.dyn (309.6 KB)

3 Likes