BILT Speaker

BILT Speaker
RevitCat - Revit Consultant
Showing posts with label pattern. Show all posts
Showing posts with label pattern. Show all posts

Sunday, 15 August 2021

Display Priorities of Solid Fill in Revit Materials

Back in Revit 2012 Autodesk changed the way materials work - so that they had separate graphics and appearance properties.  This was the start of much confusion for many users - and still to this day it catches people out.  You know the drill:  duplicate a material;  change its appearance properties and suddenly a hundred other materials change too . . . .

Well, I am not going to address that issue directly.  Instead I want to look at a more subtle confusion that some users encounter:  Exactly how do the different material properties display in each 'Visual Style' - it will not always be what you might expect or consider to be logical

Material Properties

In order to analyse this issue we start with two very simple material definition examples, applied to two elements in a Revit project:

Material 1 - Demo Generic

  • Light grey shading 
  • Light Blue appearance (different colour to shading)
  • no surface patterns


Material 2 - Demo Green

  • Light green shading and appearance;  
  • no surface patterns


Visual Styles

These materials display as expected in the various 'Visual Styles' in Revit - because we know that the graphic 'Shading' colour property matches the 'Appearance' colour property in material #2 but not in #1 

Material #1 on left,              Material #2 on right

Hidden Line Visual Style

Shaded Visual Style

Consistent Colours Visual Style

The colour displayed for material #1 (left) in Realistic and Ray Trace visual styles is different to shaded and consistent colours because the material properties do not match - this is to be expected.

Realistic Visual Style

Ray trace Visual Style

Material #1 on left,              Material #2 on right


Lighting

These views are lit with default sun and lighting settings (ie. light source over the right shoulder of the viewer)


 

Use Render Appearance

One thing that users often forget to address is consistency between the 'Graphics' and 'Appearance' colours.  If the colours are dramatically different, then materials look completely wrong, particularly in 'Shaded' views.

There is a quick and easy way to deal with this - it is the 'Use Render Appearance' checkbox to make sure the shaded colour matches the appearance colour.

 

This property can be used as a one-off operation - ie, tick the box to change the colour, then untick it.

Or you can just leave it ticked if you want the shading to update when the appearance property might change in the future.

  • NB.  Make sure that the appearance colour is correct first - as there is no 'Undo' so you might lose a shading colour definition.
  • Do not use this method if the shading colour is correct but appearance wrong


Surface Patterns in Materials

When you add surface patterns to materials is where things get more complicated . . .

We will make two more materials, based on the light green shaded material - these will use the same light green 'Appearance' (unchanged).

Material 3 - Demo Green Line Hatching

  • Light green shading 
  • Light green appearance;  
  • Line Cross-Hatching foreground surface pattern

Material 4 - Demo Green Solid Hatching

  • Light green shading 
  • Light green appearance;  
  • Line Solid Fill foreground surface pattern

Visual Styles

Hidden Line

  • Cross-hatch pattern is displayed as you might expect
  • Solid fill displays with solid colour - but without any lighting effects
Material #3 on left,              Material #4 on right

Hidden Line Visual Style

Shaded

  • Cross-hatch pattern is displayed on top of the shading colour
  • Solid fill displays replaces the shading colour - it is completely obscured -  this can be confusing if the user has not studied the material properties carefully
Shaded Visual Style

Consistent Colours Visual Style

Realistic (and Ray Trace)

  • Cross-hatch pattern are not displayed at all - unless a hatching pattern is defined within the material appearance (not a simple thing to achieve)
  • Appearance Colour replaces the Solid fill colour -  this is the reverse of what happens in a Shaded visual style - so it can be confusing
Realistic Visual Style


Background Hatching

Just for the record, here is what happens with background hatching - it follows the same rules as Foreground hatching.  [NB. This capability was added in Revit v2019]

Material 5 - Demo Green Line Background Hatching

  • Light green shading 
  • Light green appearance;  
  • No foreground hatching surface pattern
  • Line Cross-Hatching background surface pattern

