Subject: Understanding the format of a .cui file

A .cui file can contain settings for the following areas of the CADdirect main win­dow:

   Ribbon

   Workspaces

   Menus

   Toolbars

   Keyboard accelerators

   Command aliases

CUI file format

Item

Values
(Default Value)

Required?

Description

FileVersion

MajorVersion

4 byte integer

Yes

Major version of the .cui file. For details, see Understanding versioning of a .cui file.

MinorVersion

4 byte integer

Yes

Minor version of the .cui file. For details, see Understanding versioning of a .cui file.

IncrementalVersion

4 byte integer

Yes

Incremental version of the .cui file. For details, see Understanding versioning of a .cui file.

UserVersion

4 byte integer

Yes

User version of the .cui file. For details, see Understanding versioning of a .cui file.

AppButton

UID

Text

Yes

ID of an AppButton. Unique among all UIDs.

LargeImage

Text("0")

No

Image resource ID of AppButton’s icon or path to local image file.

LargeImageHighContrast

Text("0")

No

Image resource ID of AppButton’s high contrast icon or path to local file.

Name

Text("")

No

Name or tooltip of an AppButton.

AppButtonItem

UID

Text

Yes

ID of an AppButtonItem. Unique among all UIDs.

MenuMacroID

Text

Yes/No

ID of referenced MenuMacro. Not required in case of separator button. Required in all other cases.

IsSeparator

true/false(false)

No

Determines whether an item is a separator line or regular command button.

AppButtonPopItem

 

 

Sub-menu that contains a set of AppButtonItem items.

UID

Text

Yes

ID of an AppButtonPopItem. Unique among all UIDs.

LargeImage

Text("0")   

No

Image resource ID of AppButtonPopItem's icon or path to local image file.

LargeImageHighContrast

Text("0")   

No

Image resource ID of AppButtonPopItem 's high contrast icon or path to local image file.

Name

Text("")   

No

Name or tooltip of an AppButtonPopItem.

QuickAccessToolbar

 

 

The Quick Access Toolbar.

UID

Text

Yes

ID of a Quick Access toolbar. Unique among all UIDs.

QuickAccessToolbarStandardItem

 

 

Regular command button.

UID

Text

Yes

ID of a QuickAccessToolbarStandardItem. Unique among all UIDs.

MenuMacroID

Text

Yes

ID of referenced MenuMacro.

Workspace

 

 

Consists of the following sections: WSPopRoot, WSToolbarRoot, and WSRibbonRoot.

DefaultWorkspace

true/false (false)

No

Whether a workspace is selected by default.

Name

Text

Yes

Name of workspace.

WSPop

 

 

In-workspace declaration of a pop-menu.

Display

0/1 (0)

No

Whether to display (1) or not to display (0) pop-menu in the MenuBar.

pUID

Text

Yes

UID of a referenced pop-menu. Unique among all UIDs.

WSToolbar

 

 

In-workspace declaration of a toolbar.

Display

0/1 (0)

No

Whether to display (1) or not to display (0) a toolbar.

pUID

Text

Yes

UID of a referenced toolbar. Unique among all UIDs.

ToolbarOrient

top/left/bottom/right (float)

No

Toolbar orientation.

rows

4 byte integer (1)

No

Number of button rows for a toolbar.

xval

4 byte integer (0)

No

X-coordinate of a toolbar (relative in case of docked toolbar).

yval

4 byte integer (0)

No

Y-coordinate of a toolbar (relative in case of docked toolbar).

WSRibbonTabSourceReference

In-workspace declaration of a ribbon tab. Consists of a set of WSRibbonPanelSourceReference items.

Show

true/false (false)

No

Whether to show or not to show a ribbon tab.

TabId

Text

Yes

UID of a referenced ribbon tab.

WSRibbonPanelSourceReference

 

 

In-workspace declaration of a ribbon panel.

Show

true/false (false)

No

Whether to show or not to show a ribbon panel.

PanelId

Text

Yes

UID of a referenced ribbon panel.

RibbonPanelSource

 

 

Ribbon panel definition. Consists of a set of RibbonRow items.

UID

Text

Yes

