The Global ARCHICAD Community

Stay informed. Get help. Share your knowledge.

Everything about GDL - Doors/Windows/Objects/Stairs etc. (Example: I created an object that prints an error message in 3D all the time, please help!)

Moderators: Karl Ottenstein, LaszloNagy, ejrolon, Barry Kelly, gkmethy, Gergely Feher

User avatar
By Geoff Briggs
#38435
Peter, I think I figured this out. You cannot click and drag out the label like you would a text label. You need to either:
1. Associate the label with the wall tool from within the label tool, then check the Label Elements / Label Wall check-box in the info box or settings dialog box. This can be done before or after the wall is drawn.
or
2. Draw the wall(s) then apply the label(s) with a single click of the label tool. The key here is making sure the Label Type switch in the info box is set to Associative rather than Independent.

Your pain is both our gain since I knew about method 1 but discovered method 2 just now. HTH.
Attachments
Label type switch.png
Label type switch.png (3.75 KiB) Viewed 11796 times
By Peter Devlin
#38441
Geoff,
Thanks for posting back.
I did what you said and it works !!!
Interestingly, if I select the wall tool in the tool settings dialogue
it instantly reverts to independent label but if i select wall tool
in the info box it holds and the name of the custom label becomes
grayed out but the custom label is still placed.

Thank you for the help and the library part.
Peter Devlin
User avatar
By James Murray
#38507
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.

Features:

* 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.

Non-features:

* 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.

Wishes:

* 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.
By Peter Devlin
#39205
James,
I downloaded your label and tried it.
Nice work !! Interesting code too !

It does have the problems you have stated.
To get around some of them, it occurred to me to try
using a slab accessory object as the labeling device.
I played around with the idea and came up with something
that seems to have some interesting properties.
You can assign the object to a visible layer.
It knows about any changes to the slab it is linked to.
It can be made to show only on the story below the story
the slab it's linked to is on (or any story for that mater).
To insert a slab accessory object is almost as fast as
labeling an element.
I thought you might be interested in this object and
also might want to hack it to make it do more things.
It is written for the AC 8.1 slab accessory add-on
and therefor may have to be rewritten for AC 9.

I would have written you privately but I can't make
the find member in the memberlist work.

I hope to hear from you.
Thank you,
Peter Devlin
By LiHigh
#67500
I've just modified the Object Label 10 to make it universal. For the time being, it only allow for Object, wall & Slab. And, more need to be done on the pointer.
User avatar
By Mike Hann
#67569
LiHigh wrote:I've just modified the Object Label 10 to make it universal. For the time being, it only allow for Object, wall & Slab. And, more need to be done on the pointer.


What does it mean to make it universal? How are you able to use this differently than the standard label tools? Thanks....
By Peter Devlin
#67574
LiHigh,
I downloaded your label and looked at the code.
Very interesting. I am not through studying it but
I am curious about something.
If using the label to label a slab, the user has
the option to display the elevation of the top
of the slab but the code takes the slab elevation
and adds the height of the the current wall tool
wall height setting (WALL_HEIGHT).
Why did you do this ?
Thank you,
Peter Devlin
By LiHigh
#67596
Mike Hann wrote:What does it mean to make it universal? How are you able to use this differently than the standard label tools? Thanks....

GS Labels are element specific except Idependent Label. Personally, I don't like to deal with so many Label Objects. Thus, come up with idea of making just one Label which can be used in any element type.