Some View Templates not being found in Python/Dynamo

I think I solved it; based on Springs ꟿ Collect.View3DTemplates

import clr

clr.AddReference('RevitAPI')
import Autodesk.Revit.DB as DB

clr.AddReference('RevitServices')
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument

clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.Elements)


name = IN[0]
ueWrapper = None
wrappers = clr.GetClrType(Revit.Elements.ElementWrapper).GetMethods()
for w in wrappers:
	if w.ToString().startswith("Revit.Elements.UnknownElement"):
		ueWrapper = w
		break

fec = DB.FilteredElementCollector(doc).OfClass(DB.View3D)
OUT = []
for i in fec:
	if i.IsTemplate and i.Name == name:
		OUT.append(ueWrapper.Invoke(None, (i, True) ))
		break
OUT = OUT[0]

Clues from Get 3D view template - #15 by Ning_Zhou – found with the new Bing AI search engine.

I published it as a node: 3DViewTemplateByName

1 Like