ID of a RibbonPanelSource. Unique among all UIDs.

Name

Text

Yes

Name of a RibbonPanelSource.

RibbonSplitButton

 

 

Ribbon button with sub-items. Consists of RibbonCommandButton items.

UID

Text

Yes

ID of a RibbonSplitButton. Unique among all UIDs.

ButtonStyle

LargeWithText/ SmallWithoutText/ SmallWithText (SmallWithoutText)

No

Style of a button.

RibbonCommandButton

 

 

Regular command button.

UID

Text

Yes

ID of a RibbonCommandButton. Unique among all UIDs.

MenuMacroID

Text

Yes

ID of referenced MenuMacro.

ButtonStyle

LargeWithText/ SmallWithoutText/ SmallWithText (SmallWithoutText)

No

Style of a button.

RibbonSeparator

 

 

Ribbon Separator element.

UID

Text

Yes

ID of a RibbonSeparator. Unique among all UIDs.

SeparatorStyle

Line/Spacer (Spacer)

No

Separator style can be either a line or a spacer.

RibbonControl

 

 

Ribbon control. Can be of one of these predefined types: color, linetype, lineweight, layer, print style, text style, or dimension style.

UID

rbnctrl-layer/
rbnctrl-color/
rbnctrl-linetype/rbnctrl-lineweight/rbnctrl-printstyle/rbnctrl-textstyle/rbnctrl-dimstyle

Yes

Unique among all UIDs. Any other UID is not allowed.

RibbonTabSource

 

 

Ribbon tab definition. Consists of a set of RibbonPanelSourceReference items.

UID

Text

Yes

ID of a RibbonTabSource. Unique among all UIDs.

Name

Text

Yes

Name of a RibbonTabSource.

MenuAccelerator

UID

Text

Yes

ID of a MenuAccelerator. Unique among all UIDs.

MenuAccelerator.Accelerator

KeyCombo.AccelChar

Text ("")

Yes

Virtual key code. Use letters, digits ("A", "B", "C", ... , "1", "2", "3", ... , "0"), functional key codes ("F1", "F2", "F3", ..., "F16"), Num-pad key codes ("NUM1", "NUM2", "NUM3", ..., "NUM0", "NUM*", "NUM+", "NUM-", "NUMDEL", "NUM/"), some other key codes ("BACKSPACE", "PAUSE", "PAGEUP", "PAGEDOWN", "LEFTARROW", "UPARROW", "RIGHTARROW", "DOWNARROW", "INS", "DEL", "END", "HOME")

KeyCombo.accKeys

Text ("")

Yes if previous is letter or digit

Accelerator modifier. Following combinations are allowed: "CTRL", "ALT", "SHIFT", "CTRL+ALT", "ALT+CTRL", "SHIFT+CTRL", "CTRL+SHIFT", "ALT+SHIFT", "SHIFT+ALT", "CTRL+ALT+SHIFT", "CTRL+SHIFT+ALT", "ALT+SHIFT+CTRL", "ALT+CTRL+SHIFT", "SHIFT+CTRL+ALT", "SHIFT+ALT+CTRL"

MenuItem.MacroRef.MenuMacroID

Text ("")

No

ID of a macro to be bound to this accelerator

MenuAlias

UID

Text

Yes

ID of a MenuAlias. Unique among all UIDs.

Name

Text

Yes

Name of an alias.

Command

Text

Yes

Command that is to be called for the alias.

MenuGroup

Name

Text ("ICAD")

No

Name of a menu group.

MenuMacro

UID

Text

Yes

ID of a MenuMacro. Unique among all UIDs.

Macro.Name.ID

4 byte integer (0)

No

Text resource id of macro name. Used to extract localized text.

Macro.Name

Text ("")

No

Default macro name.

Macro.ToolTip.ID

4 byte integer

No

Text resource id of macro tooltip. Used to extract localized text.

Macro.ToolTip

Text

Yes

Default macro tooltip.

Macro.HelpString.ID

4 byte integer (0)

No

Text resource id of macro help string. Used to extract localized text.

Macro.HelpString

Text

Yes

Default macro help string.

Macro.Command

Text

Yes

