I’m trying to make all the lines of the floors invisible in view, as discussed here. I set up the nodes as in the screenshot below, but I can’t get it to work.
The python node is taken from here, which is made for filled region, but I don’t know which property the floors take in order to modify it correctly.
Please find below the (partial) translation in python:
element = UnwrapElement(IN[0])
linePatternElements = FilteredElementCollector(doc).OfClass(LinePatternElement)
categories = doc.Settings.Categories;
lineCat = categories.get_Item(BuiltInCategory.OST_Lines);
subcats = lineCat.SubCategories
matchedItem = subcats.get_Item("Wide Lines");
TransactionManager.Instance.EnsureInTransaction(doc)
matchedItem.LineColor = Color(255,0,0);
TransactionManager.Instance.TransactionTaskDone()
OUT = matchedItem, [s.Name for s in subcats]
I think that the script only changes a Line style, it does not replicate the Linework command.
You cannot use the filled region python script with the floor because floor does not have a “SetLineStyleId” method. And you cannot use the InvisibleLine with OverrideGraphicSettings as the node does not accept a GraphicStyle as input.
If you want to hide all the floor edges the only way I can think of is to set the override color to white.
Unfortunately, making the lines white will not work for my purpose, as the lines will still be visible over room colors or colored floors. I ended up drawing filled regions over the areas where I wanted to hide floor edges.
However, I would still like to know how to achieve this using the linework tool, as it could be useful and save time for the future.
I hope someone knowledgeable could decipher the last link I provided, as it seems to me that the person posting it had found the API solution (I could be wrong though).