I'm new to the Revit game, but I'm trying to create a family while streches from one face to another of a structural element. More specifically, what I want to create is a family of prestressing cables for prestressed concrete beams. On this path, I've run into a few questions:

Question 1:
From what I've understood, I need to create a face-based void sweep to create the hole in the concrete beam and within this void create another solid sweep which would be the cable proper (that's another question, actually: is there a need for the void or is there a way to simply have the cable inside the concrete without "interference"?).

However, I can't seem to find a way to make this face-based sweep go automatically to the opposite face. Is this possible, or will I have to create a Length parameter for the cable which will have to be equal to the length of the beam? That would be understandable, given the generality of the Face-based family and how (in other structural elements) there may be more than one "opposite face". In that case, is there another, more adequate family to base myself on? A "beam-based" family, for example? If such a thing doesn't exist, can it be created?

Question 2:
As well, the cables evidently cannot exist outside of the beam itself, so I would like to create a conditional parameter for the height of the cable (relative to the faces of the beam) something along the lines of (pseudo-code):

IF(UserValue < MinCover ; MinCover ; UserValue).

Would I have to create for each height a UserHeight and a CalculatedHeight (which gets UserHeight and compares it to MinCover), the latter being the one actually used? Or is there a way for the "(default)" value defined and used in non-formula situations to be a value for it's own formula?

Question 3:
And as a last question which I'm certain cannot be done but asking anyways: is there a way to define a "dynamic" cable with an arbitrary number of parts? As in, can I create a cable with X segments, therefore defined by X heights? Or would that require creating a C# external command to create a Model-in-Place of the cable?


And here's an exemplification of two prestressed beams for whoever may be curious.
1-s2.0-S0141029604001890-gr4.gif