Command of a macro.

Macro.SmallImage

4 byte integer (0)

No

Image resource id of small icon or path to local image file.

Macro.LargeImage

4 byte integer (0)

No

Image resource id of large icon or path to local image file.

Macro.SmallImageHighContrast

4 byte integer (0)

No

Image resource id of small high contrast icon or path to local image file.

Macro.LargeImageHighContrast

4 byte integer (0)

No

Image resource id of large high contrast icon or path to local image file.

Macro.AcadToolbarConversion

Text ("")

No

Used to extract MenuMacro icon.

Macro.

Text (CUI_DEFAULT)

No

Determines the of MenuMacro, constructed as a comma-separated concatenation of the following values, calculated with a logical OR applied to all values:

Value   Description

CUI_DOC_DWG   .dwg document

CUI_DOC_DGN   .dgn document

CUI_DOC_ALL   All types of documents

CUI_DOC_STP   Start Page document

CUI_LEV_BEG   User level: Beginner

CUI_LEV_INT   User level: Intermediate

CUI_LEV_EXP   User level: Expert

CUI_LEV_ALL   User level: Any

CUI_MDI_OPN   MDI Window: At least one open

CUI_MDI_CLS   MDI Window: No MDI windows

CUI_MDI_ALL   MDI Window: Either MDI state

CUI_OLE_SEM   OLE: Server, embedded

CUI_OLE_SIP   OLE: Server, in-place

CUI_OLE_CLI   OLE: Client

CUI_OLE_ALL   OLE: Any OLE state

CUI_VIS_ALL   CUI_LEV_ALL,CUI_MDI_ALL,CUI_OLE_ALL

CUI_SPL_RCM   Context (right-click) menu only

CUI_SPL_HIDE   Hide this menu or button

CUI_SPL_OSNAP   Temporary osnap mode (shift right click when
   command is active)

CUI_SPL_CTRL   Button is a control]

CUI_SPL_NOENT   Ignore all entity flags]

CUI_DEFAULT   Default :

   CUI_LEV_ALL,CUI_MDI_OPN,CUI_MDI_CLS,
   CUI_OLE_CLI

Macro.Entity

 

Note that this item controls of right-click menus, which are designed to display only when certain entities are in the right-click selection set. This item is only used when Macro. includes CUI.SPL.RCM.

Text (RCM_ENT_ALL)

No

Determines the entity of Menu.Macro, constructed as a comma-separated concatenation of the following values, calculated with a logical OR applied to all values:

Entity
Value   Description

RCM_ENT_PNT   Point

RCM_ENT_LIN   Line

RCM_ENT_RAY   Ray

RCM_ENT_XLN   XLine

RCM_ENT_ARC   Arc

RCM_ENT_CIR   Circle

RCM_ENT_ELL   Ellipse

RCM_ENT_SHP   Shape

RCM_ENT_TRC   Trace

RCM_ENT_SLD   Solid

RCM_ENT_3DF   3D Face

RCM_ENT_3DS   3D Solid

RCM_ENT_2DP   2D Polyline

RCM_ENT_3DP   3D Polyline

RCM_ENT_PFM   Polyface Mesh

RCM_ENT_3DM   3D Mesh

RCM_ENT_PLN   All types of polylines:  

   RCM_ENT_2DP,RCM_ENT_3DP,
   RCM_ENT_PFM,RCM_ENT_3DM

RCM_ENT_TXT   Text

RCM_ENT_INS   Insert

RCM_ENT_ATD   AttDef

RCM_ENT_DIM   Dimension

RCM_ENT_LDR   Leader

RCM_ENT_TOL   Tolerance

RCM_ENT_SPL   Spline

RCM_ENT_MTX   Mtext

RCM_ENT_MLN   Mline

RCM_ENT_GRP   Group

RCM_ENT_IMG   Image

RCM_ENT_VPT   Viewport

RCM_ENT_HAT   Hatch

RCM_ENT_RGN   Region

RCM_ENT_BDY   Body

RCM_ENT_XRF   Xreferences

RCM_ENT_GMI   Geographic Map Image