Material 6 - Demo Green Line Foreground & Solid Background Hatching

  • Light green shading 
  • Light green appearance;  
  • Line Cross-Hatching foreground hatching surface pattern
  • Solid Fill background surface pattern

Visual Styles Materials 5 & 6

Material #5 on left,              Material #6 on right

Hidden Line

Shaded

Consistent Colours

Realistic


Conclusion

Solid Fill surface patterns are the one part of this Visual Style issue that cause display inconsistencies.

You may have good reasons for using Solid Fill surface patterns as part of a material definition - in which case go for it.  Otherwise, they are to be used with caution in normal Revit use.

Another approach to avoid the inconsistencies would be to make sure the appearance, shading and solid fill colours all match up.


Don't forget to check how many materials are sharing the Appearance asset before you change it - it is the number above the hand on the Appearance tab.


Sunday, 17 February 2019

Stretcher Bond Hatching in Revit

A few years back I posted a description of how to create a complex custom hatch pattern for Revit - that example was for repeating octagons.  Since then I have often needed to quickly create much simpler patterns such as stretcher bond elevation views for bricks, blocks and tiles.  The Octagon pattern was quite complex and it still takes a while to get your head around the logic - so here is a much easier to follow set of examples:


Pattern Definition Format

The pattern file is a text file, saved with a '.pat' extension.
Definition of units (important for metric):
;%UNITS=MM

Each pattern definition has an * prefixed header :   a title and description separated by a comma
      *Stretcher 400x200,   400mm x 200mm stretcher bond
Drafting or Model definition:
       ;%TYPE=MODEL
Each line repeat (in the pattern) is described in one row of text, with comma delimited format.  eg:
0,     1200, 1000,         0,  1000,       400,  -1500

  • Angle  = angle of line from horizontal measured in an anti-clockwise direction
  • Origin x = horizontal distance of start of line from setout point (always orthogonal)
  • Origin y = vertical distance of start of line from setout point (always orthogonal)
  • Shift u (x axis of line) = offset distance of start of repeat line measured parallel to start of line
    (in the direction of the line,  ie. to match the angle).  The Shift values are measured from the start of the line, not from the setout point.
  • Shift v (y axis of line) = offset distance of start of repeat line measured perpendicular to start of line
  • Pen down = length of solid line measured in the direction of the line (optional - it draws a continuous line if omitted)
  • Pen up = length of gap in the line before the next segment of the line starts repeating (measured in the direction of the line);  is always a minus value.  (optional - as per pen down)
NB. I have labelled the shift directions as u & v (not x & y, as Autodesk labels them) because the directions relate to the axis of the line, not the whole pattern - so a vertical line would have a u offset measured vertically (labelled as x direction by Autodesk, which is confusing).

Stretcher Bond Hatching Definitions


A typical staggered tile pattern (stretcher bond) consists of :
  • a series of continuous horizontal lines at regular spacing;
  • Short vertical lines that run between alternate horizontal lines, at a spacing equal to the length of the brick/block/tile
  • Another set of short vertical lines that run between alternate horizontal lines, at a spacing equal to the length of the brick/block/tile - but these are typically offset horizontally by half a length and vertically by one pattern height.
These should almost always be defined as MODEL patterns, as they are meant to be dimensionally correct on the surface of the material.

There are actually two ways to define this:

Option 1 - separate definitions for the two vertical lines

*Stretcher-450x150-1/2,      450 x 150 1/2 stretcher bond
;%TYPE=MODEL
0,         0,0,           0,150
90,       0,0,           0,450,        150,-150
90,    225,150,      0,450,        150,-150

The first row defines the horizontal lines
0,         0,0,           0,150
  • The lines are at zero degrees (horizontal)
  • The first line starts at 0 offset from the origin, both x and y (0,0)
  •  The repeat has a shift of zero horizontally (x or u), and 150mm vertically (y or v) from the line origin (0,150),
  • The next repeat is the same values (0,150) from the start of the previous repeat. 
  • The line is continuous, as the are no pen up/down values




