Geoff's post inspired me to finally try to make a label to get around the fact that level dimensions can't read the bottom of a slab, which causes great swearing at reflected ceiling plans. I used Geoff's top of wall label as a starting point.
Well I had limited success. My success was largely limited by ArchiCAD, so it became another adventure of working around workarounds. In the end, I don't know if I accomplished anything but mapping AC's (especially labels') limitations.
* It works in plan (checkerboard-circle style) and section (folded-corner arrow style).
* It can read the top or bottom of the slab. The top feature would be only for section, since the level dim is fine for plan. Since I am a control freak, I might delete the top option in plan, to force my users to use the level dim.
* I left in the parameters for project zero/story zero, trailing and leading text, and custom offset.
* It has editing hotspots to control the position of the text in plan, but there's something wrong with the way editing spots are handled in labels; the X and Y editors wouldn't work if they coincided. That's why they look stupid. See Non-features below. I do have the (plan) text repositioning itself depending on which quadrant it's in.
* Apparently, we can't have coincident X and Y editing spots in labels.
* I tried to make a hotspot switch for section to change from top to bottom mode, but it only worked erratically. I think the trouble is with GLOB_CONTEXT, but I couldn't hack it. Considering the broken spots in plan, there seems to be a larger issue with editing spots and labels.
* I tried to adjust the Y position of the label to move it to the top when set to 'Top' in section. It worked, but for some reason it broke the project zero/story zero setting (it would only read story zero). I don't think I know enough about controlling a label's position in general. Insights are welcome.
Limitations of AC that make the whole project questionable:
* You can't show a label when the labeled element is hidden. I admit it took me a while to discover this, and it usually isn't a problem, but it's just wrong. Showing of elements should be controlled by layers, period. This problem leads to...
* In my RCP, I can only label slabs that fully coincide with walls, or those that happen to have their outlines in the right place, which is precious few. As a practical matter, I can't show/label attic ceilings, because I would have to measure each ceiling in section and adjust it manually, since we don't have real trimming of slabs to roofs. And even if we did, I bet you couldn't show the bottom plane.
* I can't label floor slabs above, because I don't want to see them AND you can't label elements on remote stories. Also, as the globals stand, you can't get the elevation of the story below the home story, so you couldn't label an upper slab relative to Story Zero and get the expected result. This issue can be observed in section.
* The label-hiding thing means I need a new 3D ceiling slab layer to show in RCP, while hiding the non-compliant slabs and continuing to label those heights manually. Since managing layers is like cleaning the bathroom, it becomes another strike against the label solution.
* Show a label while the labeled element's layer is hidden.
Very nearly a show stopper for my little project, and contrary to the logic of the program.
* Level Dim should read the bottom of an element.
If level dims worked right, I wouldn't need the label object. This can be said of a lot of objects. #cough#Curved Roofs#cough#
* Real trimming of slabs, and display of the bottom plane in plan.
* Label elements on remote stories.
* Fix editing hotspots in labels.
* RCP mode
. I try not to miss an opportunity to bring this up.
* (Big Picture) Dear Friendly AC Developers, I'm willing to solve my own problems, as long as it isn't impossible
. We need to dimension ceiling heights. Please either fix it or make it possible for us to fix it.
It's interesting how abilities/disabilities in different areas of the program interact to make techniques possible, easy, worth it, or not. "Worth it" becomes more complex as you picture yourself training anyone else to use a quirky technique.
Sorry for the long post, and for attempting to corner the label-wish market.
Sadly crippled, maybe somewhat useful, label object attached.