Family Creation
Should this be called Family Editing or Family Editor instead? Or HOWTO... etc.?
See also Families, Family Version, and Family Templates
NOTE: "Specialty Equipment" was originally intended for owner-provided equipment that Mechanical needed to make connections to. That's why you can't cut it with a section. (per Don Rasmusson at 41:45 of https://www.youtube.com/watch?v=ryD09Dm4ZU8)
In-Place Families
...
See conversion idea below for workaround steps to convert from an in-place family to a loadable family.
Preview Images
The Type Selector preview appears to come from the {3D} view Back-Left-Top corner, but some settings such as Visual Style (display of material) and even visibility of the analytical model appear to be coming from somewhere else (see Glulam-Western Species.rfa)?
TODO: check if name matters - can make a different view?
The File preview comes from the active view when saved (or other view, depending on the option setting).
NOTE: The default {3D} view will revert to the default Front-Right-Top corner unless you Save Orientation and Lock View (using a different name). So, if the family is not symmetrical (Footing-Rectangular w Void.rfa, for example), you may need to adjust the view every time you open/upgrade...? [TODO: try above]
Try:
- in 3D:
- right-click view cube > set current view as Home [sets Start View?]
- > save view [to view from back, etc.?]
Type Catalogs
A Type Catalog is a list of Types (and parameters for those types) in a text (*.txt) file with the same name as the family. You are asked which types to load as a second step when loading the family from the project. NOTE: If you use either of the Family Editor's "Load into Project..." buttons, only the types INSIDE the Family (seen in the Family Types dialog) are loaded. See also Load a Family with a Type Catalog [R2016 Help].
To have a quotation mark (inch symbol) in the Type Name, use double quotes ("") - see Create a Type Catalog [R2016 Help] or [R2024 Help].
NOTE: Can have blank lines in Type Catalogs (will be ignored by Revit).
WARNING: If you have a line with just commas, it might pass a first check (if it has the correct number of commas) which would tell you the line number, but may fail a value check depending on what parameters are in the catalog (for example, ##OTHER##
can be blank, but ##SECTION_PROPERTY##MILLIMETERS
must have a value (can be 0). The value check will NOT tell you which row is causing the first problem, but tells you the first column instead (NOT helpful; TODO: submit).
...
See also Parameter Types below.
Discipline | Type of parameter | Units in Revit | Sample in Revit | in Type Catalog Header | Values in Type Catalog | ||
---|---|---|---|---|---|---|---|
Type | Units | blank?[1] | sample | ||||
Common | Text | ... | ##OTHER## | The quick brown fox | |||
Common | Integer | 1 | ##OTHER## | 0 | 1 | ||
Common | Number | 1.000000 | ##OTHER## | 0 | 1 | ||
Common | Length | 1235 ['] | 1.000 | ##LENGTH## | FEET | 0.000000000000 | 1.000000000000 |
Common | Length | 1' - 5 11/32" | 1' 0" | ##LENGTH## | FEET | 0.000000000000 | 1.000000000000 |
Common | Length | 1235 ["] | 12.00 | ##LENGTH## | INCHES | 0.000000000000 | 12.000000000000 |
Common | Length | 17 1/2" | 12" | ##LENGTH## | INCHES | 0.000000000000 | 12.000000000000 |
Common | Length | 1235 [m] | 0.3048 | ##LENGTH## | METERS | 0.000000000000 | 0.304800000000 |
Common | Length | 1235 [dm] | 3.048 | ##LENGTH## | DECIMETERS | 0.000000000000 | 3.048000000000 |
Common | Length | 1235 [cm] | 30.48 | ##LENGTH## | CENTIMETERS | 0.000000000000 | 30.480000000000 |
Common | Length | 1235 [mm] | 304.8 | ##LENGTH## | MILLIMETERS | 0.000000000000 | 304.800000000000 |
Common | Length | 1234.568 [m][2] | 0.3048 | ##LENGTH## | METERS | 0.000000000000 | 0.304800000000 |
Common | Area | 1234.57 [SF] | 1.00 | ##AREA## | SQUARE_FEET | 0.000000000000 | 1.000000000000 |
Common | Area | 1234.57 [in2] | 144.00 | ##AREA## | SQUARE_INCHES | 0.000000000000 | 144.000000000000 |
Common | Area | 1234.57 [m2] | 0.093 | ##AREA## | SQUARE_METERS | 0.000000000000 | 0.092903040000 |
Common | Area | 1234.57 [cm2] | 929.03 | ##AREA## | SQUARE_CENTIMETERS | 0.000000000000 | 929.030400000000 |
Common | Area | 1234.57 [mm2] | 92903.04 | ##AREA## | SQUARE_MILLIMETERS | 0.000000000000 | 92903.040000000008 |
Common | Area | 1234.57 [acres] | 0.0000[3] | ##AREA## | ACRES | 0.000000000000 | 0.000022956841 |
Common | Area | 1234.57 [hectare] | 0.0000 | ##AREA## | HECTARES | 0.000000000000 | 0.000009290304 |
Common | Volume | 1234.57 [CY] | 0.04 | ##VOLUME## | CUBIC_YARDS | 0.000000000000 | 0.037037037037 |
Common | Volume | 1234.57 [CF] | 1.00 | ##VOLUME## | CUBIC_FEET | 0.000000000000 | 1.000000000000 |
Common | Volume | 1234.57 [in3] | 1728.00 | ##VOLUME## | CUBIC_INCHES | 0.000000000000 | 1728.000000000000 |
Common | Volume | 1234.57 [m3] | 0.028 | ##VOLUME## | CUBIC_METERS | 0.000000000000 | 0.028316846592 |
Common | Volume | 1234.57 [cm3] | 28316.85 | ##VOLUME## | CUBIC_CENTIMETERS | 0.000000000000 | 28316.846591999998 |
Common | Volume | 1234.57 [mm3] | 28316846.59 | ##VOLUME## | CUBIC_MILLIMETERS | 0.000000000000 | 28316846.592000003904 |
Common | Volume | 1234.57 [L] | 28.32 | ##VOLUME## | LITERS | 0.000000000000 | 28.316846592000 |
Common | Volume | 1234.57 [gal] | 7.48 | ##VOLUME## | GALLONS | 0.000000000000 | 7.480519053672 |
Common | Angle | 12.35° | 1.00° | ##ANGLE## | DECIMAL DEGREES | 0.000000000000 | 1.000000000000 |
Common | Angle | 12° 34' 57" | 1° 00' 00" | ##ANGLE## | DECIMAL DEGREES[4] | 0.000000000000 | 1.000000000000 |
Common | Angle | 1235 [rad] | 0 | ##ANGLE## | RADIANS | 0.000000000000 | 0.018049613348 |
Common | Angle | 1235 [grad] | 1 | ##ANGLE## | GRADS | 0.000000000000 | 1.149074074074 |
Common | Slope | [1:] 1235 | 57.29 | ##SLOPE## | RATIO1 | 0.000000000000 | 57.289961630759 |
Common | Slope | 1235 [:12] | 0.209 | ##SLOPE## | RATIO12 | 0.000000000000 | 0.209460779139 |
Common | Slope | 1235 [:10] | 0.175 | ##SLOPE## | RATIO10 | 0.000000000000 | 0.174550649282 |
Common | Slope | 17 3/8" / 12" | 27/128" / 12" | ##SLOPE## | RISE_INCHES | 0"" / 12"" | 54909/262144"" / 12"" |
Common | Slope | 1' - 5 1/2" / 1' - 0" | 0' 0 27/128" / 1' 0" | ##SLOPE## | RISE_FOOT | 0' - 0"" / 1' - 0"" | 0' - 0 54909/262144"" / 1' - 0"" |
Common | Slope | 1235 / 1000 | 17.5/1000 | ##SLOPE## | RISE_MMS | 0.000000000000 / 1000 | 17.455064928218 / 1000 |
Common | Slope | 12.35° | 1.00° | ##SLOPE## | SLOPE_DEGREES | 0.000000000000 | 1.000000000000 |
Common | Slope | 12 [%] | 1.7455 | ##SLOPE## | PERCENTAGE | 0.000000000000 | 1.745506492822 |
Common | Currency | 1234.57 | 1.00 | ##CURRENCY## | CURRENCY | 0.000000000000 | 1.000000000000 |
Common | Mass Density | 1234.57 lb/ft3 | 1.000000 lb/ft3 | ##MASS_DENSITY## | POUNDS_MASS_PER_CUBIC_FOOT | 0.000000000000 | 1.000000000000 |
Common | Mass Density | 1234.57 kg/m3 | 16.018463 kg/m3[3] | ##MASS_DENSITY## | KILOGRAMS_PER_CUBIC_METER | 0.000000000000 | 16.018463373960 |
Common | URL | ... | ##OTHER## | https://www.google.com | |||
Common | Material | ... | ##OTHER## | <By Category> | Glass | ||
Common | Image | ... | ##OTHER## | <None> | Family Parameters - Common.png | ||
Common | Yes/No | [ ] | ##OTHER## | 1 [checked] or 0 [unchecked] | |||
Common | Multiline Text | ... | ##OTHER## | "First Line Second Line" | |||
Common | <Family Type...> | [TODO] | |||||
Structural | Surface Area per Unit Length | 1234.57 ft2/ft | 0.000 ft2/ft | ##SURFACE_AREA## | SQUARE_FEET_PER_FOOT | ||
Structural | Surface Area per Unit Length | 1234.57 m2/m | ##SURFACE_AREA## | ||||
Restricting Parameter Values (pull-down list)
You need to use a nested family with intermediate/"middle-man" parameters set to each possible nested type - needed because Formulas can't evaluate the nested type directly, but CAN compare parameters (see Steve Stafford's 2013-11-16_Controlling User Choices in Families). See Combo box idea below. TODO: Test if it's possible to get length (or other parameter types) directly, see Dropdown dimension value in Revit? (select incremental value).
Constraints
Array
Select the line (not the number of array elements) to be able to Label it. See Wood Fence - Horizontal.rfa.
...
Nested Families
per Select Nested Families Individually [2021-01-29] TripleM-Dev.net [TODO: check]
"shared [families] (if not used) can be purged from the project and so the family won't have [access] to that one any more."
Nested Annotation Symbols
2020-03-05_Ryan Lenihan (revit.com.au): Nested Annotation Symbols 101 (mostly MEP?):
- use Visibility/Graphics Overrides (Detail Levels: Coarse, Medium, and/or Fine) instead of creating new checkboxes ["There is no need to get creative with visibility controls"]
- electrical and communication families have a "Maintain Annotation Orientation" checkbox in Family Parameters
- Movable Annotation Symbols (usually for power & data outlets, etc.)
- if REALLY necessary (and the geometry is symmetrical), use a Flip Control instead of manual visibility controls
- use "Keep text readable" checkbox in Family Parameters instead of up/down left/right parameters
Formulas
See also Valid Formula Syntax and Abbreviations [2022 Help] and Use Conditional Statements in Formulas [2022 Help]
NOTE: No "max()", "min()", etc. (need to construct with nested "if()"s, see Revit Formulas for "everyday" usage)
WARNING: Sometimes formulas don't appear to "stick" (especially Instance formulas) - after entering the formula in the "Family Types" dialog (where it appears ok), closing and reopening the dialog will show a blank formula. WORKAROUND: Try re-opening the family. Maybe needs to be the first time Family Types is opened for the file? Not sure under what conditions. [TODO: report] See Oval Mark - Inspection.rfa, etc. R2018?
Disabling a parameter with a formula
If you have a formula referencing a single other variable (such as B = A / 2), you will still be able to edit either variable (A or B). If you want to disable one of the variables (so that it's more obviously a calculated value), add an "if" to the formula:
= if(1 > 1, 0', <your formula here>)
which causes the parameter to be disabled (the dummy 0' value will change based on the units of the parameter - you can usually just put a 0 and Revit will add the appropriate unit automatically).[5] See also idea Mark a Parameter as Hidden or Disabled.
Structural Parameter Formulas
Names / Symbols | Formula for a Rectangle | Units | ||
---|---|---|---|---|
b | Width | in | ||
d | Depth / Height | h | in | |
A | Section Area | bh | SF | in2 |
Ix | Moment of Inertia strong axis | bh3/12 | in4 | |
Iy | Moment of Inertia weak axis | b3h/12 | in4 | |
Sx | Elastic Modulus strong axis | bh2/6 | in3 | |
Sy | Elastic Modulus weak axis | b2h/6 | in3 | |
Zx | Plastic Modulus strong axis | in3 | ||
Zy | Plastic Modulus weak axis | in3 | ||
J | Torsional Moment of Inertia | in4 |
Sx & Sy = E = Young's Modulus / Modulus of elasticity
See also Section Shapes#Table of Parameters
See also Section modulus formulas for a rectangular section and other shapes, Moment Of Inertia Formulas For Different Shapes, or All about Section Properties – Area | Centroid | Moment of Inertia | Section modulus | Radius of Gyration (probably not the best ones - don't remember where I was looking the last time). Modulus of Elasticity - Definition, Young's Modulus, Formula, Unit, FAQs, How to Calculate Ductility, and the list goes on...
Parameter Types
"Discipline" followed by "Type of parameter", shown in default "Group". [TODO: Electrical, Piping, & Energy] [TODO: hidden expandable section & sortable table w/ additional separate unit column]
Cuttable Families
Except for the issue with 3D CAD Links not being cuttable, this doesn't usually impact us, but see Revit Sticky Notes: 2D Symbolic Line & ‘Show only if Instance is cut’ and IDEA: Cuttable vs Non-cuttable Families - Page 2 - Autodesk Community [IMPLEMENTED in 2023]
Show family pre-cut in plan views
See Revit Help#Structural Engineering > Structural Engineering > Structural Framing > Specify Precut Display for a Family in a Plan View for why the cut plane in the family must be at 0 if this is enabled (mainly for columns).
Ideas
- Separate Plan from RCP - in the Family Element Visibility Settings dialog (so there can be different symbolic lines for Plan vs RCP), also add a "3D" checkbox, so 3D elements can be used in plan, etc. but NOT 3D.
- change Symbolic Lines to Symbolic Planes in families - might be duplicate of Choose to Show 2D or 3D symbol of a family that is on a slope
- Convert In-Place Families - has workaround steps to convert from an in-place family to a loadable family
- Concatenation Of Parameters Within Families and everywhere! (any formula; make a "concatenate" function)
- Mark a Parameter as Hidden or Disabled
- Allow text in formulas - for family? or schedules? (both?)
- Combo box for parameter attributes and the sub-idea (related only to nested families) Family Type parameter just those in the family - apparently Generic Annotation and Detail Items only show types in the family (such as Weld), but model families/categories? show all types in the project (such as pile caps showing all piles)
- Parameter Validation in Families
- Family Parameter to have Sublists at some point was combined w/ different ideas that were more like combo box or validation (above)
- I think too many ideas have been combined with this one... or the wrong post was chosen for primary - the OP isn't clear hand doesn't seem to be about hiding contextually-irrelevant parameters - just grouping them.
- previously separate: Hide Parameter based on Value of Other Parameter was "Radio Buttons for Parameter Selection"?
- Familie thumbnails in properties dorpdownmenu
- New grips for families: angle, drag, etc - TIP: Reference Line grips/handles are visible in 3D (but not Reference Plane grips)
- Select / Autocomplete Parameters in Formula (just a convenience thing)
- Dynamic Field - not sure how this is different from a Label...
- Tag Family Instance Parameters (instance parameters driving label visibility or content)
- "Date" parameter type and duplicate (to be merged): I wish dates were real dates and not free form text
- changing instance parameter name shouldn't overwrite values in project - WORKAROUND (posted): use shared parameter
- Access Label attributes via formulas (Font, Size, etc.) [ARCHIVED]
- Use the same Weight Per Foot parameter across all OTB structural steel families. ("W" in old steel, "Wt" in joists, "Nominal Weight" in new steel)
- Parameters in Type Names - a limited-scope version of Make substitution variables available everywhere where text can be entered
- Family Type parameter just those in the family - be able to limit choices for the pull-down to nested families; WORKAROUND: use unused Family Categories (such as sprinklers or data components), but only good for a few families... [TODO: How does Weld family work (though all are visible)? Is it already limited for Annotation?]
- IDEA:Allow a single instance of a model array by KM_Springfield - (or 0 instances) mainly for the Family Editor
- multi-line text parameter formatting options
- Make the annotation family nested in the parent family visible on the facade [make nested annotation visible in non-plan views]
Notes
- ↑ 2023-07-24: didn't test setting the value to blank in the Type Catalog yet [TODO] - just exported default settings
- ↑ How is "Meters and centimeters" different from "Meters" - besides no "Unit symbol" & "Suppress trailing 0's" options? Why is it even there if it's just a subset of functionality?
- ↑ 3.0 3.1 2023-07-24 LJC (R2019): doesn't conform to Project Units setting (for decimal round off)
- ↑ 2023-07-24 LJC (R2019): tried entering a value that used minutes & seconds, but still just exports decimal degrees
- ↑ originally started using
=if(1 = 1, <your formula here>, 0')
but it's better to put all the "extra" stuff together to make it more clear / easier to read