Create Wall Sweep

I designed Script for Wall Sweep, it works only for single room, but didn’t find proper room boundaryWall_Sweep_123.dyn (47.2 KB) for multiple rooms.Please help me to solve this issue. Please Find Attached screenshot and dynamo file for same. Thank you.

here is python script

import clr
clr.AddReference(‘RevitAPI’)
from Autodesk.Revit.DB import*
clr.AddReference(‘RevitServices’)
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument

if isinstance(IN[0],list):
walls = [UnwrapElement(i) for i in IN[0]]
else:
walls = [UnwrapElement(IN[0])]
wstype = ElementId(IN[1].Id)
sr = IN[2]
vertical = IN[3]

UIunit = Document.GetUnits(doc).GetFormatOptions(UnitType.UT_Length).DisplayUnits
dist = UnitUtils.ConvertToInternalUnits(IN[4],UIunit)

#creating wallsweepinfo
if not sr:
wsi = WallSweepInfo(WallSweepType.Sweep,vertical)
else:
wsi = WallSweepInfo(WallSweepType.Reveal,vertical)

#setting distance of sweep
wsi.Distance = dist

#creating wallsweep
TransactionManager.Instance.EnsureInTransaction(doc)
ws =
for w in walls:
for i in w:
ws.append(WallSweep.Create(i,wstype,wsi))
TransactionManager.Instance.TransactionTaskDone()