RCM_ENT_ACS   All ACIS entities: RCM_ENT_3DS,

   RCM_ENT_RGN,RCM_ENT_BDY

RCM_ENT_ALL   Any entity

RCM_ENT_SGL   Hide this item if a single entity is selected

RCM_ENT_MUL   Hide this item if multiple entities are selected

Macro.Entity (continued)

 

Text (RCM_ENT_ALL)

No

Continued:

Entity
Value   Description

RCM_ENT_MLR   Multileader

RCM_ENT_REF   Refedit

RCM_ENT_BIM   IFC or RVT Underlay

RCM_ENT_BED   BEdit

RCM_ENT_BEL   Building Elevation Line

RCM_ENT_BSL   Building Section Line

RCM_ENT_2DS   2D Section or Elevation

RCM_ENT_TBL   Table

RCM_ENT_ARR   All array entities: RCM_ENT_ARR_POL,

   RCM_ENT_ARR_PAT,

   RCM_ENT_ARR_REC)

RCM_ENT_ARR_POL  ARRAY     Polar Array

RCM_ENT_ARR_PAT  ARRAY     Path Array

RCM_ENT_ARR_REC  ARRAY   Rectangular Array

Macro.CheckedExpression

Text ("")

No

Controls whether the button or menu item is in checked state based on value of the system variable.

Macro.GreyedOutExpression

Text ("")

No

Controls whether the button or menu item is grayed-out (disabled) based on the value of the system variable.

Macro.HideExpression

Text ("")

No

Controls whether the button or menu item is visible based on value of the system variable.

DoubleClickAction

UID

Text

Yes

ID of a DoubleClickAction. Unique among all UIDs.

DxfName

Text

Yes

DXF name of an entity type to be bound to this double-click action.

MenuItem.MacroRef.MenuMacroID

Text ("")

No

ID of a macro to be bound to this double-click action.

PopMenu

UID

Text

Yes

ID of a PopMenu. Unique among all UIDs.

Alias

Text

Yes

Language independent tear-off-name, usually "POPNN" where NN is a number.

Name.ID

4 byte integer (0)

No

Text resource id of popup menu name. Used to extract localized menu name.

Name

Text

Yes

Default popup menu name.

PopMenuItem

IsSeparator

true/false (false)

No

Defines whether the menu item is a separator.

NameRef.ID

4 byte integer (0)

No

Text resource id of menu item name. Used to extract localized menu item name.

NameRef

Text ("")

No

Default menu item name.

MenuItem.MacroRef.MenuMacroID

Text ("")

No

Id of a macro to be bound to this menu item.

PopMenuRef

pUID

Text

Yes

ID of a popup menu to be bound to this menu item as a sub-menu. Unique among all UIDs.

ToolTip.ID

4 byte integer (0)

No

Text resource id of menu item tooltip. Used to extract localized text.

ToolTip

Text

Yes

Default menu item tooltip.

HelpString.ID

4 byte integer (0)

No

Text resource id of menu item help string. Used to extract localized text.

HelpString

Text

Yes

Default menu item help string.

 

Text (CUI_DEFAULT)

No

Determines the of PopMenuRef, constructed as a comma-separated concatenation of values, calculated with a logical OR applied to all values. For details about available values, see Value Description.

Entity

Text (RCM_ENT_ALL)

No

Determines the entity of PopMenuRef, constructed as a comma-separated concatenation of the values and calculated with a logical OR applied to all values. For details about available values, see Entity Value Description.

CheckedExpression

Text ("")

No

Controls whether the button or menu item is in checked state based on value of the system variable.

GreyedOutExpression

Text ("")

No

Controls whether the button or menu item is grayed-out (disabled) based on the value of the system variable.

HideExpression

Text ("")

No

Controls whether the button or menu item is visible based on value of the system variable.

Toolbar

UID

Text

Yes

ID of a Toolbar. Unique among all UIDs.

ToolbarOrient

float/top/left/right/bottom (float)

No

Specifies toolbar orientation.

ToolbarVisible

hide/show (hide)

No

Specifies whether to show or hide toolbar.

rows

4 byte integer (1)

No

Number of button rows for a toolbar.

xval

4 byte integer (0)

