Thursday, 28 July 2016

Numerical Data Out of Range - A Couple of Culprits

Occasionally when linking CAD files into Revit, the following message is thrown up:



While not the end of the world, it can be mildly irritating. After a bit of digging there are a couple of things that seem to cause this: namely Hatches and MText. I thought I would share this here.

Hatches
Hatches, by default, derive their origin from the UCS origin of the file. In order to fix this, the hatches origins must be altered to get them near the hatch itself. This is done by the following:

  • Use 'Quick Select', pick all hatches in the file
  • Under 'Properties', check the origins: these will read 0,0

  • On the ribbon: Go to the 'Hatch Editor' Tab. Under the 'Origin' panel, select 'Set Origin' and pick the 'Center' option


 
 
 
 
  • The properties should now all be 'localised' to the hatch position
 
 
MText
I'm not entirely sure why this causes a problem, but MText with the three properties 'Defined Width', 'Defined Height' and 'Column' set to anything other than '0', '0', and 'none' respectively will cause the message to appear. Use 'Quick-Select' to pick all mtext and adjust accordingly

 
 
 
I'm sure these two aren't the only causes of this message. I will update this post in the future if any more come to light.




Thursday, 19 March 2015

Lookup Tables and a Little Chat - Getting the Type Name into a Text Parameter

I've very recently been looking at using Revit lookup tables for structural families. These are traditionally used in the MEP side of things, but I have been looking for a structural application for a while. In the course of this, one of the things I have been able to achieve is to pass the lookup table's first column 'Type Name' to a text parameter in the family. As my knowledge of lookup tables is relatively new, I assumed this was something widely used and known. At the last London Revit User Group meeting, I was chatting to Jose Fandos of Andekan and we got onto the subject of this. He assures me that it most certainly isn't and people would be interested in this little tip. So here goes:

I created a sample lookup table as follows:

In Revit, the parameters in the test family:
 


 
A text parameter is created in the family called 'Type Name'.  The formula is broken down as follows:
  • size_lookup                   
Tells Revit it's a lookup command
  • (Lookup Table,              
Refers to the lookup table name in the 'Lookup Table' parameter
  • "",                                 
Usually there is a value between the quotation marks. This refers to which column to reference in the lookup table, but in this case  we create a 'null' value. This is what allows this method to work
  • "NOT SPECIFIED",
The text value that is used if there is no matching value in the lookup parameter
  • Size)
the lookup parameter value for the lookup formula to reference.
 
I'm not sure why this actually works, but I suspect that even though the syntax for the formula is correct for a lookup, the omission of a search column reference means it returns the first value it comes across, which is the 'Type Name' in the first column.
Hope this is useful.
 

Wednesday, 5 February 2014

View Range and Phase Filters

A recent problem arose where phase filters are used to show demolished columns. In 3D and section views, everything appeared fine, but in plan, these columns weren't changing appearance as per the phase filter override. The suspected cause was in the view range for the plan and after a bit of head scratching, it was determined that the columns whose tops terminated within the 'View Depth' band of the view range would ignore the phase filter overrides. This has been recreated in the images below:


Projection - No Phase Filter













Projection - Phase Filter Applied













Cut - No Phase Filter
 












Cut - Phase Filter Applied













View Depth - No Phase Filter













View Depth- Phase Filter Applied












I'm not going to go into a full explanation of how view ranges work, but there are a couple of very good ones by others here and here that helped me get to the bottom of this.

Friday, 29 November 2013

A Big Thank You

Last week, I was fortunate enough to attend Autodesk's Revit Structure 'Gunslingers' Event at their  development office in Krakow, Poland.

I would like to extend a massive thank you to Krzysztof and the team for their warm hospitality and for giving some of us the opportunity to get a glimpse and test new features, plus a valuable insight into understanding some of the sweat and tears that go into making Revit Structure what it is.





Thursday, 9 May 2013

Update on Revit Family Parameters


I have heard back from Autodesk regarding the post below. It seems the behaviour described is not by design.
They are looking into it.

So I guess ........  Watch this space.

Thursday, 25 April 2013

