Modify line style of floor edges to invisible

revit
dynamo
api

#1

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.

I have also attached the script for convenience. ver 1.3
overide lines to invisible.dyn (13.3 KB)

Update: I just found something here about doing this using the Revit API. But I don’t know enough to be able to translate it into a python script.


#2

Hi Fabiano,

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.

It would be great if @JacobSmall and @Nick_Boyts could share their solution.

lineWork.dyn (32.4 KB)


#3

Thanks Giovanni!

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).