Sunday, June 4, 2017

Revit Fill Patterns

In Autodesk Revit, Fill Patterns help define materials on an element's surface and when it is cut; in elevations, 3D views and sections. This post will cover a few thoughts related to this functionality within the software. Specifically, I want to talk about model versus drafting patterns, custom patterns and then a related and "accepted" Revit Idea.

Definition from the Revit.PAT file
  • Model vs. Drafting patternsThere are two types of fill patterns in Revit: model and drafting. Model patterns are used to depict real-world elements, such as bricks, shingles, tiles, etc. They are defined and display in model units. An 8x16 inch brick pattern will show exactly 12 courses on an 8-foot-tall wall. A 2-meter-tall wall with a 200x400 mm brick pattern will have 10 courses. Model patterns appear denser at coarser view scales and sparser at finer ones.

    Drafting patterns are defined in paper units. If you import the pattern at scale 1 and print at 100% zoom, the pattern's dimensions on paper will be exactly as specified in the file, regardless of view scale. Drafting patterns are used to symbolically denote materials such as steel, concrete, sand, etc.

    Drafting patterns are typically defined with smaller numbers than model patterns. Drafting patterns usually contain sizes from 0.04 to 1 inch (1 - 25 mm); model patterns usually contain sizes from 2 to 20 inches (50 - 500 mm). These are guidelines only, not enforced by Revit. Revit's existing restrictions limit the maximum size and density of the patterns, and a review of these restrictions is planned for a future release.
Fill patterns are used to represent materials on a surface. Any AutoCAD hatch pattern can be used by Revit. If you want an AutoCAD pattern to be used as a Model filled region (versus Drafting which changes scale with the View Scale) you have to add ;%TYPE=MODEL to the PAT file as shown below. The “;” symbol at the front rem’s out the line so even AutoCAD could still use the file… however it might be best to copy the ACAD.PAT file to another location specifically for Revit use.

Text used to define a model pattern
You may also see some patterns with ;%TYPE=DRAFTING as shown below, but Revit will assume “drafting: if nothing is specified.
Text used to define a drafting pattern
When creating a “model” pattern, if you try to use the AutoCAD ACAD.PAT file without making any changes, you will get this error.
Error when PAT file contains no model patterns
There are tons of hatch patterns for AutoCAD one can find via the web. If you need something custom you can either edit the PAT text file, or use a Revit add-in like Hatch22 or HatchKit to create it. Or Hatch Manager by GlobalCAD, which requires AutoCAD, but it makes the process very easy. You just draw the hatch pattern you want (see carpet squares example below) and then use this add-in to automatically generate the PAT file. This file can then be imported into Revit.

Update: Dmitry Chubrik, from the Russian BIM2B site, provided another option in the comments: Pattern Maker. Thanks Dmitry! If anyone knows of others, please share.
Custom pattern drawn in AutoCAD
Over in Revit Ideas, there is an idea about fill patterns that received a lot of votes (353 so far); Double patterns. This is a great idea which I voted for and added to the discussion. Even better, this post highlights the value of this mechanism to find out what we, as users, want. Notice Harlan Brumm, Revit Product Manager, replied, indicating this idea was under review. Later Sasha Crotty, Revit Core Product Manager, posted that the idea was accepted, meaning it will be added to the software in a future release (see image below)! I was even contacted by Autodesk to answer a few questions on this topic. Power to the people, go Autodesk!




Friday, June 2, 2017

Don't Change That View Template!

One thing I find a lot of people hate about View Templates is the time it takes to make a temporary change... but they often overlook Revit's super-simple solution to this challenge. This feature came a version or two after hard-wired view templates were introduced, so this is partly why it is not used as much as it should be.

Before the solution... it is generally bad practice to turn off or change the view template applied to a view because you might forget to set it back. Both options can mess up one or more sheets - think printed set for bidding or code review. Plus, changing a view template takes time to be applied to all views in the project. And, while the template is changed, someone on the project might apply it to another view.

Solution... rather than changing the view template for a temporary adjustment, use the Temporary View Properties option on the View Control Bar as shown below.


Here you have two options:

  • Enable Temporary View Properties
    This option allows all settings to be adjusted as if the view did not have a view template applied. This should be the go to option for a quick "look" at something.
  • Temporarily Apply Template Properties...
    This option lets you pick from the list of view templates, which then applies its settings to the current view. Having a few "working view" or "coordination view" options can be nice.

To help you remember your view is currently messed up, Revit highlights the perimeter of the view and adds the label "Temporary View Properties" as pointed out below.


On a related note, I have seen some presentations on "Revit templates" which have a ton of working or coordination views that might be better handled with this temporary view template approach.

Thursday, June 1, 2017

Licaso Has Arrived! Annual daylight simulation software for AGi32 and ElumTools

For professional lighting designers and architects who use AGI32 and/or ElumTools (my firm uses both) you now have a new opportunity to perform climate-based annual daylight simulations, including the calculation of annual daylight metrics. This can be accomplished with Lighting Analysist's newest offering; LICASO.

