2026-02-08 08:52 PM
Hello. I have a custom label that I typically use with the pointer turned off, but occasionally I want it on. When the pointer is enabled it anchors automatically to the edge of the label's bounding box as expected. But I have a separator line that is not always centered. I want to fix the starting point to the end of that line.
In the screenshot the bottom example (MAIN LEVEL) shows the label without a pointer. The middle example (UPPER LEVEL) shows the pointer when the separator line is centered. The top example (UPPER LEVEL w/ Custom Text) shows how the pointer stays centered when the separator is offset. That is the situation I want to correct.
I believe this is possible but so far I have not figured out how. Any help is appreciated, thanks.
Solved! Go to Solution.
2026-02-10 02:15 AM
That is exactly what I did. I coded two hotlines at equal distances above and below my separator line, triggered when the third line of text is active.
I will note that if your label offers the opaque text frame, as mine does, you need to account for the offset parameter or it will throw off the center point again.
I was hoping there is a more direct way to handle this, but all in all not too difficult. Thanks everyone.
2026-02-09 01:51 AM
The leader line can only anchor to the top, centre or bottom of the label box.
I am not sure that there is anything you can do in GDL to change that.
One thing I can think of though is that it is the extra line of custom text that is that is moving the position of the line in the label.
Maybe when you add the custom text line, you also allow for the contents to me moved down by the same line height so everything is still centred.
Effectively adding a blank line of text to the top of the label as well.
Barry.
2026-02-09 02:40 AM
If you use Textblock, you could set a matching Fixed_Height to both your upper and lower text determined by your maximum number of lines between the two. If you have variable text sizes, then you would just need to calculate that too.
Ling.
| AC22-29 AUS 3200 | Help Those Help You - Add a Signature |
| Self-taught, bend it till it breaks | Creating a Thread |
| Win11 | i9 10850K | 64GB | RX6600 | Win11 | R5 2600 | 16GB | GTX1660 |
2026-02-09 08:49 AM
Thanks for your suggestions. I will look into both.
As for a GDL solution, the procedure at this bottom of this page seems to indicate that you can designate the starting point for a the pointer, but I have not been able to get it work.
https://gdl.graphisoft.com/reference-guide/parameters-for-labels/
2026-02-09 09:04 AM
I think that still only allows you to set top, centre, bottom and bottom with underscore.
Your label is off-centre because of the extra line of custom text, that is why it doesn't line up.
I think you need to allow for an 'empty' custom line of text above as well when you have the custom text below, so it re-centres your marker.
Barry.
2026-02-09 07:21 PM
If you choose not to use the frame created by the label and create your own frame instead, you can place a ghost point or ghost line outside the frame, calculated so that the label pointer then hits your off-center line exactly.
RECT2 0, 0, 4, 2
LINE2 0, 0.8, 4, 0.8
!HOTSPOT2 0, - 0.4
HOTLINE2 0, -0.4, 4, -0.42026-02-10 02:15 AM
That is exactly what I did. I coded two hotlines at equal distances above and below my separator line, triggered when the third line of text is active.
I will note that if your label offers the opaque text frame, as mine does, you need to account for the offset parameter or it will throw off the center point again.
I was hoping there is a more direct way to handle this, but all in all not too difficult. Thanks everyone.
2026-02-10 02:29 AM
Using a Hotline introduces faux snapping points...
| AC22-29 AUS 3200 | Help Those Help You - Add a Signature |
| Self-taught, bend it till it breaks | Creating a Thread |
| Win11 | i9 10850K | 64GB | RX6600 | Win11 | R5 2600 | 16GB | GTX1660 |
2026-02-10 05:45 PM
It does introduce snapping points but they're not really faux. Not that different than turning on the bounding box hotspots.