This works in IronPython, but not CPython. Any ideas?
print(sys.version)
from enum import Enum
import math
import traceback
import System
from System import Array
from System.Collections.Generic import *
clr.AddReference("RevitAPI")
clr.AddReference("RevitAPIUI")
import Autodesk
from Autodesk.Revit.DB import *
from Autodesk.Revit.UI import *
#from pyrevit import UI
#from pyrevit import DB
doc = __revit__.ActiveUIDocument.Document
uidoc = __revit__.ActiveUIDocument
uiapp = __revit__
app = uiapp.Application
#Dynamo
#doc = DocumentManager.Instance.CurrentDBDocument
#uiapp = DocumentManager.Instance.CurrentUIApplication
#app = uiapp.Application
#uidoc = uiapp.ActiveUIDocument
fmanager = FamilyManager
myDocs = uiapp.Application.Documents
selection = uidoc.Selection.GetElementIds()
currView = doc.ActiveView
def PlaceBoundingBoxes():
t = Transaction(doc, 'Create family instance.')
t.Start()
symbName = '00-00 Bounding Box'
collector = FilteredElementCollector(doc)
collector.OfCategory(BuiltInCategory.OST_DetailComponents)
collector.OfClass(FamilySymbol)
famtypeitr = collector.GetElementIdIterator()
famtypeitr.Reset()
for item in famtypeitr:
famtypeID = item
famsymb = doc.GetElement(famtypeID)
if famsymb.Family.Name == symbName:
loc = XYZ(0,0,0)
famsymb.Activate()
print(famsymb.FamilyName)
print(famsymb)
familyInst = doc.Create.NewFamilyInstance(loc, famsymb, doc.ActiveView)
sf = familyInst.LookupParameter("Scale Factor")
sf.Set(currView.Scale)
border = familyInst.LookupParameter("Annotation Border")
brder = border.Set(0.125/12)
else:
pass
t.Commit()
PlaceBoundingBoxes()