Hey,
Slightly modifying this…
Means I can edit the python to get a different PostableCommend Enumeration…
Which seems to work…
PostableCommandEnumeration.dyn (3.7 KB)
import clr
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
uidoc = DocumentManager.Instance.CurrentUIDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
clr.AddReference('System.Core')
from System.Collections.Generic import HashSet
def tolist(obj1):
if hasattr(obj1,'__iter__'): return obj1
else: return [obj1]
# IN variables...
run = tolist(IN[0])[0]
elems = tolist(UnwrapElement(IN[1]))
# Main Code...
if run:
# Get ElementIds to list...
elemIds = HashSet[ElementId]([e.Id for e in elems])
# Set Selection (required for the postable command)...
uidoc.Selection.SetElementIds(elemIds)
uidoc.RefreshActiveView()
# Get RevitCommandId of PostableCommand...
rvtComId = RevitCommandId.LookupPostableCommandId(PostableCommand.ActivateView)
# Run PostableCommand...
uiapp.PostCommand(rvtComId)
OUT = 'Command Has Run'
else:
OUT = 'Please set Run to True';
Hope that helps,
Mark