Hi everybody,
I suspect this one is easy for you guys, but I can’t figure it out.
Any idea how to retrieve the ID number (the number that is visible in the selct face node)?
Thanks!
Hi everybody,
I suspect this one is easy for you guys, but I can’t figure it out.
Any idea how to retrieve the ID number (the number that is visible in the selct face node)?
Thanks!
Thanks for your reply, that did it.
This one works as well, thanks !
Hi, here is an all-in-one answer, very inspired by Mr. Poupin’s code from the following message:
import sys
import clr
#Very inspired by Mr. Poupin's code from the following message
#https://forum.dynamobim.com/t/get-element-from-faces/56495/10
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
from Autodesk.Revit.UI.Selection import *
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
uidoc = uiapp.ActiveUIDocument
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
commutateur=IN[0]
if commutateur:
TaskDialog.Show("Select one Face on Revit", "Select the Face on Revit")
ref = uidoc.Selection.PickObject(ObjectType.Face, "select the Face")
elt = doc.GetElement(ref)
face = elt.GetGeometryObjectFromReference(ref)
surface_dynamo = face.ToProtoType()
out={"Surface_Dynamo":surface_dynamo[0],"NumId":elt.Id.IntegerValue}
else:
out="Wait true on commutateur"
OUT = out
Sincerely
christian.stan