Product description from the Licaso website (www.Licaso.com):
  • Given an AGi32 or ElumTools/Revit environment, Licaso can compute workplane illuminance for every daylit hour of every day for an entire year. From these calculations a wide variety of annual daylight metrics can be accumulated. These include: various flavors of Daylight Autonomy (Minimum, Maximum, Basic, Continuous, Spatial), Useful Daylight Illuminance, Annual Sunlight Exposure, Annual Daylight Exposure, and Average, Maximum and Minimum illuminance. Presentation options include graphical Spatial Maps (2D or superimposed on a rendered view), Temporal Maps, Temporal Map Charts and rendered views of specific times and dates. Any/all of these can be included with statistical summaries in a flexible and user formatted report.

The image below is my Law Office model, used in two of my Revit textbooks, with Annual Sunlight Exposure (ASE) spatial maps in the Rooms. 
Law Office model with ASE spatial maps in the rooms
In the Licaso environment, once the calculation is complete, there are several ways in which the results can be viewed. In the image below, notice the Pass/Fail column for the selected metric!

For a sort of whitepaper and validation statement, check out this All Things Lighting blog post by Ian Ashdown, P. Eng. FIES: LICASO and DAYSIM (2/11/2017).

A quote from this blog post:

  • LICASO is the first climate-based annual daylight simulation software program that is not based on Radiance. More than this, it is not even based on the Radiance computational model of ray tracing. Rather, it relies on proven radiosity methods,1 and in particular the algorithms that have been driving Lighting Analysts’ AGi32 and ElumTools lighting design and analysis software products for nearly two decades. (See Lighting Analysts’ blog article Climate-Based Daylight Modeling for further details.)

I plan on using this tool to help validate design solutions for Minnesota’s B3 Guidelines and the WELL Building Standard. Additionally, the goal is to use Licaso to help inform our designs, not just document the outcomes.

The fruits of a BIM ecosystem are continuing to grow and blossom!

Wednesday, May 31, 2017

Revit Input Options

When entering values in parameters there are a few tricks we can use to save time... here are a few of them:

First example: You need to modify a given value (e.g. 1'-4 1/4") and don't want to do the math (too many fractions!).


Solution: turn the given value into a formula. Add an equals sign at the beginning and then subtract (in this example) the desired amount as shown in the image below.


Result: Revit evaluates the mathematical statement and returns the result.


Second Example: You are working with a manufacturer's cut sheet and the values are in metric, but you are working in imperial units (or vis versa).

Solution: Simply enter the value, including the units indicator as shown below.


Result: The metric value is translated to imperial (hard, not soft). Revit does not keep track of the original metric input.


Third Example: I know the fraction value, e.g. motor size, and I don't know/recall the decimal equivalent.


Solution: Similar to the first example, just make it a formula; enter the fraction preceded by an equals sign.


Result: The fraction is covered to a decimal based on the result of one divided by three.


One problem I ran into recently using this last trick was the result produced too many decimal places, based on Project Units, and caused a lookup table reference to fail!

Simple stuff, but little things like this can save a lot of time...


Tuesday, May 30, 2017

Free ArchVision Rendering Webinar Presented by Dan Stine

If you have any interest in general rendering techniques in Revit and beyond... consider sighting up for this free 90 minute webinar! ArchVision is hosting and I will be presenting. This will be a live presentation with 15-20 minutes for questions at the end.

  • "Revit Rendering Workflows with Dan Stine" presented by ArchVision
    Tue, Jun 6, 2017 12:00 PM - 1:30 PM CDT
    Register Now!

I will be covering materials, lighting and using RPC content to make your rendering come to life. Workflow into Enscape and Revizto will also be covered.

  • Bonus: I will also be unveiling two new "chunks" of content from ArchVision... you have to tune in to find out what they are.

The example Revit rendering below is from my Interior Design Using Autodesk Revit 2018 textbook. This example contains several ArchVision RPC families, including a custom version of me (gray vest, middle left)!


This next Revit rendering is one I did for our Minneapolis office... read this related ArchVision blog post: LHB Minneapolis Office Renderings Submitted for LEED® CI Platinum. FYI: This is an old post, LHB was awarded the LEED certification!


Although this is geared towards beginners, I will be covering a few cool tips and tricks that even experienced users might not know (or remember:)).

The best part is ArchVision is offering this presentation for free!

Monday, May 29, 2017

You Know VR is for Fun Too, Right?

As the AEC community begins to embrace Virtual Reality (VR) to to aid in the design process and project presentations, we don't want to forget we can have some fun with it too...

Our firm's Events Committee tries to weave in several social events throughout the year to keep things interesting. Over the years we have had Mario Kart and pinewood derby competitions, as well as bean bag tossing and family gatherings.

Next week we will have a little fun in the LHB VR Lounge (see image below). We will be playing the VR archery game in NVIDIA's VR Funhouse game. The HTC Vive also comes with a fun archery game, in The Lab, but the the VR Funhouse one has a countdown and keeps score.

LHB VR Lounge - Duluth Office
Here are two images from this game. There are several targets to shoot at and some are moving. You can start the tip of your arrow on fire, which then starts the target on fire as well. If you run out of arrows, you can pull more from your quiver (a hidden bonus:)).



