I’ve found the indices of two values in my list and now I am just trying to use the List.Flatten(list, Indices)
command to remove those indices from the main list. It is telling me that I have an error "Expected Array[Int], got List[Object]. And I’m stumped.
What can I do?
import clr
clr.AddReference('RevitAPI')
clr.AddReference("ProtoGeometry")
clr.AddReference("RevitNodes")
clr.AddReference("RevitServices")
clr.AddReference('RevitAPIUI')
import Autodesk
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
import RevitServices
from Autodesk.Revit.DB import *
from Autodesk.DesignScript.Geometry import *
from RevitServices.Persistence import *
from RevitServices.Transactions import *
clr.AddReference('DSCoreNodes')
import DSCore as DS
from DSCore import *
#import sys #clr.ImportExtensions(Revit.Elements) #from Revit.Elements import * #clr.ImportExtensions(Revit.GeometryConversion) #from Revit.GeometryConversion import * #clr.ImportExtensions(Revit.GeometryReferences) #from Revit.GeometryReferences import * #import System #from System.Collections.Generic import * #from System import *
####### Trying to remove the specified values from IN[0] list
######Step 1: Get all indices of values present in current list
#####Step 2: Remove Items at said Indices
list=IN[0] #List of parameter values to
#ShortList=IN[1] #list of string values
str1=("Type Id : 307623") #value to remove from list
str2=("Type Id : 308609") #value to remove from list
cnt=len(list)
inx=0
indices=[]
num1 = List.AllIndicesOf(list, str1);
num2 = List.AllIndicesOf(list, str2);
lst = [num1, num2];
indices = List.Flatten(lst, -1);
output = List.RemoveItemAtIndex(list, indices);
#Assign your output to the OUT variable
OUT = output