Revit 2014 Family Parameters - Sneaky Sneaky

I can't seem to find anything that lists this change, but this is a new one on me and could cause some upset generally, which is why I'm giving a heads up

Up until now, it has always been possible to mix different case parameters of the same name in a family. You could have a parameter called 'T' and one called 't' and it would sit very happily.

It now appears to be a different case in Revit 2014 and this has been swept away. It's not actually apparent with existing families until they are loaded into a project, taking you from this:





 
 





















 
 
to this:
 
 
 
 
 
 
In hindsight, it's probably not best practice to have parameters named in this way. I'm guessing we'll just have to take our medicine and get on with it!


Thursday, 11 April 2013

Worksets Hopping About a Bit?

When using a workshared file, we've found that on occasion, the active workset seems to change itself for no apparent reason. This particular quirk has always stumped us. Recently however, we have got to the bottom of this. I'm not entirely sure if this is a bug or by design, but the following is the behaviour that causes this to happen

In this scenario. Worksharing is enabled and 'Workset1' & 'Shared Levels and Grids' are created automatically. In addition, I have added a workset called 'A'

















'Workset1' is the active workset. Note the following rules:

  • On opening the workset dialogue, the Active Workset combo box always has initial focus
  • The Active Workset combo box can only be populated by open worksets
















Now we decide that we want to close 'Workset1'. On leaving the Workset dialogue, everything is normal and 'Workset1' is still listed in the main Active Workset box at the bottom of the main screen















Now we want to re-open 'Workset1', so we go to the workset dialogue. Under the two rules above, Revit jumps straight to the active workset combo box and says "Hang on, 'Workset1' isn't open, so it's not in the list. Therefore I will leap quick smart to the first entry in the list, in this case 'A'". 

















Because the user's focus is on re-opening 'Workset1' in the table below, this sleight of hand by Revit is easily missed, resulting in the following















So the moral of the story is to remember to set back the active workset immediately after. Hope this helps

Wednesday, 30 January 2013

Type Catalogue Addendum

I posted back in October a tip for editing Type Catalogues from within Revit

A slight problem with this is sometimes it doesn't work and the batch script returns:

'CMD.EXE was started with the above path as the current directory. UNC paths are not supported. Defaulting to Windows directory.'

By adding the following lines to the top of the script, this will solve this:

%~d0
cd %~p0

From what I can see, this is caused by linked files that have UNC pathnames as opposed to drive mapped. When the Revit model is opened and the links loaded, if the last loaded link has a UNC path, the current directory is set at that UNC path and the script won't run. The lines above pull the drive letter of the running batch script and reset the path

Tuesday, 16 October 2012

Type Catalogue Tips

The video below shows a method for setting up Type Catalogues so that they can be accessed from within the model.  Essentially, 2 URL parameters are added to the family. The first is pathed to a csv file, which allows much easier editing than the text file. The second points to a batch script, which will copy the csv files to text files for Revit to use as the catalogue to load from. These files must all be held in the same directory



This method is quite useful, as you can add types in situ as you are modelling. One thing that would be nice would be if Revit had the ability to reload a family by right clicking the element, as opposed to doing it from the browser window. This would enhance this method further and would also be more intuitive, as you don't have to shift your focus from the model to the browser and back again

Thursday, 27 September 2012

Revit Needs to Go Back to School

Here's a simple maths problem. Take a circle of radius 10. This radius could be any unit of measurement;  millimetres,inches,light years,baby steps. To find the area of this circle, you apply the formula:

Ï€r²

Therefore the area of our circle is 3.14159 x (10²) = 314.159

Seems simple enough?

Not according to Revit

Draw a filled region using a circle of radius 10.
Firstly, do this using metric units (mm & mm²) and you get:












Now do this in imperial units (decimal in & in²) and you get:












The metric figure is 99.98% accurate, the imperial a little closer. Big deal you may say, and in most cases you'd be correct, certainly in a small example like this. But what if I take this circle and make it bigger, then I extrude it to make some 3D geometry, then I copy this around many times, then I want to know the volume of these elements?  Small errors start to compound into more significant overall errors