The second row defines the first set of vertical lines
90,       0,0,           0,450,        150,-150
  • The lines are at 90 degrees (vertical )
  • The first line starts at 0 offset from the origin, both x and y (0,0)
  •  The repeat has a shift of zero vertically (u) , and 450mm horizontally (v) , from the line origin (0,450)
  • The next repeat is the same values (0,450) from the start of the previous repeat. 
  • The line is segmented, 150mm solid, 150mm gap (pen up/down 150,-150)
The v shift in this instance is horizontal, perpendicular to the line, with a positive value to the left of the line origin (same as pattern setout point in this case). 
  • As the pattern is symmetrical, it makes no difference if the v shift value is positive or negative
  • Seen below in context, the pattern repeats in both directions from the origin:








The third row defines the second set of vertical lines
90,    225,150,      0,450,        150,-150
  • The lines are at 90 degrees (vertical )
  • The first line starts at 225mm x offset from the origin, and 150mm y offset from the origin (225,150) - ie. half a tile along and one tile up.
  • The repeat has a shift of zero vertically (u) , and 450mm horizontally (v) , from the line origin (0,450)
  • The next repeat is the same values (0,450) from the start of the previous repeat. 
  • The line is segmented, 150mm solid, 150mm gap (pen up/down 150,-150)
 


Option 2 - one definition for both vertical lines

*Stretcher-450x150-1/2,      450 x 150 1/2 stretcher bond
;%TYPE=MODEL
0,         0,0,           0,150
90,       0,0,       150,225,        150,-150


The first row defines the horizontal lines as per previous method
0,         0,0,           0,150

The second row defines the vertical lines
90,       0,0,       150,225,        150,-150
  • The lines are at 90 degrees (vertical )
  • The first line starts at 0 offset from the origin, both x and y (0,0)
  •  The repeat has a shift of 150mm vertically (u) , and 225mm horizontally (v) , from the line origin (150,225)
  • The next repeat is the same values (150,225) from the start of the previous repeat. 
  • The line is segmented, 150mm solid, 150mm gap (pen up/down 150,-150)


  • As the pattern is symmetrical, it makes no difference if the u and v shift values are positive or negative
  • Seen below in context, the pattern repeats in both directions from the origin:


One Third Shift Patterns

The same principles can be applied when the bond is staggered by differing proportions.


Option 1 - separate definitions for each vertical line


*Stretcher-450x150-1/3,   450 x 150 1/3 stretcher bond
;%TYPE=MODEL
0,          0,0,         0,150
90,        0,0,         0,450,       150,-300 
90,    150,150,     0,450,       150,-300
90,    300,300,     0,450,       150,-300


 90,    150,150,     0,450,       150,-300

  • 90 degrees
  • 150mm x line origin, 150mm y line origin
  • Zero u shift repeat, 450mm v shift repeat
  • 150mm Pen Down, 300mm gap (Pen Up)




 90,    300,300,     0,450,       150,-300
  • 90 degrees
  • 300mm x line origin, 300mm y line origin
  • Zero u shift repeat, 450mm v shift repeat
  • 150mm Pen Down, 300mm gap (Pen Up)

Option 2 - one definitions for all vertical lines

*Stretcher-450x150-1/2,      450 x 150 1/2 stretcher bond
;%TYPE=MODEL
0,         0,0,           0,150
90,       0,0,       150,300,        150,-300
Horizontal shift (v) repeat has to be 2/3 of a tile (300mm)

As the joint offset is not half a tile, the same result can be achieved with a negative v shift repeat of -150mm:
0,         0,0,           0,150
90,       0,0,       150,-150,        150,-300



An offset by one third to the left could be achieved by a positive 150mm v shift:
0,         0,0,           0,150
90,       0,0,       150,150,        150,-300


Two Third Shift Patterns

Some patterns cannot have their vertical lines defined by only one row, as you can't define a consistent diagonal repeat.  Therefore you must have multiple rows for the vertical lines.

