@c.poupin thank you for the help. I am trying to add the two more nodes here. I tried to take reference from here.
# Load the Python Standard Libraries
import clr
import sys
import System
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference("RevitServices")
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)
from System.Collections.Generic import List
clr.AddReference("DSCoreNodes")
import DSCore
from DSCore import *
# Current doc/app/ui
doc = DocumentManager.Instance.CurrentDBDocument
#Filtered element collector (all rooms)
rooms = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Rooms)
#Filter rooms to those with area more than 0 (Unplaced)
placed , unplacedIds = [], []
for rm in rooms:
if rm.Area > 0:
placed.append(rm)
else:
unplacedIds.append(rm.Id)
#Delete unplaced rooms
if len(unplacedIds) > 0:
iLstdel = List[ElementId](unplacedIds)
TransactionManager.Instance.EnsureInTransaction(doc)
doc.Delete(iLstdel)
TransactionManager.Instance.TransactionTaskDone()
#Convert Revit elements to dynamo elements
outDSGeo = []
opt = Options()
for _room in placed:
#get Revit Geometry (Inherited from Element Class)
geoRvt = _room.get_Geometry(opt)
#transform geometry (Solid) to Dynamo Geometry
geoDS = [x.ToProtoType() for x in geoRvt]
outDSGeo.append(geoDS)
#rcpoints = Solid.ComputeCentroid(fl)
#Finding center point of the room
#Flatten the outputs
placedrooms = List.Flatten(outDSGeo, 1)
roomsolids = List.Flatten(placed, 1)
# Assign your output to the OUT variable.
OUT = placedrooms, roomsolids