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()