Revit on the Line: Line-Based Families
Create line-based content for general and specific Project Design. In this article we will go over Line-Based 101 | The Detail Component.
We will be using a “seed” file for efficiency, so I suggest that newcomers read the processes first, then create the families with the step-by-step in-hand ;) …but first:
First Line of Attack | Planning
These concepts and (maybe all family) methods can be transposed to many, many other families; at times exactly, at times similarly, at times just in spirit. Planning is fundamental to creating with predictability, flexibility, and… success.
Assess
Consider what you want, when you want it. Assess the parametric needs, graphic needs, informational needs, etc. Think (about what is needed now as well as what might be needed later; one can always make the family progressively more complex), Re-Consider (how complex it needs to be), Re-Think (the final output needs—don’t put in any more than you need, but no less either). Also mix-in conversations with others—this always helps prove or disprove perceived concepts and usually saves overall project time. And then…
Plan
Plan how to create what you want, when you want it, etc. Capture and diagram everything from the assessment phase and strategize the desired results. (A Family-Planning example is included at the end of this document!)
Create
Create the best you can; and what that means is better than you ever have previously. The planning should allow this! If training is needed; do it. Remember the Internet—someone has most likely done “it” before, or at least tried something similar and by reading other’s successes and failures you can propel yourself further than you might have expected previously.
Validate
This is to find out if in fact the content project is moving forward successfully. Validate the first piece, the first set of pieces, and the entire library. Do an honest review, use a peer group as well…find if it truly works perfectly and, if not, then repeat the process for those items, rebuild until “perfect,” and then move forward.
Line(r) Notes
Flex (Test) at every step. The better one gets the more this needs to be done consciously ;-)
Successful Flex=Save
Unsuccessful Flex + Fix + Flex again (Repeat until Successful Flex)
ALWAYS make at least 1 type—no matter what!
If you don’t create at least 1 Type DO NOT PASS GO, DO NOT COLLECT $200 ;-)
It’s recommended to set up family templates with objects that will be repeated throughout (such as Line Styles, etc.) This may generate many .rft’s for each kind of family template, but it does follow a standard BIM workflow I like to forward:
Make it Once, Use it Many Times
Modifying a Family Template
- Create a family from an existing .rft
- Save the family
- Make modifications
- Save
- Change .rfa to .rft (accept the Windows warning). Some items will not go away after this so do be mindful of what is included in the .rft modifications
Lining Up | Our Plans
01 | Detail Item | Line Based Component
Sheet Waterproofing
Preliminary Lines | Detail Item | Seed Family
STEP 00 | Make Geometric “Seed” Family
PROCESS | Big R (Application Button) > New > Family > Detail Item.rft >
Create Length Parameter: Create a vertical Reference Plane (RP) to the right of the insertion Ref Plane, Dimension (from Ref Plane to Ref Plane > Parameterize the Dimension > Name=Length > OK. Once back in the family environment flex the dimension (now a parameter) to verify that it works; if so move on, if not undo and start step 00 over)
Save As: Seed Lines
Create One Type per Line Style (Line styles are not covered in this article, as there is at least a basic understanding necessary to create families, so remember that these would need to be created ;-)
Family Types > New Type > Dash 05 > Apply > New Type > Dash Dot Dot 05 > OK …(Repeat for each line style)…
- Draw a Dash 05 line and lock it to the horizontal Ref Plane. Be sure to snap to vertical Ref Planes so Length works > Flex, if good Save (If not retry) > Select the line and push the Associate parameter button to the right of “Visible” > Make a New Parameter called Dash 05 (this will be a visibility parameter that we’ll hook up to the Type) > OK
- Draw a Dash Dot Dot 05 line and lock it to the horizontal Ref Plane, be sure to snap to vertical Ref Planes so Length works > Flex, if good Save (If not retry) > Select the line and push the Associate parameter button to the right of “Visible” > Make a New Parameter called Dash Dot Dot 05 > OK
- Setup the Types Make sure the proper line is associated to the similarly named “Type”
- Flex Length
- Save (When working properly)
- Load Into Project
Seed Family with “Dash Dot Dot 05” and “Dash 05” lines as shown individually
Main Line | 01 | Detail Item | Line Based Component
Our planning process ;-) dictated that we create the detail component with the following requisites:
Family Name | Sheet Waterproofing
Type Name 01 | Tyvek
Type Name 02 | Typar
Parameterization: Length (I) Built-in | Family Types (T) | Offset from placement points (I)
STEP 01 | Make the Family
PROCESS | Big R (Application Button) > New > Family > Detail Item Line Based.rft
At this point one would nest AKA: load in the Seed Family
STEP 02 | Make Two Types
PROCESS | Family Types Button > New… Family Types > Name “Tyvek” > New… Family Types > Name “Typar” > OK > Save.
STEP 03 | Create Offset Parameter
PROCESS | Reference Plane (RP) -Input above families’ Ref Plane (about 3” to 6” away, exact distance not important (yet)) > Create a Dimension (from Ref Plane to Ref Plane (NOT REF LINE) > Parameterize the Dimension > Name=Offset > OK | Once back in the family environment change the dimension (now a parameter) to 1”. If it works move on; if not, undo everything and start step 3 over)
STEP 04 | The Geometry Part 01
PROCESS | Place a Dash 05 and align/lock to the vertical Ref Plane and the “Offset” Ref Plane > Lock > Flex > If ok, Save.
STEP 05 | The Geometry Part 02
Place a Dash Dot Dot 05 and align/lock to the vertical Ref Plane and the “Offset” Ref Plane > Lock > Flex > If ok, Save.
STEP 06 | Visibility Control Part 01 | Setting up for Types
PROCESS | Select the line Dash 05 > (see images below) push the Associate Parameter button for “Visible” > Create a parameter (Type) named Dash 05 > OK > temporarily hide element > Select the line Dash Dot Dot 05 > push the Associate Parameter button for “Visible” > Create a parameter (Type) named Dash Dot Dot 05 > OK > Reset temporary hides > Save.
STEP 07 | Visibility Control part 02 | Setting up the Types
PROCESS | Family Types > Set the Type “Tyvek” to have “Dash 05” on and “Dash Dot Dot 05” off > Set the Type “Typar” to have the converse “Dash 05” off and “Dash Dot Dot 05” on > Flex > Save
STEP 08 | Final Flexing | The Real Test for Success | THE PROJECT TEST
PROCESS | Create a new Project from an OOTB (out of the box) template > Load in the family > Place a few of each and switch types, change sizes, etc. to see if it all works > If working, then it’s ok to load into a real project…if not, something needs fixing ;-)
When it’s all working: Voilà
| End of Detail Component | Line Based 101 –Now you can Tag and Keynote those items that look like and act as lines, yet are not “only” lines… they’re data-filled now!