Family Creation – Sunshading System

I was recently asked to develop a sample family for a manufacturer’s sunshading system.


  • Adjustable Height/Length/Number of Blades
  • Maximum Span
  • Blade Rotation (within a given range)
  • Optional Electronic Mechanical Operation
  • Standoff Distance & Bracket Size/Position control
  • Material Options, include perforations
  • Ability to host vertically, horizontally or on an angle

Sunshading System Family

As we are talking parametric arrays, naturally we are best to use nested families.  Also, I wanted to be able to rotate the blades, so what family has a built-in rotation parameter?  A profile…  As such, the first step was to create profiles for all the Blade parts.  This included the main body, the edges (this was separated as I wanted to make it perforated and didn’t want the edges to be perforated), the main support bar, the brackets and the swing arm.  By doing it this way I could avoid any complicated constraints on the profiles.

Next step, was to compile all these profiles together to create a family for the “individual blades”.  This is where I linked up the Sweep->Profile->Angle parameter.  Setup a length parameter and constrained the sweep to the appropriate Reference Planes.  I made sure that the points where I wanted to constrain the blade in the host family, were all “named references” for maximum reliability.

Finally, I had to host these into a Face Based Family where I setup the array, constrained the 2 defining elements in the array (in this case 1st & 2nd) in all 3 Axis and linked through the material and angle parameters from the nested family.  The tricky part was then adding in the formulas to control the position of the control arm, so it moved with the rotation of the blades.  This was just a bit of trig…  I then passed all this through a series of validation parameters to ensure what the user inputs is validated within the minimum/maximum values as we don’t want the control arm conflicting with the structure.  The hydraulic mechanism (not shown), for electronic operation I setup with a visibility parameter to display and constrained it to the same references as the control arm, but with its own pivot.

Overall this family was relatively simple to create, and I was able to “throw it together” in under an hour.  Final family size, a respectable 550KB in Revit 2014.

This entry was posted in Family Creation and tagged , , , . Bookmark the permalink.

8 Responses to Family Creation – Sunshading System

  1. pramod says:

    how to control arm parameter?

    • Chris says:

      The Control Arm has 3 length parameters. Top Offset, Bottom Offset and Centre Front/Back Offset. These are then calculated using basic trigonometry.

      Sin θ = Opposite / Hypotenuse
      Cos θ = Adjacent / Hypotenuse

  2. Lloyd says: