Showing posts with label Family. Show all posts
Showing posts with label Family. Show all posts

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.
 

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!


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, 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, 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

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

Monday, 9 May 2011

Create a Cellular Beam Family - A Method - Part 5 - Structural Framing Cellular Beam Family


  • Create a type catalogue txt file from the earlier created csv file. The filename must match the name of the 'Generic Model Steel Half Beam' family
  • Create a new Structural Framing Family from the 'Metric Structural Framing - Beams and Braces' template
  • Delete the elements and amend the 'Length' value to 15000 as shown
Add the following family parameters and set to instance and as a reporting parameter:
  • Section Length - (Length)
Add the following parameters from the shared parameter file and set to type:
  • Cell Pitch - (Length)
  • Cell Diameter - (Length)
  • Section Top - (Family Type : Generic Model)
  • Section Top Depth - (Length)
  • Section Btm - (Family Type : Generic Model)
  • Section Btm Depth - (Length)

  • Now load in the Steel Half UB Generic Family, selecting the required types. In this case, I've loaded every size, but you can load only the ones you need to keep down the file size. The more observant will ask 'why not make this family shared and load it from the project?'  This is a valid point, but using a shared family means you can't curve the beams. If this is not an issue, consider the shared option to optimise performance
  • In a plan view, insert a Half UB Section. Ensure 'Place on Workplane' is selected. Lock off to reference planes as shown
  • Dimension the inner end reference planes and label with the 'Section Length' parameter
  • Pick the Half UB Section. Through link the parameters as shown. Set the label to the 'Section Top' parameter
  • In a 3D view, insert another Half UB Section. Ensure 'Place on Face' is selected and pick the underside face of the web of the top section. 
  • Lock off to reference planes and through-link the parameters as per the top section. In this case however, set the label to the 'Section Btm' parameter and through-link the  'D' parameter to the 'Section Btm Depth' parameter

    I hope all this will be of help. Enjoy, and please feel free to comment with any queries





      Create a Cellular Beam Family - A Method - Part 4 - Generic Model Steel Half Beam Family

      This video shows how to create the Steel UB Half beam to be nested into the Cellular Beam Family. The main points are outlines below:



      • Create a new family from the 'Metric Generic Model' template
      • Under 'Family Category and Parameters', uncheck 'always vertical' and check 'work plane based' 
      • Add a family parameter 'Length'. Set this to instance
      • In plan, add a reference plane. Dimension the reference planes as shown and label the dimension with the 'Length' parameter. Add a round easy figure, in this case 15000. Make it fairly long, to give plenty of breathing room for the cell void array
      Add the following family parameters and set to instance:
      • Cell Run Dim - (Length)
      • Cell Qty - (Integer)
      • Cell End Dim - (Length)

      Add the following family parameter and set to instance. Add value as per the video:
      • D - (Length)(Depth of Section)
      Add the following family parameters and set to type. Add values to the parameters as per the video:
      • B - (Length) - (Width of Section)
      • T - (Length) (Flange Width)
      • t - (Length) (Web Thickness)
      • r - (Length) - (Root Radius)
      These should correspond to the parameters created in the 'Profile Steel Tee Family'


      Add the following parameters from the shared parameter file and set to instance. Add values to the parameters as per the video: (Note, the video shows type parameters for these; this was an error)
      • Cell Pitch - (Length)
      • Cell Diameter - (Length)
      Add formulas to the parameters:


      • Cell Run Dim - (Cell Pitch * Cell Qty) - Cell Pitch
      • Cell Qty - Length/Cell Pitch
      • Cell End Dim - (Length - Cell Run Dim) /2
      Next onto creating some geometry
      • Load the Profile Tee & Cell Half Void families
      • Under the project browser, click each of the loaded families above and through link the parameters as shown
      • Create a new solid sweep using the Tee profile. Lock of the sweep path as shown
      • Add symbolic lines. Set the workplane to the top flange, use the pick tool to the web lines and lock off and dimension as shown. 
      • Add a cell void to the face of the web as shown
      • In elevation, add a reference plane, dimension and label with the 'Cell End Dim' parameter
      • Align the cell void to the reference planes as shown and lock. Under the properties for the cell void, uncheck the 'visible' 
      • Pick the cell void and the reference plane as shown. Select the linear array command, check 'Group and Associate', 'Last' and 'Constrain'. label the array number dimension with the 'Cell Qty' parameter
      • Dimension the reference planes in the first and last groups of the array. Label this with the 'Cell Run Dim' parameter

      Create a Cellular Beam Family - A Method - Part 3 - Generic Model Cell Void

      The next video outlines the creation of the void cut that will be nested in the Half Beam family. The stages are as follows:


      • Create a new family from the 'Metric Generic Model Face Based' template
      • From the shared parameter file created earlier, add 'Cell Diameter' and make it a type parameter. Also, add a family parameter 'Void Depth', also a type parameter
      • In plan, add a semi-circle void extrusion and dimension as shown. Set the dimension to the 'Cell Diameter' parameter
      • In section, create a reference plane below the level mark. Drag the shape handles of the void to the level and the reference plane and lock off. Dimension the reference plane from the level and set to the 'Void Depth' parameter
      • Now cut the extrusion to the void using the 'Cut' command

      Create a Cellular Beam Family - A Method - Part 2 - Profile Tee Family

      Profile Tee Family
      This is required for the the Half Beam Sections. The following video shows how to put it together. Start from the 'Metric Profile' template



      Create a Cellular Beam Family - A Method - Part 1 - Shared Parameters & Catalogue

      Shared Parameters






      Create Shared Parameters as follows (parameter type shown in brackets):
      • Cell Pitch (Length)
      • Cell Diameter (Length)
      • Section Top (Family Type : Generic Model)
      • Section Top Depth (Length)
      • Section Btm (Family Type : Generic Model)
      • Section Btm Depth (Length)


        Catalogue

        The cellular beam family here will be composed of sections from UK steel stock, UB (Universal Beam) sections and a catalogue of sizes will be required. At Waterman, we create our standard catalogues from scratch, using compiled information from the Tata/Corus Online 'Blue Book'. and extra parameter that we use (as opposed to the OOTB catalogues). These master catalogues are held as csv files, then copied and renamed to the appropriate family type catalogue txt file. For information on creating type catalogues, refer to the Revit help files. The type catalogue will drive parameters in the 'Generic Model Steel Half Beam Family'

        Create a Cellular Beam Family - A Method - Overview

        A few weeks ago, Glenn Jowett posted on his RevitST blog about the OOTB Cellular Beam Family.
        I completely echo Glenn's sentiments and it reminded me of the issues we have had. We have had a workable alternative for some time, but it needed a little more development, which Glenn's post has prompted me to do something about. Also, that we should share this with the larger Revit community. The issues have been to get something that is both user friendly and has good model performance. Autodesk recommend economy when using voids, arrays and nesting in families, which unfortunately are required for this particular family to work.  I will cover the aspects in different parts as outlined in the shopping list below to keep it manageable:


        Brief


        Create a cellular beam family. End user parameters to be limited to the Cell Pitch/Diameter and the section size top and bottom. Model performance must be managed in the right way


        Shopping List

        • Shared Parameters
        • Catalogue of Standard Sizes
        • Profile Steel Tee Family
        • Generic Model Cell Void Family
        • Generic Model Steel Half Beam Family
        • Structural Framing Cellular Beam Family

        Wednesday, 2 March 2011

        Unlock Legend Component Views

        When it comes to Legend Components, some can be placed showing any view of the object, whilst some can only be placed 'Floor Plan', 'Elevation Front' and 'Elevation Back'.


        For Generic Model Families and their derivative categories, this is dependent on whether the family is work plane-based or not. Work-plane based families will only show the limited range of views (as will only host-based families). 



        The video below outlines a method of leveraging out these extra views for work plane-based families. Please note this will not work for host-based families, such as wall, floor or face-based. Essentially, the steps are as follows

        • Place the component into the 3D model onto its host face
        • Right click the component and 'Edit Family'
        • In the Family Category Parameters, uncheck the 'Work Plane-Based' box 
        • Reload into the project
        • Place the Legend Components into the Legend with the required extra views
        • Re-edit the family, Re-check the 'Work Plane-Based' box and re-load

        The Revit Option bar dropdown box will read the incorrect view, but the properties for the Legend Component will show the extra view as correct. Revit now retains these views

        Please feel free to feedback if any issues arise, as this is a recent discovery. As far as I can tell, things are sound in the method, but you never know.

        Sunday, 30 January 2011

        Profile Families & Reference Lines

        When building a complex Profile family, sometimes this can be hampered by the fact that Reference Lines are not available and you are limited to Reference Planes. One thing you can do however, is nest a Detail Item family in a Profile family. Using this fact, you can build a 'rig' of Reference Lines in a Detail Item family. This can then be loaded in and lines can be traced over and locked to this. The Detail Item family is flexed by through-linking its type parameters to identical parameters in the Profile family. The concept is demonstrated in the video below:

        I understand that the example can be perfectly achieved directly in a profile family, but I wanted to keep the example simple for the purpose of this post


        Wednesday, 19 January 2011

        When Shared Parameters Lose their Way

        On occasion, a shared parameter that is under one group in a family will mysteriously end up in the 'Other' group, when loaded into a project. In this case,the parameter 'Section Name'






        In order to fix this, do the following:
        • On the 'Manage' tab, click 'Project Parameters' on the 'Settings' panel

        • Now select the shared parameter from the shared parameter file and set the 'group under' to the match the correct group in the family. Click 'Ok'

        • Now go back into the Project Parameter dialogue, select the parameter and hit 'remove'

        • Now you'll be left with the shared parameter in the family under the correct group


        I've no idea why Revit does this, but its clearly a bug. It will do it with the same shared parameter used in multiple families, but once you apply this fix, all the families that contain the offending parameter will then be correct.





        Wednesday, 5 January 2011

        Happy New Year & Rotating Tags

        A Happy New Year to all.

        The video here demonstrates a method for Rotating Tags. This method employs the use of a rotating array, in which the elements you don't want are excluded. This offers an alternative to using reference planes, where the rotation can be a little unpredictable.


        The key stages to build the tag are as follows

        • Create a label and rotateto vertical. Position the tag as near to the reference plane and a preferred distance from the centre origin. Make sure the label is set to vertical align 'middle', horizontal align 'centre' and 'keep readable' is checked.
        • Put in another element. Where this goes and what it is doesn't matter. This is required so that the group created in the next step contains more than one element. In the example, this is a vertical line. (This is necessary as the group exclude outlined below will not work if the group contains only one element)
        • Select both elements and create a group called 'Label'. Drag the group origin point to the reference plane intersection
        • Select the group, go to Array, Rotation. Ensure 'Group and Associate' is checked. Check the 'Last' radio button. Drag the rotation point to the reference plane intersection point and enter the required rotation angle into the box
        • To hide the elements not required, Tab into the groups and select the element. Right click and hit 'Exclude'. Do this for all elements until left with only the required label
        • Now put an angular dimension to lines of the array. (on the line over the vertical reference plane, make sure you tab through to get the correct line)
        • Pick the dimension and add a parameter called 'Tag Angle'
        As is sometimes the way with Revit, youdon't get something for nothing! If an angle of 0 or 360 is entered, the array breaks. To overcome this, some control is required through the use of a formula. This will get us as close to vertical as we can (in this case 0.11)

        • Create a new angle parameter'Angle Adjust'
        • In the formula box, enter if(or(Tag Angle=0,Tag Angle=360),0.11,Tag Angle)
        • Now amend the array dimension parameter to 'Angle Adjust'
        Now to have different angle tags, simply duplicate type and enter a new angle. Or you can create a pre-defined set of angles quickly using a type catalogue. Enjoy!

        Tuesday, 14 December 2010

        Starter for 10 - Radius v Diameter

        This is my first contribution to the Waterman Revit Blog, which will form the basis of a dialogue of our experience with Revit, particularly in implementation and family creation. This will specifically cover Revit Structure and UK based content, but we hope that all flavours will gain something.

        So, introduction over and onto business
        Radius v Diameter
        If you've ever done anything in a family involving a circular object; pipes, tubular columns etc and wished you didn't have to put in Diameter/2 to drive a radius parameter, then the following video is for you




        This outlines a method for creating the parametrics for a tube, using only Diameter and Thickness to drive it, taking your family from this (OOTB example):



        To this:


        A much neater solution

        Friday, 9 October 2009

        We now have a Tapered Concrete Beam Family.

        Which can be found in \MasterDocs\Cad\Revit\Waterman Library\Families\Structural Framing and is called W_FRA_C-Rectangular Taper Beam


        As you would expect it is fully parametric and allows you to enter the Haunch details and adjust the end angle if it is sloping.

        Monday, 21 September 2009

        We have created a new Multi Category tag

        that looks at comments. So any object be it a beam, column or even a filled region can have it's comments tagged. So rather than putting in ordinary text add some comments and use W_T-MCA_[Comments] which can be found in \Masterdocs\CAD\Revit\Waterman Library\Families\Annotations

        Friday, 18 September 2009

        There is now a Concrete Circular Column Family

        in the Waterman Library. It's called W_COL_C-Circular and is where you would expect.
        We have also tweaked the other Concrete column families. so if you are already using them you may want to reload the latest.