Compare List and Remove Difference


#1

Hello all,

I am selecting all elements in view (SEV) and then placing a bounding box around the elements. The bounding box list is 23 items shorter than SEV list. I am not sure what the 23 items are since there are over 13k total items. I should be able to exclude the items because if they cant have a bounding box they are probably pointless for what I am doing.

I have tried:

Set Difference - Canceled after 20 minutes of not completing the task. Other operation on this script run in about 1-2 minutes.

Key Remove - Returned a list of all false and was 23 items shorter than SEV. SEV was plugged into list and Bounding Box into key. If you know a better way of selecting the elements that would work as well. Only need the visible elements (not necessarily the floor slabs behind the walls in elevation.)

Thanks for any and all help


#2

My guess is you may need to filter some items right off the bat. The node you are using is getting everything in the view. This can include stuff without any geometry or annotation.

 

Were there specific categories you were wanting to do this function to?


#3

John,

I am using it with Element.ProjectionLineColor (one of your nodes thank you for it) to make elevations look better. Originally I was worried about it garbing keynotes, section, Levels, ex… but it does not. Thankfully. I can run a filter and remove the items but I am not 100% sure what items need to be removed. I think it is some pipes. What is the best way of filtering out items?

Thanks for you help,

 


#4

It was not the pipes. Now I have no clue as to what it can be. I counted Unique Items and tried filtering (separately) all items that occurred 23 times. No luck so it is more than one item type.

Edit 12:45: I found one of the items. It was a break line. Is there a way to check for 3D objects?

 

To filter I did Element.Name (to remove Element ID) > String.Contains (Plugged a string with the name of element in to SearchFor) > List.FilterByBoolMask ( SEV into List and String.Contains into Mask) Not sure if this is the best way to filter or not but it does work.

Now I just need to figure out what to filter.


#5

Steven,

I just posted in the other thread on “grey washing” methods, and clearly we are attempting the same thing using a slightly different starting point. Your bounding box may be faster than my element.location node method, as I have to rebuild geometry in dynamo for sketch based items. Not sure how quick the bounding box is by comparison as i’ve never used it, but it’s worth a quick re-wire, I’ll give it a whirl later this week.

Anyway, the Get.CategoryName node and boolmask for “Detail Items” I think will filter most of those pesky 2d items out. I believe this node is in bakery… but I may have the wrong package there. Let us know how it goes.

-jacob

 


#6

“Get.CategoryName” node is in “BlackBox” Package.