Flexible 3-Point Arc in Revit Family

Occasionally, you need to create an arc in a Revit family and you know 3 points of the arc, but not necessarily the radius, and you need it to be flexible.  It is common for windows with a radius top to have this situation.  You know the chord length (width of the window) and the distance from the top of the straight sides to the top of the window arc, but not the radius of the arc.  Revit requires you to specify the radius and center point of the arc to allow it to be flexible, so it is important to determine that information.

3pt Arc-Finish1

This article will step you through creating an arc that flexes, which can then be used for window tops or anything else that uses arcs.

Create 3 Parameters

  • In the Design tab, select the Family Types button on the Properties panel.
  • Pick the Add… button on the right side of the Family Types dialog box.
  • In the Parameter Properties dialog box, create a Family Parameter with the following properties, then pick the OK button:
    • Name = Arc Chord Length
    • Discipline = Common
    • Type of Parameter = Length
    • Group Parameter Under = Dimensions
    • Instance-based
  • Pick the Add… button on the right side of the Family Types dialog box.
  • In the Parameter Properties dialog box, create a Family Parameter with the following properties, then pick the OK button:
    • Name = Arc Height
    • Discipline = Common
    • Type of Parameter = Length
    • Group Parameter Under = Dimensions
    • Instance-based
  • Pick the Add… button on the right side of the Family Types dialog box.
  • In the Parameter Properties dialog box, create a Family Parameter with the following properties, then pick the OK button:
    • Name = Arc Radius
    • Discipline = Common
    • Type of Parameter = Length
    • Group Parameter Under = Dimensions
    • Instance-based
  • Provide a value for both the Arc Chord Length and the Arc Height before the formula is placed in the next step or you will get a “Division by Zero” error when entering the formula.  The Arc Height value must be less than 1/2 the Arc Chord Length value.
  • In the Formula portion of the Arc Radius parameter, enter the following formula:
    • sqrt((Arc Chord Length / 2) ^ 2 + ((((Arc Chord Length / 2) ^ 2 – Arc Height ^ 2) / (2 * Arc Height)) ^ 2))
  • Pick the OK button to exit the Family Types dialog box.

3pt Arc-Parameters

Create Reference Planes

  • For purposes of this illustration, draw 3 vertical reference planes and 2 horizontal reference planes if they do not already exist.
  • The direction of these reference planes are really dictated by your specific needs and the direction of the arc.  Since this illustration creates an arc window, everything is oriented for this purpose.
  • Make sure that you name each Reference Plane, as that is an important thing to do regardless of the type of family you are creating.  This enables everyone to know the purpose for the reference plane and to make it easy to select it when setting work planes.

3pt Arc-Reference Planes

Place Dimensions

  • Place an Aligned dimension between the two horizontal reference planes.
    • After placing the dimension, highlight the dimension.
    • Go to the Options Bar above the graphics window and select the drop-down arrow next to the Label: option.
    • Select the Arc Height parameter from the list.

    3pt Arc-Arc Height

    • The reference plane may move to accommodate the distance value already specified in the properties for the Arc Height parameter.
  • Place a continuous Aligned dimension between the left vertical reference plane, the center vertical reference plane, and the right vertical reference plane.
    • Pick the EQ symbol at the center reference plane to force the 3 reference planes to always be equal distance apart.
    • The two dimension texts just placed during this function should now say “EQ“.
  • Place an Aligned dimension between the left and right vertical reference planes.
    • After placing the dimension, highlight the dimension.
    • Go to the Options Bar above the graphics window and select the drop-down arrow next to the Label: option.
    • Select the Arc Chord Length parameter from the list.
    • The reference planes may move to accommodate the distance already specified in the properties for the Arc Chord Length parameter.

Create the Arc

  • Various methods may be used to enter the Arc command, depending on the requirements.
    • Model Lines may be used if you desire just line work and want it to be visible multiple views.
      • From the Create tab, go to the Model panel and select the Model Line command.
    • Symbolic Lines may be used if you desire just line work for the 2D view in which the arc is drawn.
      • From the Annotate tab, go to the Detail panel and select the Symbolic Line command.
    • Actual 3D Extrusions can be created that are actual components of the family.
      • From the Create tab, go to the Forms panel and select the Extrusion command.
      • When using this option, you will be placed in the Create Extrusion function and will need to create a fully enclosed outline, so more lines will need to be created than just the arc that we are discussing.
  • Once in the command, go to the Draw panel and select one of the Arc commands and draw the arc.
    • It is not important which arc point placement method is used since once the arc is placed, the method becomes irrelevant.
    • Ensure that the two arc endpoints are at the intersections of the reference planes.
  • Align and lock the two endpoints of the arc to the reference planes.
    • Use the Align command (on the Modify panel of the Modify tab) and select the left vertical reference plane, then select the left endpoint of the arc.  (A dot appears at the endpoint signifying that the endpoint is selected.)  Pick the Lock button that appears.
    • Use the Align command and select the lower horizontal reference plane, then select the left endpoint of the arc.  Pick the Lock button that appears
    • Use the Align command and select the right vertical reference plane, then select the right endpoint of the arc.  Pick the Lock button that appears.
    • Use the Align command and select the lower horizontal reference plane, then select the right endpoint of the arc.  Pick the Lock button that appears.
  • Assign the radius dimension to the arc.
    • Highlight the arc and select the little dimension symbol adjacent to the radius dimension that appears.  This will make a permanent Radius dimension.

    3pt Arc-Radius Dim

    • Highlight the new Radius dimension.
    • Go to the Options Bar above the graphics window and select the drop-down arrow next to the Label: option.
    • Select the Arc Radius parameter from the list.

The arc will now change shape depending on the Arc Chord Length and Arc Height parameter values and will change accordingly as changes are made in the future to those parameter values.

Notes:

  • This functionality ONLY WORKS for arcs where the Arch Height is LESS than half the Arc Chord Length.
    • If desired, additional error checking parameters and formulas can be put in place to keep the Arc Height less than half the Arc Chord Length.  This article does not address creating the error checking parameters.
  • It is not required to have the Arc Height dimension placed or to have the upper reference plane that is shown.
    • The Arc Height parameter is required in order to calculate the Arc Radius parameter, but is not required to be placed.
    • The upper reference plane shown is not actually used by the arc to flex.  It is there for visualization purposes and for possible control of other items.  You can also use this reference plane to align to other reference planes or items, so it can serve other purposes.  It just is not required for the arc to work.

The following two images show the two methods that both work:

3pt Arc-Finish1

3pt Arc-Finish

Advertisements

3 thoughts on “Flexible 3-Point Arc in Revit Family

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s