New parametrization of labels for ARCHICAD22

Compatibility: introduced in ARCHICAD 22.

From ARCHICAD 22 new parameter control method has been introduced to Label tool.
Creating labels has got more convenient then before: all the necessary parameters are part of the “Label” subtype, and will be added as fixed named optional parameters by default when creating a label object.

From now on, a symbol label can reach out to the “Text Style”, “Pointer” and “Symbol Label” panels (and infobox) as well, locking and hiding selected controls there: the ones having a corresponding fix named optional parameter in the object.

The existing global variables for labels have not changed, they are still working, but been labelled deprecated. This means we strongly suggest to use the new parameters instead.

What can you do with a fixed named optional parameter in your custom Symbol Label ?

  • The fix named optional parameters are similar identifiers as other GDL parameters, listed in the parameter list of a library part.
  • Their special abilities: they are set/read by Archicad and they can be masked on the built-in interface. The extended lock/hide feature can be activated with “Enable hide/lock of specific fix named optional parameters” setting (see “Details/Compatibility Options” dialog of the object in the Library Part Editor).
  • With the LOCK command you can lock the fix named parameter(s) in the settings dialog box panels, infobox and on the GDL custom user interface.
  • With the HIDEPARAMETER command you can hide the named parameter(s) in the settings dialog box panels, infobox, but NOT on the user interface for now (this is a known issue).
  • With the HIDEPARAMETER all command you can hide all of the parameters in the settings dialog box panels, infobox, while hiding the old GDL parameter list as well completely. (List exception parameters after the HIDEPARAMETER all command to only make them visible). In case all parameters are hidden on a “Text Style” panel, ARCHICAD locks access to the panel completely.

Parameters on Text Style Panel

    Parameters for defining style
    Description Fixed named AC parameter (NEW) Deprecated global variable
    Pen of Text AC_TextPen_1 [PenColor] LABEL_TEXT_PEN
    Font Type AC_TextFont_1 [String] LABEL_FONT_NAME
    Font Size AC_TextSize_1 [Realnum] LABEL_TEXT_SIZE
    Font Style AC_TextStyle_1 [Integer] LABEL_FONT_STYLE2, LABEL_FONT_STYLE
    Parameters for paragraphs and textblocks
    Description Fixed named AC parameter (NEW) Deprecated global variable
    Types of text alignment AC_TextAlignment_1 [Integer] LABEL_TEXT_ALIGN
    Line spacing factor AC_TextLeading_1 [Realnum] LABEL_TEXT_LEADING
    Character width factor AC_TextCharWidthFactor_1 [Realnum] LABEL_TEXT_WIDTH_FACT
    Character space factor AC_TextCharSpaceFactor_1 [Realnum] LABEL_TEXT_CHARSPACE_FACT
    Readibility checkbox AC_bLabelAlwaysReadable [Boolean] LABEL_ALWAYS_READABLE
    Text wrapping checkbox AC_bLabelTextWrap [Boolean] LABEL_TEXT_WRAP
    Parameters for frame and fill
    Description Fixed named AC parameter (NEW) Deprecated global variable
    Frame checkbox AC_bLabelFrame [Boolean] LABEL_FRAME_ON
    Frame offset AC_LabelFrameOffset [Length] LABEL_FRAME_OFFSET
    Opaque fill checkbox AC_bLabelOpaqueFill [Boolean] LABEL_TEXT_BG_PEN (0 or 0<)
    Opaque fill background pen AC_LabelTextBgrPen [PenColor] LABEL_TEXT_BG_PEN

The double functionality of LABEL_TEXT_BG_PEN has been separated to a boolean parameter for enabling/disabling the background fill, and to a separate pen parameter to control the color of the background fill.
The background fill type doesn’t have to be a GDL parameter from now on: the new generic globals, GLOB_FILL_INDEX_BACKGROUND and GLOB_FILL_INDEX_SOLID always contain the index of the “Background” and “Solid” fill types (according to the current attribute set of the template), so feel free to use them instead of a GDL parameter with a template dependent value.

Pointer Interface panel

    Parameters for pointer
    Description Fixed named AC parameter (NEW) Deprecated global variable
    Pointer line pen AC_LabelPointerPen [PenColor] LABEL_ARROW_PEN
    Pointer line type AC_LabelPointerLineType [LineType] LABEL_ARROW_LINETYPE
    Pointer line connection type AC_LabelPointerConnection [Integer] LABEL_ANCHOR_POS

    Some changes since previous version

    LABEL_HAS_POINTER – a new global, if the “Add/Remove Pointer” button is checked, ARCHICAD handles the pointer line and arrow automatically, and sets the value of this global to 1. The deprecated pair of this new global is LABEL_CUSTOM_ARROW, which worked the opposite way (being set to 0 when the automatic pointer was ON).

Symbol Label Interface panel

    Parameters for orientation
    Description Fixed named AC parameter (NEW) Deprecated global variable
    Label orientation type AC_LabelOrientation [Integer]
    Label orientation value mask AC_DisableLabelOrientationVal [Integer]

The goal was to make symbol labels as similar to the Text/Autotext Label as possible. One of the first steps included the built-in option for nominated orientation types: Parallel/Perpendicular/Horizontal/Vertical and Custom. The LABEL_ROTANGLE global variable is kept up-to-date by ARCHICAD according to the chosen orientation type.