After much experimentation, I have come to the conclusion that Revit will not let us create smooth forms by nesting families for the lines that define the form. All of the points defining the surface must be in the same family in which the surface has been created. This is annoying, because the notion of nesting chords to make a phrase seemed natural. My new solution is to make a family that represents the entire phrase. The phrase contains 7 chords representing the chord to play at each half measure. Each chord has 4 notes. So each phrase has 28 point that must be put in. This is exceedingly tedious, so I created a "lookup table" the defines chords as semitones. Each chord has an index number for finding it in the table (the "lookup" number.)
This has the nice effect in that I can play with the chord definitions in an Excel file and reload it into Revit to define the curves that represent each chord.
Musical phrase.rfa contains the points and lines for your panel. Each team has a panel that has been saved as a type. Thus Team 1 selects the Phrase 1 settings. To make your panel, you must open this file and save it with a new name, such as Phrase 1.rfa. Then, open the Types dialog and select the type that corresponds to your phrase. Delete all of the other types. Then, select the lines and Create Form to make your surface. Save the file and use it as the backdrop for your curtain panel design.
You can insert the panel into the project file for the rolling wall to have a complete set of drawings.
Music.docx contains music written as chords and half bars. Hey Jude is in now. I will add others.
Musical scale specifies the semitone to use for a note.
Music index.csv is the table of values that is loaded into Revit as a lookup table. It defines chords with an index for each chord and a list of 4 semitones.