Obtener creador y editor de un Elemento usando Dynamo

Esta semana se nos pidió conseguir una forma de reportar cuantos elementos se crearon por usuario. Para esto creamos este pequeño código de python que, usando WorksharingUtils.GetWorksharingTooltipInfo(Document, ElementID) devuelve creador y nombre de la ultima persona que edito un elemento dado. (Gracias JF por la idea)

Este es el codigo que utilizamos.

import clr
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

# Import RevitAPI
clr.AddReference('RevitAPI')
import Autodesk
# Import Revit Nodes ¿?
clr.AddReference("RevitNodes")
import Revit
# Import from Revit DB
from Autodesk.Revit.DB import *
doc = DocumentManager.Instance.CurrentDBDocument
#The inputs to this node will be stored as a list in the IN variables.
dataEnteringNode = IN

input = UnwrapElement(IN[0])
creator = []
lastChange = []
for i in input:
	creator.Add( WorksharingUtils.GetWorksharingTooltipInfo(doc, i.Id).Creator)
	lastChange.Add(WorksharingUtils.GetWorksharingTooltipInfo(doc, i.Id).LastChangedBy)
	


#Assign your output to the OUT variable.
OUT = creator, lastChange

Como resultado tendremos dos listas, una con el creador del elemento y otra con la ultima persona que lo edito.


Si llenamos esta información en un parámetro particular, podemos generar tablas dentro de Revit o inclusive exportar un modelo Navisworks y usar el add-in de Reporte para llenar nuestra base de datos.

Espero encuentres util este código

Leave a Reply

Your email address will not be published. Required fields are marked *