*Staggered-450x150-2/3, 450 x 150 2/3 stretcher bond
;%TYPE=MODEL
0,          0,0,        0,150
90,        0,0,        0,450,     150,-150
90,    300,150,    0,450,     150,-150








The direction of stagger can be changed with the x origin value:

*Staggered-450x150+2/3, 450 x 150 2/3 stretcher bond
;%TYPE=MODEL
0,          0,0,        0,150
90,        0,0,        0,450,     150,-150
90,    150,150,    0,450,     150,-150

Flemish Bond

More complex brick patterns require extra rows of definition:


*Flemish-240x86,     240 x 86 (Australian Brick size) Flemish stretcher bond
;%TYPE=MODEL
0,           0,0,         0,86
90,         0,0,         0,360,       86,-86 
90,      240,0,        0,360,       86,-86
90,        60,86,      0,360,       86,-86
90,      180,86,      0,360,       86,-86




You could continue this theme with increasing random looking patterns, but I'll leave that for you to figure out . . . . . .




Sunday, 29 October 2017

New in Revit 2018.2 - Pattern Dialog Box


Following on from my last post about new features in Revit 2018.2, there are some very nice tweaks to the Pattern dialog boxes:

Fill Patterns

  • The Fill Pattern dialog box is now fully resizable (height & width) - Revit remembers the resize operation during the session.
  • The Fill Pattern dialog box has been redesigned to replace text icons with visual icons - as per many other Revit dialog boxes.
Revit 2018.2 dialog box
 
Old dialog box

  • No Pattern <None> is now at the top of the list (when accessed from a dialog box that has the option to remove a pattern, such as the Material dialog box) - this replaces the 'No Pattern' button at bottom left of the old dialog box.
  • Solid Fill is now second from the top of the list (Drafting patterns) after 'No Pattern' - generally I think this is a good thing.  NB. This is not the case with the Override dialog boxes, which have not yet been redesigned - so we have another new inconsistency.

  • There is now a Search/Filter function for patterns - it will filter the list to only include whatever contains the text you type into the 'Search' box.  It is not case sensitive.    Watch out for this feature:  if you have any text in the search/filter box, you may not see the <None> or Solid fill items at the top - it will take some getting used to, and will surely catch you out a few times.
  • It is now possible to select multiple fill patterns when the dialog box was accessed from the Manage toolbar (but not from dialogs that require you to choose a fill pattern to be used somewhere - like the material dialog box);  If multiple fill patterns are selected, they can be deleted but not edited (the edit icon is greyed out).

Edit Fill Patterns

The Edit Fill Pattern dialog box has been redesigned - the new overall layout is more logical:
Revit 2018.2 Edit Pattern dialog box
Old Edit Pattern dialog box

  • 'Simple' patterns are now labelled as 'Basic' 

  • When listing custom patterns from a pattern file, it shows 4 instead of 3.  When the dialog box is resized vertically, it only increases the size of the preview, not the list of custom patterns, so you still need to use the tiny scroll bar on the right.
  • The 'Import' button (on the left) has been replaced by a 'Browse' button (on the right) - why?
  • The Import Scale value has been unlocked so it can be changed at any time after importing - this sounds great but BIM Managers may not be happy as they will lose the ability to set and lock down pattern scales.
  • Changing the scale without re-importing is immensely useful, as we often do not know where the pattern came from.  In this situation,  the preview updates as soon as you change the scale.
  • We have lost the File Units -  Aaaargh!  Why?  I like to know if the source was metric or imperial.
  • As with the old dialog box, we cannot see the name of the imported pattern file, which would be useful.
  • We now have a search/filter function for custom patterns, which operates much like the one on the Fill Pattern dialog box - this only works immediately after importing a pattern file. 
  • The title 'Settings' seems a bit odd when the pattern is set to custom - it was obviously designed for Basic/simple patterns, where it is more appropriate.

Overall, this is a welcome change to the UI, with only a few minor quibbles.  It would be great to have many, many more such minor improvements that incrementally take away the pain of using Revit.