pi is a constant. Revit knows this is a circle. So why the discrepancy?









Thursday, 2 August 2012

Look No Hands! - Formula Free Positive and Negative Offset

The following video outlines a method for achieving positive and negative offset, using a blank(ish) nested Generic Model family. The offset value of this family, once it is nested, can then be through-linked to a parameter in the host family and under certain conditions, can then control geometry





The first part of the video demonstrates the creation of the blank 'plane' family. Essentially, the steps are follows:

  • Create a new family from the 'Metric Generic Model' template (or its imperial equivalent)
  • Under 'Family Category and Parameter's, ensure only 'Work-Plane Based' is checked
  • In an elevation view, set the reference plane running along the level line to 'Strong Reference'
  • In the plan view, put in two model lines along the reference planes and lock off. Set to 'Not a Reference'. These lines are provided purely for visual reference once the family is nested
  • Under the family parameters, add a new yes/no instance parameter 'Lines Visible'
  • Select the model lines and link their visibilty parameter to this. This will allow visibilty control of the lines once nested
This now completes the 'plane' family.

In order to use this, create a new family and load this in. This can then be placed on any workplane (ie named reference planes and levels) and the offset from workplane controlled from a parameter in the family by linking the two together. 

Above I stated that this is subject to certain conditions. Essentially, you can only control the geometry by locking the sketch work of the solid, not the solid itself. For instance, if you place an extrusion and use the solid's drag handles, as opposed to the sketch line for that edge, it won't work. The same is true for sweeps, you must lock the path sketch line itself, not the solid. The video goes on to demonstrate this behaviour in action.

Hope this helps and enjoy!

Thursday, 12 July 2012

Sharp Elbows - New Revit 2013 'Structural Material' Parameter and Model Upgrade Problems

The purpose of this post is to shed a bit of light on a Revit 2013 model upgrade problem. It will also assume a certain level of Revit knowledge

The materials functions have been seriously overhauled for Revit 2013.
On the Structures side, a new built-in parameter 'Structural Material' has been introduced.


This parameter is non-modifiable and non-removable. It can only be altered from 'Instance' to 'Type' and vice-versa. The function is by design and appears to be for the purpose of using extended information for calculation and to provide a more fixed and stable platform in the structural model for third party analysis software linking

When family files are updated in Revit 2013, the upgrade elbows out any existing material parameter and replaces it with this.

However, we have discovered a slight complication with this. Take specifically families which have a nested component, and the material parameter in this nested component is linked to a material parameter in the host.

If you open the family file directly in Revit 2013, the upgrade process will 'sever' this link, but it will upgrade.

If you are upgrading a project that contains such a family, the upgrade will fail for these elements and Revit will require that these are deleted from the model before continuing. This is happening here with our Pile Cap families, which have a Pile family nested inside.

To get around this, you have to open the project model in the previous Revit version and edit the offending families to de-couple the material parameter link. The model will now upgrade in Revit 2013. You can now re-edit these families to re-couple the parameters, then reload back into the model.  You may also want to consider changing the previous material parameter to the new 'Structural Material' to take advantage of the new functionality

I trust this helps and is clear, but please feel free to comment

Thursday, 2 February 2012

Adjusting the Workplane of Multiple Beams - When Revit Says 'No'

I've never quite pinned down why this happens, but on occasion, when trying to adjust the workplane of a selection of beams, the dialogue greys out






As I see it, there are three different workarounds
  • Cut & Paste by 'Selected Level'
  • Select Individually
  • Hitch a Ride in a Group
Cut & Paste by 'Selected Level'
This is the easiest option and is fine if you haven't got any annotation

Select Individually
This is fine until you hit a certain point, where the original problem kicks in. One visual indicator is that providing the 'Pick New' button is still lit, you will be able to change the workplane. If you hit the limit, just use shift+click and remove the last beam selected


Hitch a Ride in a Group
You have a view with beams that are annotated with tags.
You want to amend the workplane of some of them, while still showing the beams and maintaining the tags in that view. Select the beams and the tags and group them together. This will create a model group with an attached detail group. Change the level of the group to the required level, then ungroup and delete the group from the project browser. The beams should now be at the amended level. The tags will show, providing the new level is within the view range of the view.

