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.
- 1 General Settings
- 2 Display settings
- 3 Import-Export settings
- 4 Workbench preferences
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 the 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, 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 up to 3 tabs:
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|
|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|
|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|
|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.
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 of confusion for picking elements in 3D view. Larger value makes it easier to pick stuff, but will 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.
The Import-Export settings affect how files are imported and exported to and from FreeCAD. Note that the Import-Export preferences dialog offers file type settings for most workbenches but not every workbench is able to import/export all file types.
FreeCAD supports many file formats. For the following file formats it offers to apply special settings:
The Collada DAE (Digital Asset Exchange) format is a standard file format for exchange of Mesh data. The Arch workbench can import meshes from .dae files, and export Arch and other Shape-based objects to the .dae format. The Collada import functionality in the Arch module depends on pycollada. If it is not installed on your system, Collada import/export will be disabled.
For the DAE format you can specify the following:
|Scaling factor||All dimensions in the file will be scaled with the specified factor|
|Mesher||Sets the meshing program that should be used. If using Netgen, make sure that it is available. This can be checked by using the Mesh module and creating a mesh using Netgen. If it is not available another version of FreeCAD, compiled with Netgen, must be installed.|
|Tessellation||The tessellation value to use with the Builtin and the Mefisto meshing program.|
|Grading||The grading value to use for meshing using Netgen. This value describes how fast the mesh size decreases. The gradient of the local mesh size h(x) is bounded by |Δh(x)| ≤ 1/value.|
|Segments per edge||The maximum number of segments per edge|
|Segments per radius||The number of segments per radius|
|Second order||Allow a second order mesh|
|Allow quads||Allow quadrilateral faces|
DWG (from drawing) is a proprietary binary file format used for storing two- and three- dimensional design data and metadata. Since it is a closed source file format it cannot be directly supported by FreeCAD. Therefore the external file converter ODA is required.
For the DWG format you can only specify the path to ODA. note: All settings for DXF file format also apply to DWG.
|Path to ODA (formerly Teigha) File Converter||Sets the path to the ODA file converter|
AutoCAD DXF (Drawing eXchange Format) is a proprietary format to exchange CAD data between AutoCAD and other programs.
For the DXF format you can specify the following:
|Show this dialog when importing and exporting||This preferences dialog will be shown when importing or exporting DXF files|
|Use legacy python importer||If checked, the Python importer is used, otherwise the newer C++ one. The C++ importer is faster, but has not as many features yet.|
|Allow FreeCAD to automatically download and update the DXF libraries||By checking this, you will allow FreeCAD to download the Python converter for DXF import and export. This converter cannot be bundled with FreeCAD because it has a different software license.|
|Import|| Select what will be imported.|
If texts and dimensions is unchecked, texts and mtexts won't be imported.
If layouts is checked, paper space objects will be imported too.
Check *blocks if you want the non-named blocks (beginning with a *) to be imported too.
|Create|| Select what will be created.|
If simple Part shapes is selected, only standard Part objects will be created. This is the fastest.
If Draft objects is selected, parametric Draft objects will be created whenever possible.
If Sketches is selected, sketches will be created whenever possible.
|Scale factor to apply to imported files||Scale factor to apply to DXF files on import. The factor is the conversion between the unit of your DXF file and millimeters. Example: for files in millimeters: 1, in centimeters: 10, in meters: 1000, in inches: 25.4, in feet: 304.8|
|Get original colors from the DXF file||If checked, colors will be retrieved from the DXF objects whenever possible. Otherwise default colors will be applied.|
|Join geometry||If checked, FreeCAD will try to join coincident objects into wires. Note that this can take a while.|
|Group layers into blocks||If checked, objects from the same layers will be joined into Draft Blocks, turning the display faster, but making them less easily editable ??The Draft Wiki pages don't mention Draft blocks??|
|Use standard font size for texts||If checked, imported texts will get the standard Draft Text size, instead of the size they have in the DXF document|
|Use VisGroups||If checked, DXF layers will be imported as Draft VisGroups|
|Import hatch boundaries as wires||If checked, hatches will be converted into simple wires|
|Render polylines with width||If checked, when polylines have a width defined, they will be rendered as closed wires with the correct width|
|Treat ellipses and splines as polylines|| The export of ellipses and splines is poorly supported. ??Still the case?? Use this option to export them as polylines instead.|
The setting Max Spline Segment is then the maximum length of each of the polyline segments. If it is set to '0' the whole spline is treated as a straight segment.
|Export 3D objects as polyface meshes||If checked, all objects containing faces will be exported as 3D polyfaces|
|Export Drawing Views as blocks||If this is checked, Drawing Views will be exported as blocks. This might fail for post DXF R12 templates.|
|Project exported objects along current view direction||If checked, the exported objects will be projected to reflect the current view direction|
The Initial Graphics Exchange Specification (IGES) file format is a file format that allows the digital exchange of information among CAD systems. Since the specification for the STEP file format was published, the development of IGES was stopped in 1996. It is nevertheless still supported by many CAD programs.
|Units for export of IGES||Selection what unit will be used when exporting IGES files|
|Write solids and shells as|| Selection how solids and shells should be output.|
If Groups of Trimmed Surfaces (type 144) is selected, they will be exported as trimmed surface.
If Solids (type 186) and Shells (type 514) / B-REP mode is selected, solids will be exported as manifold solid B-Rep object, shells as shell.
|Skip blank entities||If checked, blank entities will not be imported|
|Company||If not empty, the entered text will be used in the IGES file header for the company|
|Author||If not empty, the entered text will be used in the IGES file header for the author|
|Product||If not empty, the entered text will be used in the IGES file header for the product|
For the IFC format you can specify the following:
|Show debug messages||Shows verbose debug messages during import and export of IFC files in the Report view panel|
|Create clones when objects have shared geometry||IFC objects can share a same geometry definition between several objects, only their placement is different. So when this option is enabled, clones are used to achieve the same result in FreeCAD. One object is the base object, the others are clones.|
|Import arch IFC objects as||What will be created in FreeCAD for arch IFC objects|
|Import struct IFC objects as||What will be created in FreeCAD for struct IFC objects|
|Root element||Only subtypes of the specified element will be imported. Keep the predefied element IfcProduct to import all building elements.|
|Separate openings||If checked, openings will be imported as subtractions, otherwise wall shapes will already have their openings subtracted|
|Detect extrusions||If checked, the importer will try to detect extrusions. Note that this might slow things down.|
|Split multilayer walls||Split walls made of multiple layers|
|Prefix names with ID number||If checked, object names will be prefixed with the IFC ID number|
|Merge materials with same name||If several materials with the same name are found in the IFC file, they will be treated as one.|
|Import Ifc Properties in spreadsheet||If checked, each object will have their IFC properties stored in a spreadsheet object.|
|Exclude list||A comma-separated list of IFC entities to be excluded from imports|
|Fit view while importing||Fit view during import on the imported objects. This will slow down the import, but one can watch the import.|
|Force export as Brep||Some IFC viewers don't like objects exported as extrusions. Use this to force all objects to be exported as BREP geometry.|
|Use DAE triangulation options||Use triangulation options set in the DAE options page|
|Join coplanar facets when triangulating||Curved shapes that cannot be represented as curves in IFC are decomposed into flat facets. If this is checked, some additional calculation is done to join coplanar facets.|
|Store IFC universal ID in FreeCAD objects||When exporting objects without universal ID (UID), the generated UID will be stored inside the FreeCAD object for reuse next time that object is exported. This leads to smaller differences between file versions.|
|Use IfcOpenShell serializer if available||IFCOpenShell is a library that allows to import IFC files. Its serializer functionality allows to give it an OCC shape and it will produce an adequate IFC geometry: NURBS, faceted, or anything else. Note that the serializer this is still an experimental feature.|
|Export 2D objects as IfcAnnotations||If checked, 2D objects will be exported as IfcAnnotation|
|Export full FreeCAD parametric model||If checked, all FreeCAD object properties will be stored inside the exported objects, allowing to recreate a full parametric model on reimport.|
|Reuse similar entities||If checked, similar entities will be used only once in the file if possible. This can reduce the file size a lot, but will make it less easily readable by humans.|
|Disable IfcRectangleProfileDef||When possible, IFC objects that are extruded rectangles are exported as IfcRectangleProfileDef. However, some other applications have problems importing that entity. If this is your case, you can disable this and then all profiles will be exported as IfcArbitraryClosedProfileDef.|
The tab Abaqus INP is only shown in the preferences if you are or if you have been in the FEM workbench before.
For the INP format you can specify the following:
|Which mesh elements to export|| Selection what mesh element parameters should be exported.|
If All is selected, all elements will be exported.
If Highest is selected, only the highest elements will be exported. This means for means volumes for a volume mesh and faces for a shell mesh.
If FEM is selected, only FEM elements will be exported. This means only edges not belonging to faces and faces not belonging to volumes.
|Export group data||If checked, mesh groups are exported too. Every constraint and, if there are different materials, material consists of two mesh groups, faces and nodes where the constraint or material is applied.|
Meshes are a special type of 3D object, composed of triangular faces connected by their vertices and edges. They are widely used for additive manufacturing. The FreeCAD provides the Mesh workbench to create and handle meshes. FreeCAD supports the file formats AMF and its predecessor STL, OBJ, OFF, PLY and SMF.
The tab Mesh formats is only shown in the preferences if you are in the Mesh workbench or if you have been in this workbench before.
For the Mesh formats you can specify the following:
|Maximum mesh deviation||Specification of the maximal deviation between the mesh and the object|
|Export AMF files using compression||If checked, ZIP compression is used when writing a mesh file in AMF format|
The OCA file format is a community project to create a free, simple and open CAD file format. OCA is largely based on the GCAD file format generated by gCAD3D. Both formats can be imported in FreeCAD and the OCA files exported by FreeCAD can be opened in gCAD3D.
For the OCA format you can specify the following:
|Import OCA areas||If checked, the areas (3D faces) will be imported too|
The standard for the exchange of product model data (STEP) file format is an ISO standard for the computer-interpretable representation and exchange of product manufacturing information. STEP is therefore commonly used to exchange 3D data between CAD software. STEP files have the suffix .step or sometimes .stp.
|Units for export of STEP||Selection what unit will be used when exporting STEP files|
|Write out curves in parametric space of surface||If checked, parametric curves (curves in parametric space of surface) will be written into the STEP file. Unchecking the option can be helpful to minimize the size of the resulting STEP file.|
|Scheme|| Selection what STEP application protocol (AP) will be used for the export.|
AP 203 is the protocol for configuration controlled 3D designs of mechanical parts and assemblies.
AP 204 is the protocol for core data for automotive mechanical design processes.
|Enable STEP Compound merge||If checked, a compound merge will be done during file reading. This is slower but results in higher details.|
|Company||If not empty, the entered text will be used in the STEP file header for the company|
|Author||If not empty, the entered text will be used in the STEP file header for the author|
|Product||If not empty, the entered text will be used in the STEP file header for the product|
Scalable Vector Graphics (SVG) is a vector image format for two-dimensional graphics. The vectors make SVG are very useful for technical drawing programs like FreeCAD's TechDraw because a vector image can be scaled to any size without losing its shape or amount of details. SVG can be scaled to any required resolution and converted to bitmap formats like PNG or JPEG for printing.
For the SVG format you can specify the following:
|Import style|| Selection how SVG object colors and line widths will be imported.|
If None (fastest) is selected no color and line width settings will be imported.
If Use default color and linewidth is selected FreeCAD will use its default color and line width.
If Original color and linewidth is selected FreeCAD will use the color and linewidth from the SVG objects.
|Disable units scaling||If checked, no units conversion will occur. One unit in the SVG file will translate as one millimeter.|
|Export style|| Selection how Sketches are exported to SVG.|
If Translated (for print & display) is selected, SVG objects are encapsulated in a group that is scaled and moved to the correct place in the SVG document to fit into a printable area.
If Raw (for CAM) is selected, SVG objects are placed as they are - at the same coordinates as in the FreeCAD model (1:1 export).
|Translate white line color to black||If checked, all white lines will appear in black in the SVG for better readability against white backgrounds|
|Max segment length for discretized arcs||Older versions of Open CASCADE than version 6.8 don't support arc projection. In this case arcs will be discretized into small line segments. This value is the maximum segment length.|
The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK files are used by the FEM workbench for the post processing of simulation results.
The tab VTK is only shown in the preferences if you are or if you have been in the FEM workbench before.
For the VTK format you can specify the following:
|Which object to import into|| Selection what objects should be imported.|
If VTK result object is selected, a FreeCAD FEM VTK result object will be imported (equals to the object which was exported).
If FEM mesh object is selected, the results in the VTK file will be omitted, only the mesh data will be imported and a FreeCAD FEM mesh object will be created.
If FreeCAD result object is selected, the imported data will be converted into a FreeCAD FEM Result object. Note: this setting needs the exact result component names and thus it only works properly with VTK files exported from FreeCAD.
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)