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 widget, Ribbon 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.
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).
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:
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.
Resizing the Command line
- Drag the bar away from its docked position and then resize it, as shown below.
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:
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:
|0||Turns off the prompt history|
|1||Minimum number of lines|
|4||Default number of lines of prompt history|
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:
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.
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.
|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.
|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:
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|
|Text||Foreground||Fg (Background = Bg)|
|Text scrolling into the drawing area||Fading log||FadingLog|
|Text in drawing area background||Frame or floating frame||CmdLineFrame|
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.
|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.
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.
To change the color, click the field in the Settings dialog box and then choose a color.
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.
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.
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.
|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:'.
|:||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.
|0||No history is kept|
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:
|0 (default)||Show description only|
|Set end of arc or
|1||Show keywords only|
|Set end of arc or
|2||Show description, with keywords in brackets|
|Set end of arc or
|3||Show description, with shortcuts in brackets|
|Set end of arc or
|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!)
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.
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:
Choosing a workspace from the toolbar
- Workspaces button on the status bar:
Choosing a workspace from the status bar
- Workspace command in the Command line:
Workspace: setCurrent/SAveas/Rename/Delete/SEttings/? <setCurrent>: ?
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:
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.)
|0||Ribbon sizes itself to the height of the selected tab|
Customizing the Look of Drawing Tabs
Drawing tabs let you switch quickly between open drawings. BricsCAD calls them "document tabs."
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.
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.
|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.
|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.
LookFrom widget at rest
Click on one of the triangles to see a 3D model from a different point of view:
Viewing a 3D model from an isometric viewpoint
Here is how to use it:
Pass the cursor over the widget. Notice that small triangles appear as does the preview image of a simple chair.
Cursor activating the LookFrom widget
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.
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:
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.
LookFrom widget in isometric mode
Twist mode is like using the RtRotF (real-time view rotation) command; clicking an arrow rotates the viewpoint.
LookFrom widget in view rotation mode
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 [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.
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||6 orthogonal views|
|1||14 views; no flat views of corners (default)|
|2||18 views; top-down corners|
|3||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:
|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:
|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:
The NavVCubeLocation variable positions the widget in one of the four corners of the drawing area:
|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:
|50||Semi-transparent (default value)|
The NavVCubeOrient variable determines whether view changes are relative to the world coordinate system or the current user-defined coordinate system:
|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.
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.
|0||Hide no elements|
|1(default)||Hide document (drawing) tabs|
|2(default)||Hide dockable panels (palettes)|
|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:
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!
Start Using BricsCAD Today
Permanent or subscription licenses that work in all languages, in all regions.
- 55 Tips for BricsCAD Users
- Changing the Environment
- Custom User Interface
- Introduction to the Customize Dialog Box
- Customize the Menu Bar & Context Menus
- Toolbars and Button Icons
- Writing Macros and Diesel Code
- Ribbon Tabs and Panels
- Keystroke Shortcuts, Aliases & Shell Commands
- Mouse, Double-click & Tablet Buttons
- Absolutely Everything You Need to Know About The Quad
- Rollover Properties
- Workspaces and the User Interface
- Designing Tool & Structure Panels
- Creating Simple & Complex Linetypes
- Patterning Hatches
- Decoding Shapes & Fonts
- Coding with Field Text
- Writing Scripts
- Programming with LISP (Introduction)
- LISP Functions