The tips with the eTransmitForRevitDB
library work with all versions.
import clr
import sys
import System
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# Import RevitAPI
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
import Autodesk.Revit.DB as DB
# Import DocumentManager and TransactionManager
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc = DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
sdkNumber = int(app.VersionNumber)
pf_path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86)
prf_path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles)
eTransmit = None
try:
clr.AddReference('eTransmitForRevitDB')
import eTransmitForRevitDB as eTransmit
except:
path_etransmit = prf_path + '\\Autodesk\\eTransmit for Revit {}'.format(sdkNumber)
if System.IO.Directory.Exists(path_etransmit):
sys.path.append(path_etransmit)
clr.AddReference('eTransmitForRevitDB')
import eTransmitForRevitDB as eTransmit
def purgeUnsed(currentDoc):
if eTransmit is not None:
eTransmitUpgradeOMatic = eTransmit.eTransmitUpgradeOMatic(app)
resultPurg = eTransmitUpgradeOMatic.purgeUnused(currentDoc)
return resultPurg
return "Failed"
OUT = purgeUnsed(doc)