Disclaimer - I'm on the contracting side (concrete contractor), so my solution may not be best for you.
I created a column family (rectangular concrete column in this case). I wanted a customized and automatic schedule
so I had to do a little parameter work, but it works very well.
1. Make your family and categorize it as a "Structural Column" this will allow some of the attributes to carry over (like
the gridline location parameter).
2. Within the family I define the parameters - Width, Length, T/Col and B/Col.
3. When I make the extrusion, you can link the Extrusion Start and Extrustion End Elevations to the parameters T/Col
and B/Col. You have to edit the extrusion to get the link parameter button to show up.
4. Make Shared Parameters for Column Width, Length and Height. Let's say you call them Col Height, Col Width, Col Length
5. Set the family parameter "Length" equal to the Shared Parameter "Col Length". This links the shared parameter to the
family parameter and so it will show up in the col. schedule. Do the same for Width.
6. Have the "Col Height" shared parameter equal "T/Col - B/Col"
7. Assuming you dimensioned the parameters correctly, when you load the family into the project, you have a column with
editable length/width/Top/Bottom all from the properties box AND they show up in the schedule without having to add
calculated values. The T/Col & B/Col elevations are RELATIVE TO THE LEVEL indicated in the column's properties. Otherwise
you'll be all over the place.
Oh yeah, make sure all parameters are Instance, obvi.
Hope that Helps! It's made my life way easier.