Search

2D Drafting3D ModellingBIMMechanicalApplications

Custom User Interface - Customizing BricsCAD® - P5

By Ralph Grabowski 23 min March 15, 2020
Custom User Interface - Customizing BricsCAD® - P5

Welcome back to Customizing BricsCAD®, a tutorial reference for users wanting to well, customize BricsCAD! This week I'll show you how to create your own BricsCAD custom user interface. In this post you'll learn how to directly change the looks of drawing tabs, LookFrom widgetRibbon and Command line.

Some of BricsCAD's customizations fall outside the realm of the Settings and Customization dialog boxes, as described in other posts in this series. Some aspects of the user interface can be changed directly in the interface, instead of indirectly through a dialog box.


The following topics are covered in this post:

  • Accessing commands in the drawing tabs
  • How to modify the LookFrom widget
  • Taking full advantage of the Command line
  • Repositioning the Ribbon

Customizing the Command line

The Command line is the primary way in which BricsCAD communicates with you. Here you can enter the names of commands, their options and specify positions in the drawing. The Command line (a.k.a. "command bar" or "command panel") is usually found along the bottom of the BricsCAD window, but it doesn't have to stay there or even look the way it does.

null

Command line's default location at the bottom-left of the BricsCAD window

Since these posts are about customization, let's see how we can customize the Command line. For instance, you can make the text look different. Here I changed the font to Bauhaus and the size to 24 points (1/3" tall).

null

Command line with different font and font size

THE PARTS OF THE COMMAND LINE

These are the parts to the Command line and the controls that are embedded in it:

null

Parts of the Command line

Resizing and Hiding the Command Line

The Command line typically displays three or four lines of history, which is the text of previously displayed prompts. When you need to see more lines of history, then you have these choices:

  • Drag the bar's top border to stretch it taller or shorter. For the exact location to do this, see the double-ended arrow cursor shown below.

null

Resizing the Command line

  • Drag the bar away from its docked position and then resize it, as shown below.

null

Floating Command line dragged away from its docked position

You can turn off the Command line with the CommandLineHide command --- the BIM workspace does this by default.  When the Command line is turned off, it still displays the command history in the drawing area. It looks like this:

null

Prompts scrolling into the drawing area

After a few moments, the history fades from view. To change the number of lines of history appearing in the drawing area, enter the CliPromptLine variable and then change its value. Here are the valid values:

CliPrompLine Meaning
0 Turns off the prompt history
1 Minimum number of lines
4 Default number of lines of prompt history
64 Maximum number

When the Command line is turned off, the current prompt is always displayed on the status bar.

The CommandLine command turns it back on. You can use the Ctrl+9 (Cmd+9 on Macs) shortcut keystroke to toggle its visibility.

Changing Command line Actions

The Command line can be made to present different kinds of information. The easiest way to do this is by right-clicking the Command line:

null

Shortcut menu presenting Command line options

The options are sometimes governed by the variables, as described here.

AutoComplete. The AutoCompleteMode variable controls the actions of the pop-up menu that displays a list of command and variable names that begin with the same letter(s) --- auto-complete mode. Illustrated below is what happens when users type an "a": they can then select one of the names or aliases from the list and then BricsCAD executes the command or variable.

null

Autocomplete entries for 'a'

The default value of this variable is 15, which is the sum of 1+2+4+8, representing the options that are turned on by default. When set to 0, auto-complete is turned off.

AutoCompleteMode Meaning
0 Disable
1 Enable auto-complete (default)
2 Auto-append names (default)
4 Display names that begin with the same letter(s) (default)
8* Display icons (unsupported; default)
16 Exclude the display of system variables
32 Display preference variables found only in BricsCAD

* While the display of icons seems to be an option, BricsCAD does not do this at the time of writing. The value (8) is included for compatibility so that routines imported from other DWG editors will work smoothly.

Delay Time. The AutoCompleteDelay variable specifies how long BricsCAD should wait before displaying the auto-complete list. The time is measured in seconds.

