Skip to content

Preferences Overview

Marius Stanciu edited this page Oct 29, 2026 · 1 revision

Preferences are the default settings of FlatCAM Evo. They set the values that new objects and tools use. This page explains how to open, change, save, import, export and reset the preferences. It also explains where the preferences are stored, and how themes and languages are set.

Where to find it

  • Menu: Edit > Preferences (shortcut: Shift+P). The Preferences tab opens in the plot area.
  • Import and export: File > Backup > Import Preferences from file and Export Preferences to file.
  • Save: File > Backup > Save Preferences.

Screenshot placeholder: images/Preferences-Overview-1.png — the Preferences tab with the tab bar (General, GERBER, EXCELLON, GEOMETRY, CNC-JOB, ENGRAVING, PROCESSING, EXTRA PLUGINS, UTILITIES) and the button row at the bottom.

Quick start

  1. Select Edit > Preferences (Shift+P).
  2. Select a tab, for example GERBER. Select a group, and change a value.
  3. The Preferences tab name turns red when a value changed and is not saved.
  4. Select Apply to use the values in this session.
  5. Select Save to write the values to the preferences file. The values stay for the next start.

Parameters

The Preferences tab has nine tabs. Each tab has one or more groups. Each group has controls.

Tab Content Page
General App settings, GUI settings, languages, grid, workspace Preferences General
GERBER Gerber import, options, export, editor, advanced options Preferences Gerber
EXCELLON Excellon import, options, export, editor, advanced options Preferences Excellon
GEOMETRY Geometry general settings, export, editor, advanced options Preferences Geometry
CNC-JOB CNC job general settings, options, editor, pre-processors Preferences CNCJob
ENGRAVING Isolation, non-copper clearing, paint, 2-Sided, levelling, GCode sender Preferences Plugins
PROCESSING Drilling, milling, cutout, film, panelize and other plugins Preferences Plugins
EXTRA PLUGINS Rules check, optimal, QRCode, copper thieving, fiducials, extract drills, punch, invert, etch Preferences Plugins
UTILITIES File associations and autocompleter keywords Preferences Utilities

The buttons at the bottom of the Preferences tab:

Button Description
Open Pref Folder Opens the folder where the preferences files are stored.
Clear GUI Settings Clears the GUI settings that the application stores with Qt (QSettings).
Restore Defaults Loads the factory values into the tabs. Nothing is saved until you select Save or Apply.
Apply Uses the values in this session. The values are not written to the preferences file.
Save Writes the values to current_defaults.FlatConfig. Then the application loads that file.
Cancel Closes the Preferences tab. The changes that were not saved are discarded.

Advanced

Where the preferences are stored

The preferences are stored in the data folder of the application. The folder depends on the platform:

  • Windows: %APPDATA%\FlatCAM. In portable mode the folder is the config folder next to the application.
  • Linux and macOS: ~/.FlatCAM.
  • The environment variable FLATCAM_DATA_PATH sets another folder. It overrides the folders above.

The data folder holds these files:

  • current_defaults.FlatConfig -> the working preferences. Save writes this file.
  • factory_defaults.FlatConfig -> the factory preferences. Restore Defaults uses the factory values from defaults.py.

The portable setting is in General > App Preferences > Portable app.

Import and export

  • Import Preferences from file: opens a .FlatConfig file. The values are loaded into the tabs. Select Save to keep them.
  • Export Preferences to file: writes the current preferences to a .FlatConfig file. The default file name has the date and time.
  • Save Preferences: writes the current preferences to current_defaults.FlatConfig.

An export writes the saved preferences, not the values that you changed in the tabs and did not save.

Project keys

Some keys belong to a project, not to the application. These keys are listed in PROJECT_KEYS in defaults.py. Examples: units, the Gerber non-copper margin, and the Excellon tool diameters.

Themes

Themes are set in General > GUI Preferences:

  • Appearance: Auto, Light or Dark.
  • Styling: Default or Custom.

Languages

Languages are set in General > App Preferences > Languages. The list shows the languages that the application finds in the locale folder. Select Apply Language to store the language. The application then restarts.

Code

  • appGUI/preferences/PreferencesUIManager.py: the class PreferencesUIManager. It builds the table that links each key of defaults.py to a control in a tab. It reads the controls into the defaults (defaults_read_form) and writes the defaults into the controls (defaults_write_form). It handles Apply, Save, Cancel and Restore Defaults (on_save_button, save_defaults, on_restore_defaults_preferences).
  • defaults.py: the class AppDefaults. Its factory_defaults dictionary holds the factory value of each key. Each key has the form group_name_setting, for example tools_drill_cutz.
  • appGUI/preferences/<section>/*PrefGroupUI.py: the groups of each tab. Each group file defines the labels, tooltips and controls.

See also

Clone this wiki locally