@awilliams python code from her own solution HERE works for what I am trying to accomplish.
import clr clr.AddReference('ProtoGeometry') from Autodesk.DesignScript.Geometry import * clr.AddReference("RevitNodes") import Revit clr.ImportExtensions(Revit.Elements) clr.AddReference("RevitServices") import RevitServices from RevitServices.Persistence import DocumentManager from RevitServices.Transactions import TransactionManager from System.Collections.Generic import * clr.AddReference("RevitAPI") import Autodesk from Autodesk.Revit.DB import * clr.ImportExtensions(Revit.GeometryConversion) doc = DocumentManager.Instance.CurrentDBDocument uiapp = DocumentManager.Instance.CurrentUIApplication app = uiapp.Application views = UnwrapElement(IN[0]) TransactionManager.Instance.EnsureInTransaction(doc) viewlist = [] sectionboxes = [] floors = [] floorboxes = [] for view in views: viewlist.append(view) sectionbox = view.GetSectionBox() transform = sectionbox.Transform sboxoriginx = transform.Origin.X sboxoriginy = transform.Origin.Y sboxoriginz = transform.Origin.Z minx = sectionbox.Min.X + sboxoriginx maxx = sectionbox.Max.X + sboxoriginx miny = sectionbox.Min.Y + sboxoriginy maxy = sectionbox.Max.Y + sboxoriginy minz = sectionbox.Min.Z + sboxoriginz maxz = sectionbox.Max.Z + sboxoriginz bbox = BoundingBoxXYZ() bbox.Min = XYZ((minx), (miny), (minz)) bbox.Max = XYZ((maxx), (maxy), (maxz)) tsectionbox = bbox.ToProtoType() sectionboxes.append(tsectionbox) collector = FilteredElementCollector(doc, view.Id) floor = collector.OfClass(Floor).ToElements() floors.append(floor) TransactionManager.Instance.TransactionTaskDone() OUT = views, sectionboxes, floors
The python code only takes in a list so single views will not work. What I did is create a list of the same view and pull out one of the boundary boxes from the output. Its kinda jerry-rigged but it works. If I have extra time I will try to change it to single input, I could definitely could use the python practice.