Wednesday, 1 February 2012

Section Marks - Some Observations

A problem that seems to come up sometimes is getting section marks to look consistent on a series of floor plans. For grids and levels, the 'Propagate Extents' function serves this purpose, but doesn't extend to section marks. In absence of this, I set out to discover the rules that dictate how section marks behave in relation to views


The Scenario



The plan on the right (Level 1) is the view in which the section mark was placed. Both views are set to an identical crop box. The extents are at the border between the pink and blue shading (more on this in a minute)  As you can see, the marks display as required


Now in the plan on the left (Level 2), the view crop is adjusted. All four sides are within the shaded areas and the section mark remains unaffected


Moving one of the crop extents outside of this shaded area, the section mark revokes to its default initial view.

Conclusion

In short, there is a zone of 63.5mm (or 2.5" in old money), multiplied by the view scale.
This is applicable inside and outside the crop extents. (shown here as pink and blue).  
It relates to the view where the section mark is placed and governs the display in other views. Should the original view crop extents change, this zone will amend with it. Providing all four extents in any other views are within this zone, the section mark will remain unaffected

 
In standalone views (ie non-dependent), the best way to control this is through a scope box. In dependent views, it is best to place and adjust the section mark in the 'Child' view, rather than the 'Parent View'.

Monday, 23 January 2012

Add Spot Levels to a Topography Section - A Workaround

A slight annoyance in Revit is that you can't add a spot level to a topography in a section view. The following video shows a workaround for this. Essentially, you isolate the topography in the view and export to a dwg file. In Autocad, delete everything except the hatch pattern. This is then re-linked ('Current View Only' & 'Auto Origin to Origin') back into Revit as a 'background'. Revit will now allow you to place spot levels onto the hatch pattern. If the topography changes, you'll need to repeat the process


Get a Little Extra from a Graphical Column Schedule

The following video demonstrates a method for specifying connection types using labels in a Graphical Column Schedule. This is achieved by nesting a Generic Annotation family inside a Connection Symbol family. The Connection Types are then set up in the project under 'Structural Settings'. This is particularly useful if you need to show this information without modelling every single connection, for instance at a preliminary design stage

Wednesday, 4 January 2012

Trace a Spline in a Linked Dwg File and Some Recommended Reading

The scenario. You get a dwg file for overlay. The architect has drawn a beautiful sweeping curved  edge to their building, You link the dwg file into your model and see its a Spline.

Which presents two problems:
  • You can't trace over it in Revit
  • You can't set it out. And if you can't draw it, they can't build it

Fortunately, you can use the 'Flatten' command in Autocad to turn it to a polyline of arcs. By then exploding the polyline, you are left with a series of arcs that you can pick in Revit and also set out. The following short video demonstrates this



On another note and as a supplement to this, I recently came across
'The CAD Setter Out' blog by Paul Munford. For people who regularly have to clean up third party CAD files for use in Revit (or generally), this is comprehensive and highly useful resource. Its written generally from the CNC/Fabrication perspective, but is very pertinent reading to the designer. I'd recommend the following posts as a starter

From CAD to CAM, Cleaning up 2D DWG files for CNC.

How to optimize your AutoCAD DWG drawing files

Why Setter Outs aren’t (and don’t want to be) Designers.

Thursday, 17 November 2011

Secant Pile Wall - A Method

We get a few enquiries regarding Secant Pile walls, so thought it would be a good topic to cover
This will be broken down into a couple of posts. The first, this one, will cover a basic method to get up and running. The second post will cover a couple of more advanced details.

The method involves creating a Generic Model family, then placing this into an In-place Wall family in the project. This In-place 'container' ensures that the piles display correctly in the project (ie hidden lines shown). I'm not a huge advocate of in-place families in general, but this is one instance where they have a good use.



The first thing to do is to create a diameter driven circular profile family. This isn't covered in the video, but for reference, refer to a previous post here

The next stage is to set up some shared parameters as follows:

'Pile Size Male' - Length
'Pile Size Female' - Length
'Pile Length Male' - Length
'Pile Length Female' - Length
'Pile Crs' - Length

We're now ready to create the family. It consists of a Generic Model 'Female' Pile family nested into the main 'Male' Pile family.

Create a new Generic Model Family and name 'GEN_Secant Female". Add the shared parameters above as follows:

'Pile Size Male' - Type - set initial value to 900
'Pile Size Female' - Type - set initial value to 600
'Pile Length Female' - Instance
'Pile Crs' - Type - set initial value to 600

In addition, add a family parameter 'Pile Return Angle' as an angle parameter - set to Instance
Load in the circular profile family and add the geometry as per the video. Close and save

Next is to create the main family:

  • Open the 'GEN_Secant Female' and save as 'GEN_Secant'
  • Delete the void elements.
  • Add a reference plane as shown
  • Keeping the existing parameters, now add the shared parameter 'Pile Length Male'. Set to Instance. Also, create a new family yes/no parameter 'Pile Female'
  • Pick the solid and swap the female profile for the male profile. Delete the female profile.
  • Change the length dimension from 'Pile Length Female' to 'Pile Length Male'.
  • Load 'GEN_Secant Female' into this family. Place an instance of this, lock off to the reference planes and link parameters as shown

Now load the family into the project. Create a new in-place family of type 'Wall' and place instances of secant pile as desired.

On a final note to Nikolajs who contacted us regarding this; I tried to reply to your query, but it was bounced back. Hopefully this will help you out

Monday, 5 September 2011

Rotate a Generic Annotation 360° and Beyond - A Method

The following video outlines a method for rotating a Generic Annotation through 360°. In the example, a north arrow is nested into a drawing sheet. This builds on a previous post here, regarding rotating tags. This method however, solves the problem with the array breaking at 0°/360°. The main points are outlined below:






  • Create a Generic Annotation family and load into a drawing sheet
  • Insert the annotation
  • Now to set up the array. A bit of reverse logic is required here. Firstly, rotate the element by an angle, in this case 120°. Make sure this is from the rotation point you want to use
  • Now draw a second element. In this case, I have added an invisible circle. The purpose this serves is to allow all elements, except the one we want to show, to be excluded from the groups formed by the array. If the array group contains only one element, this won't work; Revit will delete the group and the array along with it. The aim is to leave 'empty' group containers
  • Pick the annotation and the circle. Pick 'Array'. Ensure 'Group and Associate' is checked and also that the 'Last' radio button is selected. Array through the same angle, with rotation at the same point, as the earlier rotate operation. This should bring the end of the array back to 0°
  • With these settings, the array will always rotate leaving the last element in a static position, in this case, back at 0°
  • Now exclude all elements from the array groups as shown, leaving only the annotation at the 120° angle in place 
  • Hover over the rotation point area and tab. The array looks like a slice of pie
  • Add an angular dimension to the array. You may need to tab to ensure you get the correct lines
  • Pick the dimension and add an angle parameter
  • Load the sheet into a new project and spin the angle to your heart's content

Wednesday, 8 June 2011

'Date & Time Stamp' for Generic Annotation Families

The following video outlines a method for getting the Date/Time stamp parameter available to Title Block families into Generic Annotation families. The example shown is an update to the status banner that we use on drawing sheets.



The main points are as follows:

  • Open the Generic Annotation family you want to edit (or start one from scratch)
  • Create a new label. Under 'Family Category & Parameters', change the category to 'Title Blocks'. This will open up the 'Date Time Stamp' parameter. Apply this parameter to the label
  • Select all labels in the family and cut to the clipboard
  • Under 'Family Category & Parameters', change the category back to 'Generic Annotation'
  • Paste the label elements back to the same place
  • If working on an existing family, as demonstrated in the video, it will mess up some of the categories and labels. These now need to be corrected. If starting from scratch, do the 'Date Time Stamp' steps above first, to avoid any of this re-work
  • Please note that this built-in 'Date Time Stamp' takes its format from the Windows system settings
That's pretty much it. Enjoy