I have been using a python script to breakup all the stacked walls in a project. We are finally at a point that we have more projects in Revit 2022 (yes, we upgrade at a glacial pace) and thus the need to migrate to CPython3. I tried to use the Migration Assistant to upgrade the script. However, it does not seem to work.
This is the error produced
Warning: TypeError : No method matches given arguments for CopyElements: (<class ‘Autodesk.Revit.DB.Document’>, <class ‘list’>, <class ‘Autodesk.Revit.DB.XYZ’>) [’ File “”, line 35, in \n’]
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
clr.AddReference('System')
from System.Collections.Generic import List
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
collector = FilteredElementCollector(doc, doc.ActiveView.Id)
filter = ElementCategoryFilter(BuiltInCategory.OST_StackedWalls)
stackedWalls = collector.WherePasses(filter).ToElements()
TransactionManager.Instance.EnsureInTransaction(doc)
for i in stackedWalls:
ElementTransformUtils.CopyElements(doc, i.GetStackedWallMemberIds(), XYZ.Zero)
eId = i.Id
doc.Delete(eId)
TransactionManager.Instance.TransactionTaskDone()
OUT = 0