Category: Revit

  • Revit Families 104 – Trigonometry for Right Triangles

    Revit Families 104 – Trigonometry for Right Triangles

    Prior to reading this post we recommend reading “Revit Families 103 – Formula Basics” to get the complete overview of all the basic operations allowed in Revit formulas.

    Many times when working with Revit Formula in family creation you will want to work with right triangles.  The following is meant as a handy reference for you to make working with right triangles a little easier.

     

    Known: a, b 

    c = sqrt(a ^ 2 + b ^ 2)
    A = atan(a / b)
    B = atan(b / a)

    Known: a, c

    b = sqrt(c ^ 2 – a ^ 2)
    A = asin(a / c)
    B = acos(a / c)

    Known: b, c

    a = sqrt(c ^ 2 – b ^ 2)
    A = acos(b / c)
    B = asin(b / c)

    Known: c, A

    a = c * sin(A)
    b = c * cos(A)
    B = 90° – A

    Known: c, B

    a = c * cos(B)
    b = c * sin(B)
    A = 90° – B

    Known: a, B 

    b = a * tan(B)
    c = a / cos(B)
    A = 90° – B

    Known: b, A

    a = b * tan(A)
    c = b / cos(A)
    B = 90° – A

    Known: a, A

    b = a / tan(A)
    c = a / sin(A)
    B = 90° – A

    Known: b, B

    a = b / tan(B)
    c = b / sin(B)
    A = 90° – B

  • Revit Families 402 – Greater Than or Equal To

    As discussed in “Revit Families 103 – Formula Basics” there is no native function in Revit for Greater Than or Equal to (>=) and it’s brother Less Than or Equal to (<=).  That’s no problem.  With the basic conditional statements we can recreate them.

     

    Greater Than or Equal to (>=)

    What we want to do:

    If (ParameterA  >= ParamaterB, <true>, <false>)

    How we do it:

    If(not(ParameterA < ParamaterB), <true>, <false>)


    Less Than or Equal to (<=)

    What we want to do:

    If (ParameterA  <= ParamaterB, <true>, <false>)

    How we do it:

    If(not(ParameterA > ParamaterB), <true>, <false>)


    (more…)

  • Two Useful Revit tools

    I’m always on the lookout for good Revit tools and things to make life easier. I’ve recently found two that look promising. I have yet to use them on a project but am looking forward to giving them a try.

    If you have any experience with either of these leave a comment and let us know what you think!

    40,000 + Native Revit Details

    FREE!

    This is a really interesting idea.  They just made all of their details available for free on Dec. 14th, 2010.    You can read about that and their plans on their blog.  http://arcxl.blogspot.com/

    I’m not sure how useful this is, especially if you generate a high amount of custom details or already have a comprehensive detail library, but it’s worth looking into.

    Revit Family Browser

    7-Day FREE Trial

    This looks like a much easier way to browse and manage my ever growing collection of Revit families.  It allows you to organize them and see previews.   Some of the highlighted features are:

    • Instant Family search with each letter typed in the search box;
    • Type Catalog functionality (Create/Edit/Recreate Catalogue);
    • Add families by drag & drop from Windows Explorer;
    • Add families from within the project environment;
    • Create a tab with wall families (more functionality to be added in upcoming releases);

    You can read a couple of reviews here:

  • Revit Families 102 – Revit Experts don’t Use Locks

    In May I published my picks for Best Revit Blogs on the Web.  Coming in at number 2 was The Revit Kid and Jeff’s Lock Noob Classic Thong.  I still try to read everything Jeff writes but I thought I might stir up a little controversy and make the argument that, contrary to what the thong says, a Revit expert is one who doesn’t use locks.

    I think that Jeff has it backwards.  In my experience the newcomer to Revit wants to lock everything.  I think the initial instinct is to not trust Revit and just lock things down.  Later when this user tries to change something they get a string of messages telling them constraints aren’t met and they end up getting frustrated and removing all the locks anyway.

    therevitkid-locknoobthong

    I’m sure Jeff would argue that the Revit Expert knows how to use locks properly.  I would agree that as you experiment with Revit you learn when to lock and when not to lock.  With Revit family creation that time is only as a last resort.

    So what to do instead of locking?

    1. Reference lines and planes:  Hosting and aligning geometry to reference lines and planes automatically creates a strong connection between them.  The link isn’t quite as strong as a lock, under some conditions it will detach.  But for most purposes it works just fine.  Align geometry to a reference plane and flex your model.  You’ll be surprised how often this works.  Carl Gibson has a great overview of the types of Reference lines.
    2. Parameters:  Instead of locking a dimension to a fixed dimension assign a parameter to it.  Using parameters gives you flexibility to easily change things later, and more importantly it lets the user of the family know what’s going on inside it without having to edit the family.  For example, create a a parameter called Table Thickness and give it the formula 0′ 2″.  This tells the user that the Table is 2″ thick and locks it from changing.  Note that locking a parameter with a formula locks it across all types in the family.

    Locking does have it’s place, but I always try to make a family work without locks first.

  • Revit Families 401 – Data Validation

    As I mentioned in a follow up comment to Revit Families 103 – Formula Basics, Revit still doesn’t allow you to do data validation on values or formulas in families or on table data.

    Still, you can build some functionality into your families to ensure that a value never exceeds a specified range or create warnings for the user of your family.

    Lets start with a simple example.  In the plan view below I am showing a basic table.

    Screen1

    Lets say in this example that we never want the table’s width to be greater than 1/2 the depth.  We have a few choices.

    1. Don’t do anything
    2. Display an error message for the user
    3. Default to another value

    (more…)