AutoCompleteDelay Meaning
0 Minimum value; no delay
0.3 Default value; brief delay
10 Maximum value; long delay

Copy copies the selected text from the Command line to the Clipboard. Some text has to be selected for this command to become available.

Clear erases all text from the Command line, including the history. BricsCAD asks if you are sure:

null

Checking if you really want to erase the command history

Select All selects all text in the Command line, including the history.

The history consists of previous command entries. By default, the program retains 256 lines of history; you can change this number to be larger or smaller with the ScrlHist variable.

Paste pastes text from the clipboard into the Command line. This option appears only when the cursor is next to the ':' prompt and the Clipboard contains data that can be pasted; text, not images.

You can paste text previously copied to the Clipboard with the Copy option, as well as text from other programs formatted as scripts (see Chapter 20) or LISP routines (see Chapter 21).

Options displays the Command line section of the Settings dialog box. Many of the settings are discussed next.


TIP: To record the command history in a file, use the LogFileOn command to begin saving it and then use LogFileOff to turn off the recording.

Use the LogFileName to specify a different name for the .log file (the default is the name of the drawing) and LogFilePath to change the folder in which the file is stored (the default is C:\Users<login>\AppData\Local\Bricsys\BricsCAD\V20x64\en_US.

The log file system is independent of the ScrlHistory variable's limit on lines and so keeps recording everything until you turn it off.


Additional Command Line Variables

You change the look of the Command line and its close cousin the Prompt History, through variables in the Command Line section of the Settings dialog box. The settings descriptions use some unusual terms:

Command line Element Term Used by Settings Abbreviation Used by Variables
Command Line Edit CmdLine
Prompt History List CmdLineList
Text Foreground Fg (Background = Bg)
Text scrolling into the drawing area Fading log FadingLog
Text in drawing area background Frame or floating frame CmdLineFrame

null

Command line section of the Settings dialog box

Command Line Font Name. The CmdLineFontName variable specifies the font used by the Command line and Prompt History window. Any TrueType font installed on your computer can be used.

CmdLineFontName Meaning
Consolas Default font name

To change the font displayed by the Command line and text window, click the field and then choose a font from the droplist.

null

Selecting a font for the commandline

Command Line Font Size. The CmdLineFontSize variable sets the size of the text in the Command line and Prompt History window.


TIP To display the Prompt History window, press F2.


Command Line List Background Color. The CmdLineListBgColor variable specifies the background color of the prompt history window ("list"). The default is 250,250,250 --- a light gray.

The triplet of numbers specifies the levels of red, green and blue. The numbers indicate the strength of each component color and ranges from 0 (black or no color) to 255 as the maximum strength for each color.

CmdLineEditBgColor Meaning
0,0,0 Black
255,0,0 Red
0,255,0 Green
0,0,255 Blue
250,250,250 Light grey
255,255,255 White

To change the color, click the field in the Settings dialog box and then choose a color.

null

Choosing a color

If the color you want isn't in the list, then click Select Color to access the Color dialog box. Choose a color and then click OK.

null

Selecting a color

Command Line List Foreground Color. The CmdLineListFgColor variable specifies the foreground color of the history window. By "foreground," BricsCAD means the color of the text. The default is 64,64,64 --- a very, very dark blue.

Command Line Edit Background Color. The CmdLineEditBgColor variable specifies the background color of the Command line ("edit"). The default is 250,250,250, a light gray.

Command Line Edit Foreground Color. The CmdLineEditFgColor variable sets the foreground (text) color of the Command line panel. The default is 32,32,32.

(new in v20) Command Line Option Background Color. The CmdLineOptionBgColor variable sets the background color of option names. These can be selected with the cursor.

Command Line Fading Log Background Color. The CmdLineFadingLogBgColor variable sets the background color for text that appears in the drawing area ("fading log").

When the Command line is off, the last four lines of command text appear in the drawing area. After a few seconds, the text fades away. When you next enter a command or pick an option, the on-screen text reappears. This works whether or not cleanscreen is switched on.

null

Command line text in the drawing area

Command Line Fading Log Foreground Color. The CmdLineFadingLogFgColor variable sets the color of the text that scrolls in the drawing area.

Command Line Fading Log Fading Delay. The CmdLineFadingLogFadeDelay variable determines how long the text appears in the drawing area before it starts to fade away; default is 2 seconds.

Command Line Fading Log Transparency. The CmdLineFadingLogTransparency variable determines the transparency of text that appears in the drawing area; default is 30%, where 0% is opaque.

Command Line Frame Transparency When Active. The CmdLineFadingActiveTransparency variable determines the transparency of the background ("fading frame") to text that appears in the drawing area; default is 10%, where 100% is fully transparent.

Command Line Frame Transparency When InActive. The CmdLineFadingInctiveTransparency variable determines the transparency of the background when the Command line is not being used; default is 10%, where 100% is fully transparent.

(new in v20) Command Line Use New Floating Frame. The CmdLineUseNewFrame variable toggles the appearance of a new frame for text that scrolls into the drawing area; this is a test variable and may be changed in the future; default is off.

Command Line State. The ClsState (read-only) variable reports whether the Command line is open or not. Because it is a read-only variable, users cannot change it.

ClsState Meaning
0 Command line is hidden
1 Command line is visible (default)

TIP Use Ctrl+9 (Cmd+9 on macOS) to turn the Command line on and off quickly.

Prompt Prefix. The CmdLnText variable specifies the prompt character(s) displayed by the Command line. While the default is a colon ( : ), BricsCAD allows you to change it to something else, such as AutoCAD's traditional prompt, 'Command:'.

CmdLnText Meaning
: Prompt text displayed by Command line

Scroll History. The ScrlHist variable determines how many lines of command history BricsCAD remembers. This affects both the Command line and the Prompt History window.

ScrlHist Meaning
0 No history is kept
256 Default value
2147483647 Maximum value

Even More Command Line Variables

There are additional variables located elsewhere in the Settings dialog box:

CliPromptLines variables determine how many lines of command history appear in the drawing area when the Command panel is turned off.

LastPrompt variable reports the name of the command entered most recently. It is read-only.

PromptOptionFormat variable determines how command options are displayed on the Command line and in the prompt menu; option 4 is meant for international versions of the software:

PromptOptionFormat Meaning
0 (default) Show description only
Set end of arc or [draw Lines/Angle/CEnter/CLose/ . . .
1 Show keywords only
Set end of arc or [Line/Angle/CEnter/CLose/ . . .
2 Show description, with keywords in brackets
Set end of arc or [Draw lines**(Line)/Angle/Center(CEnter)/Close(CLose)**/ . . .
3 Show description, with shortcuts in brackets
Set end of arc or [Draw lines**(L)/Angle/Center(CE)/Close(CL)**/ . . .
4 Show local keyword, with a global keyword in brackets

PromptOptionTranslateKeywords variable toggles the use of international commands. When off, the underscore ( _ ) prefix is not needed during command input; default = on.


Customizing the Look of the Ribbon

The Ribbon is like a series of overlapping toolbars, where a row of tabs segregate the overlapping "toolbars" that group similar functions. A tab is further segregated into a row of adjacent panels, each panel containing a group of buttons, flyouts and/or droplists --- just like toolbars!)

null

Ribbon displayed by the 2D Drafting workspace

Because Bricsys wrote its own version of the Ribbon interface, it is equally available on the Windows, macOS and Linux versions --- unlike most other CAD systems. You customize the Ribbon through the Customize command.

When no drawing is open, all buttons on the Ribbon turn gray, to indicate that they are unavailable.

The blue B item is not part of the Ribbon but is a menu that accesses file-related functions, such as opening and saving drawings.

null

B button displaying file-related functions

HANDLING THE RIBBON

BricsCAD comes with several Ribbons. To switch between them, you don't use the Ribbon command, as you might think. Instead, you use the Workspaces command. A Workspaces droplist is by default not available on the Ribbon, although it is on the status bar.

To switch between Ribbons, you can change the workspace using a toolbar, the status bar or the Command line, as follows:

  • Workspaces droplist on a toolbar:

null

Choosing a workspace from the toolbar

  • Workspaces button on the status bar:

null

Choosing a workspace from the status bar

  • Workspace command in the Command line:

: workspace
Workspace: setCurrent/SAveas/Rename/Delete/SEttings/? <setCurrent>: ? Workspace Name
--------------
BIM
Drafting
Drafting (toolbars)
Mechanical
Modeling
Modeling (toolbars)
The names of workspaces changed with BricsCAD V19 and V20:

Old Workspace Name New Workspace Name Default Display
2D Drafting Drafting Displays the Ribbon
. . . Drafting (Toolbars) Displays the menu bar and toolbars, no Ribbon
. . . Modeling Displays the Ribbon
3D Modeling Modeling (Toolbars) Displays the menu bar and toolbars, no Ribbon
BIM BIM Displays the Ribbon
Mechanical Mechanical Displays the Ribbon

You can drag the Ribbon away from its docked position; the floating Ribbon looks like this:

null

Floating Ribbon

The Ribbon command displays the Ribbon; RibbonClose closes it.

Related System Variables

RibbonState (read-only) variable reports whether the Ribbon palette is open or closed. Users cannot change this variable, because it is read-only.

RibbonDockedHeight variable determines the height of the Ribbon when docked. The height is measured in pixels. (I recommend that you do not change this number.)

RibbonState Meaning
0 Ribbon sizes itself to the height of the selected tab
120 Default value
500 Maximum value

Customizing the Look of Drawing Tabs

Drawing tabs let you switch quickly between open drawings. BricsCAD calls them "document tabs."

null

Each tab names the open drawing

(new in V20) The first tab accesses the Start screen. You can also access this with the GoToStart command. This tab can be turned off by clicking the gray x.

The tabs provide a shortcut to file-related commands, such as Open and Close, plus some commands you won't find elsewhere in BricsCAD. Right-click any drawing tab. The list of commands you see depends on which tab you right-click.

null

Shortcut menu of commands for controlling tabs and drawings

Among the unique commands, I find Open Folder particularly useful. The unique commands perform these functions:

  • Close Left Tabs closes all drawings to the left of this tab. This is useful for closing older drawings. Drawings that were opened earlier tend to appear at the left end of the row of tabs
  • Close All But This closes all other drawings, except the current one. (I find this useful when I open an entire folder's worth of drawings and then want to keep just one open.)
  • Save All saves all drawings at once
  • Duplicate Tab makes a copy of the current drawing and then names it copy_name.dwg
  • Open Folder opens the folder from which the drawing was opened

Related System Variables

The look of drawing tabs is customized through variables. Be aware that the changes made to these variables do not take effect until the next time BricsCAD is started. So to apply the change(s), exit BricsCAD and then start it again.

DocTabPosition variable --- places the tabs at the top, bottom, left or right of the drawing area.

DocTabPosition Meaning
0 Position tabs at the top of the drawing area (default)
1 Position tabs at the bottom of the drawing area
2 Position tabs at the left edge of the drawing area
3 Position tabs at the right edge of the drawing area

The ShowDocTabs variable turns the tab row on and off.

ShowDocTabs Meaning
0 Does not display tabs
1 Displays tabs (default)

You can also access these variables in the Settings dialog box.


Customizing the Look From Control

BricsCAD has a LookFrom widget in the upper right corner of the drawing area. I find it very useful for quickly changing the 3D viewpoint.

null

LookFrom widget at rest

Click on one of the triangles to see a 3D model from a different point of view:

null

Viewing a 3D model from an isometric viewpoint

Here is how to use it:
  1. Pass the cursor over the widget. Notice that small triangles appear as does the preview image of a simple chair.

    null

    Cursor activating the LookFrom widget

  2. Pause the cursor over a triangle:

    • You get a preview of what the 3D view will look like via the chair icon
    • A tooltip tells you name of the view, such as "Top Front Left:
    • The green dot indicates the cursor position, kind of like a laser pointer.
  3. Click the triangle to change the 3D view


TIP To see the bottom views: hold down the Ctrl (or Cmd in Mac) key while the cursor is in the LookFrom widget.To return to the home (default) view: click the center of the LookFrom control. (This is particularly helpful in Twist mode.) Or, press the Home key on the keyboard to return to the home view.


There are two ways to customize the way the LookFrom control operates. The easiest one is to right-click the control and then choose an option from the shortcut menu:

null

Shortcut menu of LookFrom options

Most of the options in the shortcut menu are straight-forward, but I do want to explain the difference between Isometric and Twist modes:

  • Isometric mode is like using the Viewpoint or View commands; clicking a triangle jumps to the viewpoint.

null

LookFrom widget in isometric mode

  • Twist mode is like using the RtRotF (real-time view rotation) command; clicking an arrow rotates the viewpoint.

    null

    LookFrom widget in view rotation mode

LOOKFROM COMMAND

The other way to customize the widget is through the LookFrom command, from which you can turn the widget off (and on) and access its settings:

: lookfrom

LookFrom [ON/OFf/Settings] <ON>: (*Enter an option)*

The ON and OFf options turn the widget on and off.

The Settings option opens the Settings dialog box at the LookFrom section.

null

LookFrom variables in the Settings dialog box

With Settings, you can adjust the properties of the widget, such as its translucency and position.

Of particular interest is the number of isometric viewpoints it can display, which is set through "Direction Mode" or the LookFromDirectionMode variable. The following table illustrates these modes:

LookFrom Direction Mode Number of Views
0 null 6 orthogonal views
1 null 14 views; no flat views of corners (default)
2 null 18 views; top-down corners
3 null 26 views; eight top-down corners
Related System Variables

The following variables control the look and action of the LookFrom widget. Some of the names begin with "NavVCube." This is AutoCAD®'s name for its "navigation view cube" widget.

The LookFromFeedback variable toggles the feedback display between tooltips and the status bar:

LookFromFeedback Meaning
0 No feedback
1 Tooltips near the LookFrom widget (default)
2 On the status bar

The LookFromDirectionMode variable selects the type of display, as illustrated above.

The LookFromZoomExtents variable toggles the use of Zoom Extents when a viewpoint changes:

LookFromZoomExtents Meaning
0 Zoom is unchanged
1 Zoom extents are executed when the view direction changes (default)

The NavVCubeDisplay variable toggles the display of the LookFrom widget:

NavVCubeDisplay Meaning
0 Not displayed
1 Displayed (default)

The NavVCubeLocation variable positions the widget in one of the four corners of the drawing area:

NavVCubeLocation Meaning
0 Top right corner of the drawing area
1 Top left corner
2 Bottom left corner
3 Bottom right corner

The NavVCubeOpacity variable determines the "see through-ness" of the widget:

NavVCubeOpacity Meaning
0 Invisible
50 Semi-transparent (default value)
1 Opaque

The NavVCubeOrient variable determines whether view changes are relative to the world coordinate system or the current user-defined coordinate system:

NavVCubeOrient Meaning
0 Relative to WCS (default)
1 Relative to UCS

Maximizing the Drawing Area

To maximize the screen, minimize the number of user interface elements. Use the CleanScreenOn command to maximize the drawing area, CleanScreenOff to return the UI to normal. Pressing Ctrl+0 (Cmd+0 on macOS) does the same thing much more quickly.

null

BricsCAD's drawing area maximized

The CleanScreenOptions variable specifies which UI elements to keep on during clean screen mode. The default value is 15, which means the drawing tabs, panels, toolbars and Ribbon are hidden, while the Command line, status bar and menu bar remain visible.

CleanScreenOptions Meaning
0 Hide no elements
1(default) Hide document (drawing) tabs
2(default) Hide dockable panels (palettes)
4(default) Hide toolbars
8(default) Hide Ribbon
16 Hide Command line panel (bar)
32 Hide status bar
64 Hide menu bar

USING MULTIPLE MONITORS

Most computers, support two or three monitors.  I find it useful to place all palettes and bars on the second monitor. This maximizes the area available for the BricsCAD drawing screen.

Indeed, when I write these posts, I have five screens surrounding me. My Windows 7 workstation has three:

null

Three monitors at different resolutions. Main monitor (2048×1152 resolution) for the InDesign desktop publishing software Second monitor (1360×768) for InDesign's many palettes and PaintShop Pro for editing figures Third monitor (1920×1080) for displaying BricsCAD.

I find it beneficial to have the secondary monitor run at a lower resolution because it makes the user interface larger and so easier to read.


TIP Even if your computer's graphics board is limited to working with one (or two) monitors, there is a workaround. DisplayLink is a USB dongle that allows you to add a monitor without needing a video port. Windows sees the dongle as another screen.

Several manufacturers make the hardware for under $100; see displaylink, for example. Software is included that runs on the computer to redirect the "second screen" graphics to the dongle.


Customizing Other UI Elements

To customize the look of other user interface elements, see the future blog posts!


Download BricsCAD free for 30-days

Start Using BricsCAD Today

Permanent or subscription licenses that work in all languages, in all regions.


  1. Introduction
  2. 55 Tips for BricsCAD Users
  3. Settings
  4. Changing the Environment
  5. Custom User Interface
  6. Introduction to the Customize Dialog Box
  7. Customize the Menu Bar & Context Menus
  8. Toolbars and Button Icons
  9. Writing Macros and Diesel Code
  10. Ribbon Tabs and Panels
  11. Keystroke Shortcuts, Aliases & Shell Commands
  12. Mouse, Double-click & Tablet Buttons
  13. Absolutely Everything You Need to Know About The Quad
  14. Rollover Properties
  15. Workspaces and the User Interface
  16. Designing Tool & Structure Panels
  17. Creating Simple & Complex Linetypes
  18. Patterning Hatches
  19. Decoding Shapes & Fonts
  20. Coding with Field Text
  21. Writing Scripts
  22. Programming with LISP (Introduction)
  23. LISP Functions
Ralph Grabowski

by Ralph Grabowski - CAD Writer, publisher of upFront.eZine

Ralph is the publisher of the weekly 'upFront.eZine' e-newsletter on the business of CAD and the 'WorldCAD Access' blog on technology. Author of 240+ books and ebooks about computer-aided design, and producer of 220+ videos on using CAD.

September 17, 2024 3 min

Customizing Line Types in BricsCAD

Creating custom line types in BricsCAD can significantly enhance the detail and clarity of your drawings. Whether you’re working on complex engineering plans or simple layout designs, understanding how to create your own line types can give your projects a professional edge. Follow this step-by-step guide to learn how to create both simple and complex line types in BricsCAD.

September 10, 2024 3 min

BricsCAD Partner Apps for Civil and Survey Workflows

At Bricsys, we provide a solid foundation for our specialist survey and civil app developers to create specialist civil and survey tools that deliver robust and efficient workflows for BricsCAD users. Let’s see what updates and improvements our various developer partners have made to complement BricsCAD V24's civil and survey workflows.

These civil and survey applications are among multiple third-party applications supported by BricsCAD, with our developers working to improve their functionality and remain on pace with our new features introduced with every release.

September 9, 2024 4 min

Embracing Digital Transformation in the Construction Industry with Bricsys® 24/7

The construction industry continually evolves, and digital transformation is reshaping how teams manage projects, communicate, and handle project documentation. When embracing digital solutions for construction projects, a common data environment (CDE) like Bricsys 24/7 is an excellent place to start. With a significant variance in the level of digital adoption across the industry, embracing and leveraging digital tools can help firms differentiate themselves by elevating operational efficiency and improving project outcomes.

Follow us on social media