The preferences system of FreeCAD is located in the Edit menu → Preferences.
FreeCAD functionality is divided into different modules, each module being responsible for the working of a specific workbench. FreeCAD also uses a concept called late loading, which means that components are loaded only when they are needed. You may have noticed that when you select a workbench on the FreeCAD toolbar, that workbench and all its components get loaded at that moment. This includes its preferences settings.
Without any module loaded, you will have access to two configuration sections, responsible for the general application settings and for the display settings. When you are in a certain workbench the preferences of this workbench will appear as new section and file formats supported by the workbench will appear as new tab in the section Import-Export.
Clicking thebutton in the lower left corner of any preferences display will set all of the FreeCAD preferences to their default values.
This preferences section has 6 tabs:
In the General tab you can specify the following:
|Change language||Select the language of FreeCAD's user interface|
|Size of recent file list||Specification how many files should be listed in the recent files list|
|Enable tiled background|| If checked, the background of FreeCAD's main window will by default consist of tiles of this image: |
This option only has an effect if in Style sheet/No style sheet is selected.
The image can be changed by adding the folders Gui/Images in the folder
%APPDATA%/FreeCAD (on Windows),
$HOME/.FreeCAD (on Linux) or
$HOME/Library/Preferences/FreeCAD (on MacOS).
Put there a file named background.png and uncheck/check this option to see the changed file.
|Style sheet||Selection of a style sheet. The style sheets define how the user interface of FreeCAD looks.|
|Size of toolbar icons||Selection of the size for the toolbar icons|
|Auto load module after start up||Selection what workbench will be used directly after starting FreeCAD|
|Enable splash screen at start up|| If checked, the splash screen of FreeCAD is shown when starting.|
The splash screen image can be changed by adding the folders Gui/Images in the folder %APPDATA%/FreeCAD (where %APPDATA% is the the user-specific application folder of FreeCAD of your operating system). Put there a file named splash_image.png and restart FreeCAD to see the changed splash screen.
|Enable word wrap||Words will be wrapped when they exceed the available horizontal space in the Python console. This console is shown using the menu View → Panels → Python console.|
In the Document tab you can specify the following:
|Create new document at start up||If checked, FreeCAD will create a new document when started|
|Document save compression level||Specification of the compression level for FCStd files. FCStd files are ZIP-compressed files. Therefore you can rename their suffix .FCStd to .zip and open them with a ZIP archive program.|
|Using Undo/Redo on documents||If checked, all changes in documents are stored so that they can be undone/redone|
|Maximum Undo/Redo steps||Specification how many Undo/Redo steps should be recorded|
|Run AutoRecovery at startup||If there is a recovery file available FreeCAD will automatically run a file recovery when it is started. This way files can be restored if a crash occurred.|
|Save AutoRecovery information every||Specification how often a recovery file is written.|
|Save thumbnail into project file when saving document||If checked, also a thumbnail will be stored when the document is saved. The thumbnail will for example be shown in the list of recent files in the Start workbench.|
|Add the program logo to the generated thumbnail||If checked, the FreeCAD program logo will be added to the thumbnail. This option only has an effect if Save thumbnail into project file when saving document is used.|
|Maximum number of backup files to keep when resaving document||If checked, backup files will be kept when saving the document. You can specify how many backup files will be kept. They contain the previously saved document version. The first backup file will have the file suffix .FCStd1, the second .FCStd2 and so on.|
|Allow duplicate object labels in one document||If checked, objects can have the same label/name. For example different parts or features can then have the same name in the same document.|
|Author name||All documents that will be created will get the specified author name. Keep the author field blank for an anonymous author. If the option Set on save is checked, the field Last modified by will be set to the specified author when saving the file. This field can be viewed using the menu File → Project information.|
|Company||All documents that will be created will get the specified company name|
|Default license||Selection of a default license for new documents. For predefined license the License URL will automatically be set accordingly. Select 'Other' for an own or special license.|
|License URL||Specification of an URL describing the license selected in Default license|
The editor preferences settings affect the behavior of the macro editor. This editor can be opened using the menu Macro → Macros... → Edit/Create.
Note: the color and font settings also affect the Python console. This console is shown using the menu View → Panels → Python console.
In the Editor tab you can specify the following:
|Display Items||Selection of the code type. The color and font settings will be applied to the selected type. The result can be seen in the Preview field.|
|Family||Specification of the font family that should be used for the selected code type|
|Size||Specification of the font size that should be used for the selected code type|
|Enable line numbers||If checked, the code lines will be numbered|
|Tab size||Specification of the tabulator raster (how many spaces). If it is for example set to '6', pressingwill jump to character 7 or 13 or 19 etc., depending the current cursor position. This setting is only used if Keep tabs is selected.|
|Indent size||Specification of how many spaces will be inserted when pressing. This setting is only used if Insert spaces is selected.|
|Keep tabs||If selected, pressingwill insert a tabulator with the raster defined by Tab size|
|Insert spaces||If selected, pressingwill insert the amount of spaces defined by Indent size|
In the Output tab you can specify the following:
|Record log messages||If checked, also log messages will be recorded. They will be output in the Report view panel with the color set in Log messages. This panel is shown using the menu View → Panels → Report view.|
|Record warnings||If checked, warnings will be recorded. They will be output in the Report view panel with the color set in Warnings.|
|Record error messages||If checked, error messages will be recorded. They will be output in the Report view panel with the color set in Errors|
|Normal messages||Specification of the font color for normal messages in the Report view panel.|
|Log messages||Specification of the font color for log messages in the Report view panel.|
|Warnings||Specification of the font color for warning messages in the Report view panel.|
|Errors||Specification of the font color for error messages in the Report view panel.|
|Redirect internal Python output to report view||If checked, internal Python output will be redirected from the Python console to the Report view panel. The Python console is shown using the menu View → Panels → Python console|
|Redirect internal Python errors to report view||If checked, internal Python error messages will be redirected from the Python console to the Report view panel.|
In the Macro tab you can specify the following:
|Run macros in local environment||If checked, variables defined by macros are created as local variables, otherwise as global Python variable|
|Macro path||Specification of a path to macro files|
|Recording GUI commands||If checked, recorded macros will also contain user interface commands|
|Record as comment||If checked, recorded macros will also contain user interface commands but as comments. This is useful if you don't want to execute visible actions when running the macro but to see what could be done visibly.|
|Show script commands in python console||If checked, the commands executed by the macro scripts are shown in the Python console. This console is shown using the menu View → Panels → Python console.|
In the Units tab you can specify the following:
|User system||Selection of a unit system that should be used for all parts of FreeCAD|
|Number of decimals||The number of decimals that should be shown for numbers and dimensions in FreeCAD|
|Minimum fractional inch||Minimum fractional inch that should be displayed. This setting is only available if the unit system Building US (ft-in/sqft/cuft) is used.|
This preferences section has two general tabs and further tabs depending in the used workbenches.
This tab is always available.
In the 3D View tab you can specify the following:
|Show coordinate system in the corner||If checked, the main coordinate system will always be shown at the lower right in opened files|
|Show counter of frames per second||If checked, the time needed for the last operation and the resulting frame rate will always be shown at the lower left in opened files|
|Show navigation cube||If checked, the navigation cube will always be shown at the selected Corner in opened files|
|Use OpenGL Vertex Buffer Object||If checked, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the video device. VBOs offer substantial performance gains because the data resides in the video device memory rather than the system memory and so it can be rendered directly by the video device. For more background info see this webpage.|
|Enable animation||If checked, rotations can be animated. If for example the 3D Navigation set CAD is used and the mouse is moved while the scroll wheel and the right mouse button is pressed, parts are rotated. If one keeps the mouse moving while releasing e.g. the right mouse button, the rotation will continue as animation. To end the animation left-click with the mouse.|
|3D Navigation||Selection of a navigation settings set. To see what each set defines, select a set and press the button.|
|Orbit style||Selection of the rotation orbit style. When viewing a part in the x-y plane an being in the rotation mode of the 3D navigation, the difference is: If Trackball is selected, moving the mouse horizontally will rotate the part around the y-axis, if Turntable is selected the part will be rotated around the z-axis.|
|Anti-Aliasing||Selection if and what kind of multisample anti-aliasing is used|
|New Document Camera Orientation||Selection of the camera orientation for new documents|
|New Document Scale||Affects the initial "zoom level" of camera for new documents. The value you set is the diameter of a sphere that fits in 3D view. Default is 100 mm, convenient for objects like boxes for Arduino. It also sets initial size of origin features (base planes in a new PartDesign Body).|
|Zoom at cursor||If checked, zoom operations will be performed at the position of the mouse pointer. Otherwise zoom operations will be performed at the center of the current view. The Zoom step defines how much will be zoomed. A zoom step of '1' means a factor of 7.5 for every zoom step.|
|Invert zoom||If checked, the direction of zoom operations will be inverted.|
|Disable touchscreen tilt gesture||If checked, the tilting gesture will be disabled for pinch-zooming (two-finger zooming). This only affects the 3D Navigation set Gesture.|
|Drag at cursor||If checked, rotations in 3D will use the current cursor position as center for the rotation. Otherwise always the center of the screen will be used.|
|Marker size||Selection of the size of vertices (points) in the Sketcher workbench. The clickable area of points can be additionally enlarged by increasing Pick radius (on Colors tab).|
|Eye to eye distance for stereo modes||Specification of the eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed.|
|Enable backlight color||If checked, backlight is enabled with the defined color. Backlight is used for rendering back sides of faces (usually, you don't see them in solids, unless you slice one with a clipping plane, or if the faces aren't oriented correctly). It is only active for objects whose Lighting property (on View tab) is set to "One side". If disabled, back sides of faces of objects in "One side" lighting mode will be black.|
|Intensity of backlight||Specification of the intensity of the backlight. This setting is only enabled if Enable backlight color is checked.|
|Camera type|| Selection of the camera projection type.|
If Perspective rendering is selected, objects will appear in a perspective projection.
If Orthographic rendering is selected, objects will be projected in orthographic projection.
This tab is always available.
In the Colors tab you can specify the following:
|Enable preselection highlighting||If checked, preselection is turned on and will be highlighted by the specified color. Preselection means that for example edges in parts will be highlighted while hovering with the mouse over them to indicate that they can be selected.|
|Enable selection highlighting||If checked, selection highlighting is turned on and the specified color will be used for it|
|Pick radius||Sets the area for picking elements in 3D view. Larger value makes it easier to pick things, but can make some small features impossible to select.|
|Simple color||If selected, the background for parts will have the selected color|
|Color gradient||If selected, the background for parts will have the selected color gradient|
|Middle color||Is only enabled if Color gradient is selected. If checked, the color gradient will get the selected color as middle color.|
|Object being edited||Selection of the background color for objects in the tree view that are currently edited|
|Active container||Selection of the background color for active containers in the tree view. For example if there are several parts in the tree view and one part is toggled as active body, it will get the selected background color in the tree view.|
In the Part colors tab you can specify the following:
|Default shape color||Selection of the default color for new shapes. If the option Random shape color is set, a random color is used instead.|
|Default line color||Selection of the default line color for new shapes|
|Default line width||Specification of the default line thickness for new shapes|
|Default vertex color||Selection of the default color for new vertices|
|Default vertex size||Specification of the default size for new vertices|
|Bounding box color||Selection of the color of bounding boxes in the 3D view|
|Default text color|| Selection of the default text color for document annotations. There is currently no dialog to add annotations to documents. Annotations can only be added using the Python console with this command:|
This console is shown using the menu View → Panels → Python console.
This tab is only shown if you are in the Mesh workbench or if you have been in this workbench before.
In the Mesh view tab you can specify the following:
|Default mesh color||Selection of the default color for new meshes|
|Default line color||Selection of the default line color for new meshes|
|Mesh transparency||Specification of the default mesh transparency for new meshes|
|Line transparency||Specification of the default line transparency for new meshes|
|Two-side rendering||If checked, the bottom side of the surface will be rendered the same way than the top side. If not checked, it depends on the option Enable backlight color (see section 3D view). Either the backlight color will be used or black.|
|Show bounding-box for highlighted or selected meshes||If checked, a yellow bounding box will be displayed for highlighted or selected meshes.|
|Define normal per vertex|| If checked, Phong shading is used, otherwise flat shading. Shading defines the appearance of surfaces.
With flat shading the surface normals are not defined per vertex that leads to a unreal appearance for curved surfaces while using Phong shading leads to a smoother appearance.
|Crease angle|| The crease angle is a threshold angle between two faces. It can only be set if the option Define normal per vertex is used.
The Import-Export settings affect how files are imported and exported to and from FreeCAD. They are described in the page Import Export Preference.
Preferences for the more common workbenches are linked below. Some workbenches have no preferences. Other optional workbenches may not be listed.
Drawing Preferences (none)
Image Preferences (none)
Inspection Preferences (none)
Mesh Design Preferences (none)
Part Preferences (none)
Part Design Preferences (none)
Plot Preferences (none)
Points Preferences (none)
Reverse Engineering Preferences (none)
Robot Preferences (none)
Ship Preferences (none)
Spreadsheet Preferences (none)
Surface Preferences (none)
Test Framework Preferences (none)
Web Preferences (none)