symbol

One Simple Trick to Print Filled Regions in Vector

There has been a problem with printing solid fill that form family symbols in Revit using vector graphics since.. well.. forever.

You might have experienced it yourself in the past, I have found though that it mostly affects electrical documents as they have a high proportion of symbols that use solid fills; maybe you have had an essential GPO print as a non-essential, emergency light symbols not printing correctly or distribution boards showing as control panels.

2015-07-07_16-16-11

In the engineering world, these problems can be pretty disastrous, especially during the tendering process. The last thing you want is contractors putting together a price based on incorrect symbols due to prints that just aren’t quite right.

The problem is fairly well documented as well with questions asked and blog posts made and everyone just seems to deal with it by responding with “Oh yeh.. You know you should be printing in raster right?” or better yet “Just replace all your hatching with really close lines”

lines1 lines2

Because afterall, that is what everyone wants to spend the rest of their life doing; drawing a series of lines to emulate a hatch pattern so they can overcome printing problems.

Some people even say that it has been fixed, but I can tell you for certain that working on a project in Revit 2015 the problem is definitely not fixed.

But is it a Revit problem? I’m not so sure. What if I told you that you actually can print your solid fill patterns and print them in vector? You’ll kick yourself when you realise how simple the solution is.

Dots per square inch.

That’s it. The DPI setting you have configured your PDF printer to is the problem. I’ve done a comparisson on some electrical GPO families that I have created between Bluebeam, PDF995 and BioPDF. In each case I printed in 150, 300, 600 and 1200dpi, with the exception of PDF995 where 144dpi was the closest available option to 150.

Bluebeam Comparisson PDF995 Comparisson BioPDF Comparisson

Basically the root cause is that the filled area you are trying to print is considered to not be printable within the DPI setting you have selected, so it is skipped.

As you can see on these particular symbols, the half shaded GPO symbol that signifies a UPS connected GPO does not print correctly at 150dpi at all, the filled region does not print at all other than the line down the centre which is the fill boundary.

At 300dpi, our symbols actually print pretty well with only a few small glitches in the symbol but nothing to really worry about as you can tell that the symbol is clearly half shaded.

600dpi seems to be the optimum for these particular symbols with clean filled regions, interestingly jumping up to 1200dpi seems to introduce some strange glitches to the fills again, but they only really appear when zoomed right in on the page.

Don’t take my word for it though, give it a try yourself! I have found that although 600dpi seems to be the sweet spot for the families I’ve shown above, it varies from symbol to symbol. Some almost identical GPO symbols created by a colleague still don’t print correctly until 720dpi.

Keep in mind that higher DPI prints will take longer, especially if they’re forced to print in raster mode. Print times due to higher DPI settings or due to raster printing is an argument I’ve had in the past but personally I think the extra time taken to print a correct set of documents is well spent compared to saving a few minutes to deliver drawings that don’t quite hit the mark.

Creating Pipework Drop/Rise Hexagons

If you’re located in Australia or New Zealand, chances are you use these lovely hexagons or some other variation of them to annotate pipework dropping or rising.

2015-03-10_11-37-38

But how do you create them in Revit? It’s quite simple actually. For this example I’ll assume you have not created an annotation family before and therefore is aimed at beginners.

First, start by creating a new annotation symbol using the generic annotation template.

2015-03-10_11-41-30

In the Family Category and Parameters dialogue, change the family type to a Pipe Tag

2015-03-10_11-44-21

You can either draw up the hexagon manually or you can temporarily insert a DWG file to trace over the top of. Once you’re done, you should have your trusty hexagon sorted.

2015-03-10_11-48-05

To add the text to your symbol, you want to use labels. You can find the label tool on the create panel of the ribbon.

2015-03-10_11-49-38

When creating the labels, you will need to select the parameters that you want to pull the data from in your model – we will be using Diameter and System Abbreviation. The reason why I use System Abbreviation is that it will automatically propagate to all pipework in the system where as other parameters do not. Don’t forget to adjust the text style of the label to suit your drafting standards.

2015-03-10_11-52-59

The next step is to apply a visibility setting on the filled drop and rise indicators. Simply select the triangle and and in the properties window, look for the Visible parameter. Select the small square at the end of the line (marked at 1), you will now have an option to select parameters to apply, yours should be empty.

Select Add Parameter and then create a new parameter with the name RISE. Make it a Type parameter and sort it under Graphics.

Repeat the process for the drop indicator.

2015-03-10_12-07-46

 

Finally open up the Family Types dialogue

2015-03-10_12-12-24

Create a new family type called RISE and then check the RISE parameter and make sure that DROP is unchecked. Do the same again creating a family type named DROP and check the DROP parameter, making sure that RISE is unchecked.

If you want to get tricky, you could use a not( ) formula. Simply type in the forumula

not(RISE)

in the drop parameter. When RISE is checked, drop will be unchecked and when RISE is unchecked, DROP will be automatically checked.

2015-03-10_12-13-19

And that’s it! Once you’re done, save your new family and add it to your template.

When tagging your pipework, you need to manually select if it is a dropper or riser by selecting the family type from the properties window, the size and the service however will be automatically filled out for you.

For the System Abbreviation parameter to be picked up, you will need to have this filled out in your pipe system settings for each service, note that it is simply listed as Abbreviation in the system settings.

2015-03-10_12-00-43

If you don’t use systems (you should be using them!) and rather you use pipe types to define your service, the System Abbreviation parameter will not work and you can use a shared parameter instead to populate the label within the annotation.