Interface Customization
Introduction
The FreeCAD interface is based on the modern Qt toolkit and has a state-of-the-art organization. Some aspects of the interface can be customized. You can, for example, add custom toolbars, with tools from several workbenches or tools defined in macros, and you can create you own keyboard shortcuts. But the menus and default toolbars that come with FreeCAD and its workbenches cannot be changed.
The Customize dialog box
Usage
- The commands available in the Customize dialog box depend on the workbenches that have been loaded in the current FreeCAD session. So you should first load all workbenches whose commands you want to have access to.
- There are several ways to invoke the
Std DlgCustomize command:
- The Customize dialog box opens. For more information see Options.
- The Help button does not work at this time.
- Press the Close button to close the dialog box.
Options
In the Customize dialog box the following tabs are available:
Commands
File:Std DlgCustomize tab Commands.png
The Commands tab
On this tab you can browse the available commands.
Browse commands
- Select a command category in the Category panel on the left. Some categories match menu entries.
- The tools available in the selected category are shown in the panel on the right.
- Hover a command: its tooltip appears.
- Select a command: its status bar text is displayed below the two panels.
Keyboard
The Keyboard tab
On this tab custom keyboard shortcuts can be defined. Shortcuts for macro commands can be defined on the Macros tab.
Add a custom shortcut
- Select a command category from the Category dropdown list.
- Select a command from the Commands panel.
- The Current shortcut box displays the current short cut, if available.
- Enter a new shortcut in the Press new shortcut input box. Shortcuts can be up to 4 inputs long. Each input is either a single character, a combination of one or more special keys or a combination of one or more special keys and a character. Use Backspace to correct mistakes.
- If the shortcut is already in use, a dialog box will ask you if you want to override it, and the command the shortcut is assigned to will appear in the Currently assigned to panel.
- Press the Assign button to assign the new shortcut.
- Press the Clear button to remove the entered shortcut. This will also remove the content of the Current shortcut box. Note that default shortcuts are not permanently removed. They will be restored upon restarting FreeCAD.
Remove a custom shortcut
- Select a command category from the Category dropdown list.
- Select a command from the Commands panel.
- Press the Reset button.
Remove all custom shortcuts
- Press the Reset All button.
Notes (Keyboard)
- Shortcuts only work if their commands appear in the standard menu or in the menu of a workbench that has been loaded in the current FreeCAD session, or if their commands appear on a visible toolbar.
- In V0.19 there is an issue with some Draft commands. Their default shortcuts do not work and/or custom shortcuts cannot be assigned to them.
- To reassign a default shortcut a new shortcut has to be assigned to its original command first.
Workbenches
File:Std DlgCustomize tab Workbenches.png
The Workbenches tab
On this tab the Workbench selector list can be changed. The Enabled workbenches list shows the workbenches as they will appear in the Workbench selector.
Disable a workbench
- Select a workbench in the Enabled workbenches list.
- Press the
button.
- The workbench will be moved to the Disabled workbenches list
Re-enable a workbench
- Select a workbench in the Disabled workbenches list.
- Press the
button.
- The workbench will be moved to the Enabled workbenches list
Re-enable all workbenches
Change a workbench position
- Select a workbench in the Enabled workbenches list.
- Press the
button or the
button.
- Optionally repeat this until the workbench is in the correct position.
Sort workbenches alphabetically
Toolbars
The Toolbars tab
On this tab custom toolbars can be created and modified.
Select the workbench
- In the dropdown list on the right select the workbench whose custom toolbars you want to modify. The
Global
option is there for custom toolbars that should be available in all workbenches.
Create a toolbar
- Press the New... button.
- Enter a name in the dialog box that opens.
- Press the OK button.
- The new toolbar will appear in the panel on the right.
Rename a toolbar
- Select a toolbar in the panel on the right.
- Press the Rename... button.
- Enter a new name in the dialog box that opens.
- Press the OK button.
Delete a toolbar
- Select a toolbar in the panel on the right.
- Press the Delete button.
Disable a toolbar
- Uncheck the checkbox in front of the toolbar name in the panel on the right.
- A disabled toolbar will be invisible in the FreeCAD interface.
Add a command
- Select the correct toolbar in the panel on the right. If no toolbar is selected, the command will be added to the first toolbar in the list.
- Select a category from the dropdown list on the left. Macro commands that have been set up on the Macros tab appear in the 'Macros' category.
- Select a command from the panel on the left.
- Or select '<Separator>' to add a separator (a line between two toolbar buttons).
- Press
button.
Remove a command
Change a command position
- If required, expand the toolbar in the panel on the right.
- Select a command.
- Press the
button or the
button.
- Optionally repeat this until the command is in the correct position.
Notes (Toolbars)
- Toolbars belonging to the current workbench are updated immediately, but after disabling/re-enabling a toolbar a workbench change is required (switch to a different workbench and then switch back).
- To update global toolbars a workbench change (if commands have been added or removed) or a restart (if the order of a toolbar has changed or a toolbar was renamed) is required.
- In V0.19 there is an issue with some Draft commands. After adding them to a custom toolbar and exiting the FreeCAD application the user.cfg file must be manually edited for these commands. Search for the name of the custom toolbar and in that section change the content of the
FCText
items that start withgui_
toDraftTools
.
Macros
The Macros tab
On this tab user macro commands can be set up. Once set up, they can be added to custom toolbars. FreeCAD uses a dedicated folder for user macros and only macros in that folder can be set up. Use the Std DlgMacroExecute command to find this folder on your system.
If you download a macro with the Addon Manager then make sure that you also download its icon image file. Most macros have an image link on the information page that appears in the Addon Manager. You can for example put this image file in the user macros folder.
If you want to use a macro downloaded from a different source you will have to install it manually. See How to install macros for more information.
Add a macro command
- In the Macro dropdown list select a macro.
- Enter a Menu text. This will be the name used to identify the macro command and will also appear in the toolbar if there is no icon.
- Optionally enter a Tool tip. This text will appear near the location of the mouse when you hover the toolbar icon.
- Optionally enter a Status text. This text will appear in the status bar when you hover the toolbar icon.
- Optionally enter the wiki page for the macro, if available, in the What's this input box. Enter the page name, not the full URL.
- Optionally enter a shortcut in the Accelerator input box. See Keyboard for more information.
- To add an icon:
- Press the Pixmap ... button.
- The Choose Icon dialog box opens.
- If required press the Icon folders... button to add an icon folder.
- Select an icon from the panel. The Choose Icon dialog box closes automatically.
- Press the Add button.
- The macro command appears in the panel on the left.
- The macro command can now be selected on the Toolbars tab.
Remove a macro command
- Select the macro command in the panel on the left.
- Press the Remove button.
Change a macro command
- Double-click the macro command in the panel on the left.
- Make the required changes. Note that you cannot remove the icon, you can only replace it.
- Press the Replace button.
Spaceball Motion
This tab is blank if no Spaceball is detected. See: 3Dconnexion input devices.
Spaceball Buttons
This is tab is blank if no Spaceball is detected. See: 3Dconnexion input devices.
Themes
FreeCAD supports complete theming of the interface, via .qss stylesheets. The qss format is very similar to the css format used in web pages, it basically adds more methods to reference the different widgets and elements of the Qt interface. You can change the current default theme (which simply takes the style defined by your desktop system) to
- either one of the built-in themes bundled with FreeCAD. This can be done by selecting a style sheet using the FreeCAD preferences.
- or create your own, for example starting from one of the built-in styles and editing it. Your new style must be placed in a folder named $USERAPPDATA/Gui/Stylesheets to be known to FreeCAD ($USERAPPDATA is obtained by typing App.getUserAppDataDir() in the FreeCAD console).
Addons
Addons offer yet another way to customize the use interface. Below are some addons created by users in the FreeCAD community. They can be downloaded through the Addon Manager (note: they are listed on the Workbenches tab).
CubeMenu
- Github repository: https://github.com/triplus/CubeMenu
Glass
- Github repository: https://github.com/triplus/Glass.
IconThemes
- Github repository: https://github.com/triplus/IconThemes
Launcher
- Github repository: https://github.com/triplus/Launcher
PieMenu
- Github repository: https://github.com/triplus/PieMenu
RemBench
- Github repository: https://github.com/triplus/RemBench
ShortCut
- Github repository: https://github.com/triplus/ShortCuts
- File: New, Open, Close, Close All, Save, Save As, Save a Copy, Save All, Revert, Import, Export,Merge project, Project information, Print, Print preview, Export PDF, Recent files, Exit
- Edit: Undo, Redo, Cut, Copy, Paste, Duplicate selection, Refresh, Box selection, Box element selection, Select All, Delete, Send to Python Console, Placement, Transform, Alignment, Toggle Edit mode, Edit mode, Preferences
- View:
- Miscellaneous: Create new view, Orthographic view, Perspective view, Fullscreen, Bounding box, Toggle axis cross, Clipping plane, Texture mapping, Toggle navigation/Edit mode, Appearance, Random color, Workbench, Status bar
- Standard views: Fit all, Fit selection, Isometric, Dimetric, Trimetric, Home, Front, Top, Right, Rear, Bottom, Left, Rotate Left, Rotate Right
- Freeze display: Save views, Load views, Freeze view, Clear views
- Draw style: As is, Points, Wireframe, Hidden line, No shading, Shaded, Flat lines
- Stereo: Stereo red/cyan, Stereo quad buffer, Stereo Interleaved Rows, Stereo Interleaved Columns, Stereo Off, Issue camera position
- Zoom: Zoom In, Zoom Out, Box zoom
- Document window: Docked, Undocked, Fullscreen
- Visibility: Toggle visibility, Show selection, Hide selection, Select visible objects, Toggle all objects, Show all objects, Hide all objects, Toggle selectability
- Toolbars: File, Edit, Clipboard, Workbench, Macro, View, Structure, Help
- Panels: Tree view, Property view, Selection view, Tasks, Python console, DAG view, Model, Report view
- Link navigation: Go to linked object, Go to the deepest linked object, Select all links
- Tree view actions: Sync view, Sync selection, Sync placement, Pre-selection, Record selection, Single document, Multi document, Collapse/Expand, Initiate dragging, Go to selection, Selection Back, Selection Forward
- Tools: Edit parameters, Save image, Load image, Scene inspector, Dependency graph, Project utility, Measure distance, Add text document, View turntable, Units calculator, Customize, Addon manager
- Macro: Macro recording, Macros, Recent macros, Execute macro, Attach to remote debugger, Debug macro, Stop debugging, Step over, Step into, Toggle breakpoint
- Help: Help, FreeCAD Website, Donate, Users documentation, Python scripting documentation, Automatic Python modules documentation, FreeCAD Forum, FreeCAD FAQ, Report a bug, About FreeCAD, What's This
- Preferences Editor, Interface Customization
- Main window: Standard menu, Main view area, 3D view, Combo view (Tree view, Task panel, Property editor), Selection view, Report view, Python console, Status bar, DAG view, Workbench Selector
- Auxiliary windows: Scene inspector, Dependency graph
![](/images/thumb/9/94/User_hub.png/24px-User_hub.png)
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub