Friday, 16 November 2018

Correcting the CL symbol in mirrored Revit links

The automatic 'Centreline' capability on Revit dimensions can be really annoying when they pop up unexpectedly.  But when you actually need them it is very useful to be able to just change a property of the dimension family to make the CL symbol appear.

I have seen people just placing many instances of two little pieces of overlapping text, one being C, the other L - all because they didn't know about this feature.  That is criminal!  And its a nightmare when dimensions need to be adjusted.

Mirrored Centreline Dimension Symbols

What happens when you mirror the elements and dimension?  In most situations, Revit handles it perfectly well, because the CL is a symbol family, and Revit automatically corrects the symbol orientation.  However, there is one situation where it does not work:
  • If the dimension is in a linked Revit file that has been mirrored - normally you would not see the annotation in the linked file, but if you set the view properties for that link to be 'By Linked View', then the dimensions in the mirrored linked file become visible.

  • In this situation, the symbol may not be displayed correctly, depending on how the symbol family was created:
CL symbol in Mirrored Link
  • The OOTB centreline family is actually made up of arcs and lines (not text) - this symbol does not display properly in mirrored linked files.
I was recently asked to solve this problem, so I searched high and low for settings in the dimension and in the symbol family that might solve this.  I found nothing.
  • Next I tried converting the symbol from lines to actual text in the family - I'm not sure why it was originally done as lines anyway?
  • This needs to be made up of two pieces of overlapping text - in the symbol family, not the project file.
  • In this example I made the text using a font that was clearly not lines - 'Algerian' was the first suitable windows font that I found, to make the demo clear.

  • In the original file it looks fine, as expected.
  • Once I looked at it as a mirrored linked file, another problem showed up:
  • Each letter was displayed correctly, but displaced sideways

  • Aha, it must be the text justification, I thought.
  • But no, that made no difference whatsoever when I tried centre, left or right Horizontal Align.  Revit is just mirroring each piece of text around the symbol centreline, then flipping the text back again around its own axis.

Weird Workaround

So what was the solution?
  • Edit the text in the symbol family - Put a space after the C and one before the L.
  • Shift the letters accordingly. 

  • It wasn't perfect to start with, so I had to shift the text around a bit, or add a second space after the L

Weird behaviour in Revit requires weird thinking workarounds!

Saturday, 13 October 2018

A million ways to view Revit

Last week this blog reached a big milestone: 

One million views.   

OK, some of those viewings may be bots and a few were admin views, but it is still a big deal for me.  It is great to know that so many people out there are interested enough to look at this blog, and hopefully spend time reading the content.  It is also really rewarding when I meet people at conferences and user group meetings, and they tell me that the blog has helped them out (so they must be reading it).

Top Ten Blog Posts

By far the most popular is the post on stair path arrows in Revit.  What this tells me is that this is still a huge issue for people - ever since Autodesk created the 'New Component Stair' tools, and totally changed the stair path annotation method, it has confused users.  Autodesk have not only confused people, but they have continued to neglect the issue for 7 years (?) and have still not fixed the bug that prevents you from copying and pasting stair path arrows from one view to another - shame on you Autodesk.

In the top ten are five blog posts on stairs and railings - yes it is still a part of Revit that people need a lot of help with.  I hope that my blog posts have made life a little easier for people - although I do need to do some updates for the recent tweaks to the software, such as the new multi-storey stair tool.

Number 2 on the list is Copying Views between Revit projects - the reason this is confusing is that each view type has a different method of copying or transferring views. 

One way to get Autodesk to fix some of these issues is to vote on their Revit Ideas wishlist site.  Here is my list of things that I think should be voted up the list.

Monday, 1 October 2018

Quick-Fix Wonky Rotated Revit Plan Views

Following an earlier post on correcting the rotation of section views in Revit, I recently saved someone lots of time with this simple advice:

Here is a quick fix for accurately rotating plan views where someone has rotated a plan view incorrectly.  It may seem trivial but it is actually important that rotated plan views are at exactly the same angle as the part of the building they are displaying - this is so that the view-based orthogonal directions match the building.  If this is a fraction of a degree out, you will end up with all kinds of tiny but incremental differences that will surely cause problems.

When rotating a view, the simplest method is to make the view crop boundaries visible, then select the boundary and use the rotate command.  If someone types in an angle that is not to a whole degree, it will almost certainly not be the same as the actual rotation of the building elements.  Even if you snap to elements, it is easy to make an error.

Quick Fix

  • Go to another view that is correctly rotated ;
  • Create a 'Scope box' in that view - it will be perfectly orthogonal to the correct view;
  • Go back to the wonky view and change the Scope Box property of that view to the new scope box; 
  • It will rotate the view perfectly to the scope box (even if it is only a fraction of  a degree);
  • It will also re-crop the view to match the scope box - this may not be desirable, but can be fixed easily;
  • Delete the scope box if not required for other purposes;
  • Otherwise, just set the 'Scope Box' property to None;
  • Re-crop the view to what you need.
It may seem obvious but not everyone thinks of simple techniques like this.  I hope this saves someone a few minutes or hours and avoids a lot of pain.

Thursday, 27 September 2018

Creating Lofts in Revit Mass - CME Part 6

Here is part 6 of my series on  comparing the five traditional form creation tools with equivalent techniques in the Revit Conceptual Massing Environment.
Previously we analysed the creation of extrusion forms, Blends, Revolves, Sweeps and Swept Blends in the CME.  Hang on - part 6 of 5?  Oh that's right, there is no way to create 'Loft' forms in the traditional Revit environment:

Part 6:  Lofts

It is possible to create a 'Loft' in the Conceptual Massing Environment - it is a little different to a Swept Blend, and has its own rules (and problems).  A loft is a 3D form made by linking a series of planar profiles to create a surface(s), which can be flat, faceted, curved or double-curved (NURBS).  I consider a loft to have a minimum of 3 profiles, as 2 would just be a 'Blend'.  The profiles are linked along a notional path - the difference between this and a Swept Blend is that the latter uses a specific path element, and a loft does not.  Revit will figure out its own path (or not, as the case may be!).

As soon as the edges are not aligned and you have 3 or more profiles, you will get curved surfaces – Revit creates its own spline edges.

The greater the displacement between profiles, the more dramatic the curves

The profiles do not have to be parallel to each other, but as soon as they are at different angles it becomes less predictable as to whether Revit will create the form as you desired. In the example below, the profiles were hosted on reference planes, which can be rotated, but only before the ‘Create Form’ process

Revit may not create the form at all, and you might get this error message:

If the error mentions 'Self-intersecting geometry', it may be due to Revit getting the profile order wrong such that it tries to create a form that doubles back or crosses over itself - something that Revit does not like one little bit.  When you select the profiles in the first place, it makes no difference which order you select them - you have absolutely no control over the order that Revit uses in the Create Form function.  It is not clear how Revit decides on the order - it may be proximity to each other?  However, I don't think it is that simple.

The second part of the error message talks about the 'Reorder Profiles' button - this is not usually visibly apparent.  There is a blank space for it in the bottom left corner of the dialog box.  Wouldn't it be nice if Revit tried to Create Form again with a different profile order;  better still if it asked you to nominate the order!

About once in every few hundred times you get this dialog box, there will actually be a 'Reorder Profiles' button.  Be very careful about clicking on it.  The first time I tried that, Revit crashed out and closed without saving anything.  Thus it is wise to save all files before attempting this.

If you do click on the button, it won't help!  If it doesn't crash, it will just fail again.  It would seem that one of the programmers was aware of this form non-creation ability of Revit, and they tried to add a solution.  However, it seems like this functionality was removed from Revit before it was released to the unsuspecting public.  Sadly one instance of the many variations to the dialog box still has the button there to tantalise us.

If you would like Autodesk to fix this, please go to the Revit Ideas wishlist and vote for this enhancement request:

Control profile order during form creation

This description of Loft creation shows a very simple example - it can get quite complex.  There are many tips and tricks as to how to make Loft form creation easier and more predictable in Revit.  More to follow later . . . .

Wednesday, 29 August 2018

Creating Swept Blends in Revit Mass - CME Part 5

Part 5 of my series on  comparing the five traditional form creation tools with equivalent techniques in the Revit Conceptual Massing Environment.
Previously we analysed the creation of extrusion forms, Blends, Revolves, and Sweeps in the CME.  Next up is Swept Blends:

Part 5:  Swept Blends

Creating a Swept Blend in the Conceptual Massing Environment. . . .

  • A swept blend requires two or more profiles, each perpendicular to the path ;
  • In the traditional Revit environment, a swept blend can only have two profiles;
  • Unlike a sweep, the path can only consist of one element (line, arc or curve), even if the profiles are closed;
  • Unlike a sweep, the profile cannot contain a loop within a loop (to make a hollow form);
  • The easiest way to do this is to host the profiles on points – in the example here, an arc has 3 points that define it, so they can also be used to host the profiles

  • The profiles can be model lines, reference lines or loaded 2D profile components - each method has its own advantages or disadvantages (described below) depending on how you want to modify the form later on, so there is no clear 'best method';
  • Create Form by selecting the profiles and the path
  • In this example, the profiles are the same shape, so there is a smooth transition, and you cannot even see the middle profile
  • NB. If you had just selected the profiles, Revit would decide its own path, which may not match the one you created – in which case the form would become a ‘Lofted’ shape

Edit Form

Editing behaviour differs, depending on the original profiles and path:

  • For model line profiles, you can use ‘Edit Profile’ – it will prompt you for which profile to edit, so you may need to put the form into X-Ray mode to be able to select the middle profile(s) or use wire-frame mode
  • In sketch mode you can modify the profile, or change it entirely
  • However, if you don't have the same number and type of segments in each profile, it may result in sharp edges
  • Try matching the segments in each profile, to make the transitions smooth, without edges  

  • For reference line profiles, the profiles can only be changed in size/proportion, depending on how much you can manipulate the reference lines without breaking the profile (but you cannot add segments)
  • For loaded component profiles, they can be parametrically controlled (best method), but you cannot reload a profile with a different configuration or number of segments 

 Point Hosting

  • The Autodesk help files recommend putting the profile(s) onto points hosted on the path (rather than using the points that define the path in the example above) – this has several advantages: it should give more control with moving end points and rotation

  • Unlike a sweep, when you create a form, it does not extend along the whole path – only between the first and last profile

If you adjust the path underneath, the form follows it:

If the profiles were model lines, then the lines and host points on the path are ‘consumed’, which means the host points cannot be selected or manipulated, and the model lines have limited controllability (except in edit profile sketch mode).


If the form is dissolved the model lines and points are kind of reinstated but not to exactly their original state:
  • Circles are split into semi-circles
  • Points lose their display status
For this reason, you may need to recreate or rehost the profiles after dissolving a form, and reset some properties.

Loft vs Swept Blend

The important thing to note with Swept Blends is that the path is included during the creation of the form, but does not become part of the form itself;  when the path is modified, the form changes too.
If the path is not included, the form becomes a 'Loft'. 

The inclusion of the path can be extremely useful when it comes to modifying the form - as will be seen later . . .


For more info on this, view the Youtube video:
Create a swept blend in Revit CME

Thursday, 19 July 2018

Creating Sweeps in Revit Mass - CME Part 4

Part 4 of my series on  comparing the five traditional form creation tools with equivalent techniques in the Revit Conceptual Massing Environment.
Previously we analysed the creation of extrusion forms, Blends and Revolves in the CME.  Now  we sweep on to the next form:

Part 4:  Sweeps

 Creating a Sweep in the Conceptual Massing Environment has a few unexpected rules and exceptions - some of which you can use to your advantage.

  • First you have to create a path for the sweep, consisting of one or more chained lines, arcs or curves (model or reference) - this is one of the few occasions that you can have multiple element segments to a path in the conceptual massing environment (if not the only one).
  • Then create a profile that is perpendicular to the element of the sweep that it intersects.  
  • NB. If the profile is open, Revit only allows a single element for the path
  • You can place the profile on a convenient perpendicular work plane but the easiest and most reliable way to do this is to host a point on the path then host the profile on the point (set the point reference as work plane) - as recommended by Autodesk.
  • Select the profile and path; 
  • Create form 
  • It should create the sweep
  • However, it may give a message ‘Unable to create form due to self-intersecting geometry’

  • The most common reason might be if you have arcs/curves on the path where the radius is too small to make the transition between straight sections on the inside, as in the example below where the middle arc radius is very close to failing – two profiles are almost meeting each other on the inside of the corner
  • To avoid this problem you could make the path radius larger than required to start with, then reduce it afterwards so that you can see where any problems occur; alternatively, make the profile smaller, then increase it after the form is created - check in X-Ray mode to see where profiles may be close to intersecting. 

  • To edit the path or profile:
    • If the profile was made from model or reference lines, it can be edited in sketch mode using ‘Edit Profile’ once any part of the form is selected;
    • The path (model or reference lines), can be edited in sketch mode – in a very limited fashion, eg. changing the radius of an arc; in this case you may need to use the X-Ray mode to be able to see the path to select it.

Hollow Sweep (Nested Profiles)

In the Traditional modelling environment, Revit usually allows you to have nested loops within a profile in order to create a hollow form.  The Conceptual Massing Environment is less forgiving - I have only found two situations where it is allowed:  One is Revolves and the other is:
  • Revit does allow a profile with a loop inside a loop, but only if the profile is made from lines/arcs – not from a loaded family profile;
    • You could offset/copy the original profile (or draw a new inner loop profile) 
    • Select both profiles and the path elements
    • Create form
    • Hopefully it will create a hollow form 
    • It will show joint lines for each segment of the path
  • If you want to use a loaded family as the profile, It does not allow you to create a hollow form in one command:
    • You need to create two separate forms, one solid and one void;
    • In this situation, it is best to keep the path as reference lines, so that they can be used for both forms;
    • Select the path plus outer profile;
    • Create the solid form

  • Make it X-Ray so that you can see and select the path and the inner profile

  • Select the inner profile and the path
  • Create Void Form

  • It should cut the void from the solid automatically
  • Interestingly the combined form does not show any joint lines (where transitions are tangential) – this is desirable in the project

Joint Lines

  • Prior to seeing this result, I tried hiding the joint lines in the project by putting them into a subcategory or associating a visibility parameter but that affected the whole form, not just the joint lines.
  • Making the original profile a reference line does not hide the joint lines either
  • It looks like we may have to create combined solids just to solve this.


Youtube links for those who don't like reading:   Create a sweep in CME