Here is the invite that went out to staff...

More on NVIDIA VR Funhouse

In addition to the NVIDIA VR Funhouse game being really fun, and a good workout, there is a lot of super cool stuff happening under-the-hood... which is intended to show off the features built-in to the hardware. Using these features significantly improves performance... similar to calling functions built-in to the CPU.

NVIDIA blog post: Our First Virtual Reality Experience, VR Funhouse, Shows What Pascal Can Do for VR

The bullet points from this blog post highlight the NVIDIA supported Pascal features:

  • NVIDIA Flow — Grab a bow and arrow in our target-shooting mini-game. Set the arrow aflame and you’ll be able to shoot it at targets that burst into flames when they’re hit. Our NVIDIA Flow technology physically simulates experiences such as fire throughout VR Funhouse.
  • NVIDIA HairWorks — The whimsical feel of our colorful “Whack-a-Mole” and “Mole Boxing” challenges is enhanced by NVIDIA HairWorks technology. Jab at your targets. Give them a knock and you’ll see their colorful hair bounce. Or pat them on the head to flatten their jazzy haircuts.
  • PhysX for VR — Poke, punch, pound and explore. VR Funhouse is filled with objects that you can interact with in surprising ways using your hand controllers. Our PhysX for VR technology gives the objects in the game realistic physical behavior, enabling proper graphics, collision detection, and haptics force feedback.
  • NVIDIA FleX — In our “Wallwalker Toss” mini-game, you’ll be able to pick up gooey, colorful blobs — that stretch and jiggle in surprising ways in your hand — toss them at targets and watch them ooze toward the ground. You’ll find this next-generation particle-based physical simulation used all over VR Funhouse.
  • NVIDIA VRWorks Audio — Walk into “Crown Creeper,” and you’ll need to use your ears to locate a stealthy drone. VRWorks Audio uses our Pascal GPUs to ray trace sound waves in real-time, realistically simulating how audio propagates and reflects across the room.  The reflections and echoes created by VRWorks Audio will test your skills in locating the drone.
  • VR SLI — The more, the merrier. If you’ve got two GPUs, this technology will let one GPU render images to your left eye, and the other to your right, maximizing performance and minimizing latency.

We have several GeForce consumer "gaming" cards (e.g. 1080 and two SLI'ed 1070s), but this game also works great on our Pascal-based Quadro P5000 graphics card. I previously wrote about the P5000 graphics card; NVIDIA Quadro P5000 for AEC VR; Best Architectural Experience Yet.

If interested, here are two more related links:
NVIDIA Blog post: Why We Made the World’s Most Advanced VR Game – NVIDIA VR Funhouse
NVIDIA Product Overview: NVIDIA VR Funhouse

Oh, and this "let's show what a VR game can do on our hardware" VR game is FREE!

Thursday, May 25, 2017

Family Type Formula Tips

Slow blogging week as I am in Knoxville, where my son is competing in Global Finals for Destination Imagination (DI) this week. DI is something like a cross between science fair and drama club... and culminates with Global Finals, which includes 15+ countries, 1,400+ teams and over 8,000 students.


As architects, engineers and designers we need to work with a lot of data in today's complex building design projects. I want to share a few tips about managing element type data in Autodesk Revit.

Notice in the image below there are several types. I have worked on families with many, many more. If we create a parameter, or want to change an existing parameter, it can be time consuming. Before I figured out a few tricks, I found myself changing the Type name drop-down, editing the Value and then repeating until all the types had been changed.


In the example below, I want to uncheck Show Type Mark for all types. Currently, some may be on and some off.


One way to quickly achieve this is to temporarily enter a Formula. In this case I know Show Symbol is currently checked for all types, so I entered the formula not(Show Symbol). This unchecked Show Type Mark for all types. To finish, apply and then delete the formula.


This would not have worked if Show Symbol had some types unchecked. In this case, I could create an IF statement to handle this... however, they can be a little tricky for Yes/No parameters.

We can use any length parameter (I use Outline Height in this example) and see if it is greater than, or equal to, a certain value that will always produce a false result.

A first attempt might look like this:

  • if(Outline Height > -1', 0, 0)


However, Yes/No does not equate to 0 or 1, or True or False, in a formula.

Per a previous post from Steve Stafford, this does work:
  • if(Outline Height > -1', 0 = 1, 0 = 1)

This technique could also be used if you still needed one or two types checked; turn everything off and then check the required ones individually. Similar to the Filter dialog; selecting Check None to quickly clear the list and then individually checking the few needed.

Another example of using this trick is when you want to change one of the length parameters, for every type, shown in the previous image. Simply type in the desired length in the Formula column, apply it and then clear the formula. The length has been reset for every type.


Finally, if the family name is specific then the related parameters should not be editable. For example, if the family name is 480V Water Heater, then all types in that family should be hard-wired to 480V as shown below. This formula would be left in place, not deleted, so the designer cannot possibly change it in the project environment.


We can also use Revit schedules to accomplish some of this, but I will save that for a future post.

Feel free to share some of your related tips in the comments.