image for particular blog post

Controlling Revit Hatch Pattern Line Weights II


Greetings young Revitalizers!


After I've posted the 'Controlling Revit Hatch Pattern Line Weights' blog post, I've decided that I like the title so much, that I will make the second part. OK, it may not be the title, but the fact that after playing around with the solution I gave earlier, there were still areas that I couldn't gain control over - mainly Material Hatch Patterns.

In my previous post, I've suggested overriding the Line Weights Pen assignment of the Surface/Cut Patterns of Walls, Floors, Ceilings and Roofs with Pen #16 and giving that Pen the minimum value of 0.025mm. That roughly covers 50% of your content through a typical set of drawings. The other 50% of all the hatches come from the patterns assigned in the Material of the object. Sadly, we have no control over those. 

As I wrote earlier, one of the former solutions to this issue conceptualized by the community was to 'upgrade' all other objects to a higher Pen value (in a way incrementing +1 their current value) and use Pen #1 only for hatches. This is exactly the approach I decided to take this time around. Here are the steps that explain the process: revit hatch patterns 1

As you know, the default values of Pen #1 are somewhat thick. We can crank down that number to the aforementioned 0.025mm, but then a whole lot of other objects become thin and we don't need that.

The answer is in this single Python Node which takes all BUT the Categories with names containing the 'pattern' phrase and increments their current value with a single number. That way, your walls, which have previously had the values of Surface - 1, Cut -3, now have the values of Surface - 2, Cut - 4.

Here is a shot of the (important part of the) Python script within the node. Alternatively, you can download the definition - it will require the usual installation of Dynamo 0.92 + IronPython.


Warning: after you run the script, if you try to undo the process in Revit, you will no longer be able to successfully run the script in the current Dynamo session. You would need to restart Dynamo and do it again.

I hope you found that useful - happy drawing and don't forget to subscribe!