Hello,
i try to highlight my openings to “green” when they are cut! But it works just for true not for false, why?
for any reason the “not cut” opening remains also in true… i use spring nodes…
this is the code… is it possible to simplify that… to a for loop where i just ask “IsCut” (?) and i get a list of all my openings …
import clr
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import *
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
def tolist(obj1):
if hasattr(obj1,"__iter__"): return obj1
else: return [obj1]
elements = UnwrapElement(tolist(IN[0]))
out1 = []
cut_el = []
cutU = InstanceVoidCutUtils
for i in xrange(len(elements)):
try:
if cutU.IsVoidInstanceCuttingElement(elements[i]):
cut1 = cutU.GetElementsBeingCut(elements[i])
if cut1.Count != 0:
cut1 = [doc.GetElement(id).ToDSType(True) for id in cut1]
out1.append(True)
cut_el.append(cut1)
else:
out1.append(False)
cut_el.append([])
except:
out1.append(False)
cut_el.append([])
OUT = out1, cut_el
i tried this… i think i have to involve geometry, but i just need booleans!
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
clr.AddReference('System')
from System.Collections.Generic import List
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
openings = UnwrapElement(IN[0])
output = []
for i in openings:
output.append(i.IsVoidInstanceCuttingElement)
OUT = output
KR
Andreas