No

X coordinate of a floating toolbar and zero-based position index of a docked toolbar.

yval

4 byte integer (0)

No

Y coordinate of a floating toolbar and zero-based position index of a docking row for a docked toolbar.

Name

Text

Yes

Name of a toolbar.

UseOwnIcon

true/false (false)

No

Specifies whether to use single icon when toolbar is used as flyout.

ToolbarButton

UID

Text

Yes

ID of a ToolbarButton. Unique among all UIDs.

IsSeparator

true/false (false)

No

Defines whether the button is a separator.

NameRef.ID

4 byte integer (0)

No

Text resource id of button name. Used to extract localized button tooltip.

NameRef

Text ("")

No

Default button name and tooltip.

MenuItem.MacroRef.MenuMacroID

Text ("")

No

ID of a macro to be bound to this button.

pTargetId

8 byte integer

Yes

ID of a popup menu to be bound to this item as a fly-out.

ToolTip.ID

4 byte integer (0)

No

Text resource id of tooltip. Used to extract localized text.

ToolTip

 

Yes

Default fly-out tooltip.

HelpString.ID

4 byte integer (0)

No

Text resource id of help string. Used to extract localized text.

HelpString

Text

Yes

Default fly-out help string.

SmallImage

4 byte integer (0)

No

Image resource id of small icon, or path to local image file.

LargeImage

4 byte integer (0)

No

Image resource id of large icon.

SmallImageHighContrast

4 byte integer (0)

No

Image resource id of small high contrast icon.

LargeImageHighContrast

4 byte integer (0)

No

Image resource id of large high contrast icon.

AcadToolbarConversion

Text ("")

No

Used to extract fly-out icon.

 

Text (CUI_DEFAULT)

No

Determines the of the fly-out, constructed as a comma-separated concatenation of values, calculated with a logical OR applied to all values. For details about available values, see Value Description.

Entity

Text (RCM_ENT_ALL)

No

Determines the entity of the fly-out, constructed as a comma-separated concatenation of the values and calculated with a logical OR applied to all values. For details about available values, see Entity Value Description.

CheckedExpression

Text ("")

No

Controls whether the button or menu item is in the checked state based on the value of the system variable.

GreyedOutExpression

Text ("")

No

Controls whether the button or menu item is grayed-out (disabled) based on the value of the system variable.

HideExpression

Text ("")

No

Controls whether the button or menu item is visible based on value of the system variable.

ToolbarControl

 

 

 

UID

tlbctrl-color/

tlbctrl-linetype/

tlbctrl-lineweight/

tlbctrl-printstyle/

tlbctrl-textstyle/

tlbctrl-dimensionstyle

Yes

ID of an AppButton. Unique among all UIDs. Any other UID is not allowed.

HelpString.ID

4 byte integer (0)

No

Text resource id of help string. Used to extract localized text.

HelpString

Text

Yes

Default control help string.

 

Text (CUI_DEFAULT)

No

Determines the of the toolbar, constructed as a comma-separated concatenation of the values, calculated with a logical OR applied to all values. For details about available values, see Value Description.

Understanding_the_format_of_a_cui_file
© Copyright 2023. BackToCAD Technologies LLC. All rights reserved. Kazmierczak® is a registered trademark of Kazmierczak Software GmbH. Print2CAD, CADdirect, CAD.direct, CAD Direct, CAD.bot, CAD Bot, are Trademarks of BackToCAD Technologies LLC. DWG is the name of Autodesk’s proprietary file format and technology used in AutoCAD® software and related products. Autodesk, the Autodesk logo, AutoCAD, DWG are registered trademarks or trademarks of Autodesk, Inc. All other brand names, product names, or trademarks belong to their respective holders. This website is independent of Autodesk, Inc., and is not authorized by, endorsed by, sponsored by, affiliated with, or otherwise approved by Autodesk, Inc. The material and software have been placed on this Internet site under the authority of the copyright owner for the sole purpose of viewing of the materials by users of this site. Users, press or journalists are not authorized to reproduce any of the materials in any form or by any means, electronic or mechanical, including data storage and retrieval systems, recording, printing or photocopying.