A Show Plane view property was added to display the plane on which a 2D object is based. Pull request #18910
It is now possible to change the color of the coordinate system axes using the new preferences under Edit → Preferences → Display → 3D View. Pull request #16995
A Show Placement view property was added to display the placement as a coordinate system at the origin of an object. Pull request #19671
New orbit styles Trackball Classic and Rounded Arcball have been added. Rounded Arcball is now the default, offering pure roll camera rotation when the cursor is near the screen edges. Pull request #20535
All MDI windows (including e.g. Spreadsheet and TechDraw) can now be undocked and set to fullscreen using shortcuts (V, U or F11) or View → Document window menu option. Pull request #22544
The default list of workbenches is now shorter as rarely used workbenches are deactivated by default. This includes the Inspection, <none>, OpenSCAD, Robot and Test Framework workbenches. Pull request #23034
Core Datum tools were implemented to create coordinate systems, datum planes, datum lines and datum points which can be attached and also used in Assembly.
Click on the image if the animation does not start.
The Transform tool was overhauled and now allows for precise inputs besides dragging in the 3D view. It is possible to align the interactive dragger to any element in the document and to transform the object in that local (U, V, W) coordinate system of the dragger, or in the global document coordinate system. The dragger can be aligned to the object's origin as before, and also to the center of mass of the object. It has a new feature to move the object (at the location of the dragger) to a target location in the document and flip the orientation. See all new options.
Click on the image if the animation does not start.
Advanced options for axis-specific alignment of the Transform tool'sMove to Other Object command have been added, enabling selective alignment by individual translation and rotation axes. This allows more precise control when matching an object's position and orientation to a target if only selected axis components should be considered.
Click on the image if the animation does not start.
Quick Measure displays more information based on the selected elements in the status bar. Besides length, angle, area and radius it now displays the diameter of closed circular elements and the axis distance. It works for single and multiple selected elements. There is also a menu option to disable it.
If the Attachment Editor is open, the 2D object to be attached displays the origin and orientation (Show Placement property). For sketches, the sketch plane is also displayed (Show Plane property)
Click on the image if the animation does not start.
Clarify Selection tool was added based on Realthunder's Pick Geometry. It can be activated with the G, G keyboard shortcut, the context menu option, or (depending on the selected navigation style) by holding the left mouse button. It enables temporary transparency and shows a list of all nearby geometrical entities of different types (Object, Face, Edge, Vertex, Other) to allow the selection of hidden/interior objects when hovering over a model in 3D view.
The default user data and configuration directory structures have changed to include the FreeCAD version number. This makes upgrading less risky, and enables safe use of older versions of FreeCAD alongside the new version. On startup there is now an option to migrate older configurations into the new versioned structure if a previous version is detected on the system. Pull request #23321
Previews (thumbnails) for more 3D model formats (such as STEP and STL) are now displayed in the Recent Files and Examples sections of the Start page if F3D viewer is installed and added to system PATH. Pull request #19489
The installation path of Python modules in the dependency updater is now shown as an absolute path for better readability. It is also shown correctly according to the FreeCAD installation method. Pull request #19828 and Pull request #19816.
The Addon Manager is itself an addon, and can be updated by navigating to its page in the Addon Manager's addons list.
Addons can now explicitly declare their support for particular FreeCAD versions, and multiple versions and branches are supported for each.
Python dependencies now use a pip-constraints file to ensure conflict-free installation.
NativeIFC support for 2D objects was added to BIM, allowing to embed 2D objects (linework, texts, dimensions) inside IFC files, as well as opening such files from other BIM apps. Pull request #16629
The Schedule dialog gained support for simple arrays (e.g. non-nested). This enables regular and link arrays (both either expanded or not expanded) to be processed for further calculations in the BIM Schedule report. Pull request #19219
The Continue option is now stored separately for each Draft and BIM command. Pull request #20748
When adding BIM views to a TechDraw page, they now adhere to the page's scale, so that they have a sensible size. Pull request #20935
The default zoom level for new BIM projects has been changed to be more adequate to the magnitudes used for architectural models. Pull request #20271
When creating a new Level, selected objects in the tree view are now included in the level. Pull request #20180
Spaces can now be created from a single object (e.g. the interior faces of a wall based on a rectangle base). Pull request #20158
FreeCAD standard groups can now be ignored when a model is exported to IFC. This is controlled by a preference and is the new default. Pull request #21583
An option to preload all IfcTypes during IFC file import/open process has been added. Pull request #21450
The Section Plane command received numerous fixes and usability improvements. Most notably the issue whereby rotating the section plane flipped the cut direction was fixed, and the ability to toggle the CutView from the Task panel was added. Pull request #23826
The CAM Shape experimental tool was replaced by Path from Shape with Tool Controller which is a significantly improved version of that tool based on a macro. Pull request #21108
Adaptive roughing/overhang detection was implemented including intelligent 2.5D projection of the model and stock for all adaptive operations, one-click "adaptive roughing" of the entire model, "Z stock to leave" setting to complement the "finishing stepdown" setting and a checkbox to order cuts by depth or region. Pull request #18880
Objects with two arrows can now have different start and end arrows. The size of an object's start and end arrows can also be different. Pull request #11941
The extrude mode of the Draft Trimex command has been made link-aware. It can now handle faces belonging to Links and objects in linked containers. And the point that defines the extrusion can be co-planar with the face. Pull request #18314 and Pull request #18320
If a Facebinder based on connected faces is extruded, an attempt is made to close its corners. The Sew property of the object must be set to true for this. Note that the code can fail for complex shapes. Pull request #18901
Path arrays have been enhanced with several new properties. It is now possible to reverse the array, specify a fixed spacing unit, and use spacing patterns. Pull request #19017
An in-command shortcut D to recenter the working plane during commands has been added. Pull request #19728
To simplify user input for single axis arrays, a linear mode option has been added to the task panel of the Draft OrthoArray command. Pull request #21602
The Draft AutoGroup and the Draft AddToGroup commands have been improved. The menus of both commands are sorted alphabetically. In the menu of the Draft AutoGroup command layers are separated from groups, and the New layer option prompts for a name and activates the layer. The actions of both commands have been made undoable. Pull request #18172 and Pull request #19312
For clarity the Filled checkbox in the task panel of for example Draft Wire has been relabeled to Make face. Pull request #19738
The texts of newly created dimensions are now oriented automatically relative to the current working plane. A fine-tuning parameter is available to disable this behavior. Pull request #20072
In the Draft Preferences a dropdown to select the font name for texts, dimensions and labels has been introduced. Previously the name had to be entered manually. Pull request #20400
The Continue option is now stored separately for each Draft and BIM command. For the Draft Dimension command the old Continue option has been re-labeled to Chained mode for clarity, and a new Continue option has been added. Pull request #20748
The Draft ShapeString command has seen several improvements. The font file is no longer a preference, instead the last selected file is stored. For the initial value of the font file an attempt is made to get a suitable file from the OS. This is primarily to help users who are not aware of font file locations. The last entered text and height are also stored. A Global option has been added to task panel. By unchecking that checkbox, coordinates can be specified in the working plane coordinate system. Finally, TrueType Collection font files (.ttc) can now also be selected, but only the first font in such a file can be used. Pull request #21004, Pull request #21054 and Pull request #21124
A popup menu was added to enable the selection of a proper solid if the selected face of CompSolid belongs to two solids. This makes it easier to select inner solids e.g. to apply materials to them.
ZRefine property was added to Netgen making it possible to create simple extruded hex-dominated meshes when Quad Dominated property is enabled. However, it works only for first order elements unless the generated elements are all hexahedrons.
Pressure and heat flux loads as well as tie constraint and contact can now be applied to edges in 2D analyses with CalculiX. Similarly, body heat source and centrifugal force loads can be applied to faces of 2D models.
The DataSecond Order Linear property and support for local refinement, previously only available for Gmsh, are now also available for the new Netgen implementation. Pull request #17170
The BucklingAccuracy parameter was added to CalculiX solver - it might be necessary to capture the first eigenvalue in some linear buckling analyses. Pull request #18790
Now all FEM objects for which suppressing makes sense can be suppressed. Previously only constraints were suppressible. Pull request #18636
Contact forces are now printed to ccx_dat_file in CalculiX analyses. Pull request #18840
A CalculiX-related preference named Result object was added. If its checkbox Pipeline only is enabled, a newly refactored CalculiX solver object is added to the Analysis container when using the Solver CalculiX option. It has an updated task panel, doesn't generate CCX_Results objects (only the results pipeline object is created) and will be further developed. Pull request #20609
Support for thermal contact with CalculiX was added via Enable Thermal Contact and Thermal Contact Conductance properties used to specify gap conductance. Pull request #22121
Support for amplitudes (time variation) for most mechanical and thermal boundary conditions and loads with CalculiX was added. There are new properties: Enable Amplitude and Amplitude Values. Pull request #22851
The Glue property was added to the Netgen mesher. When enabled, a continuous mesh is created (this property is equivalent to Gmsh's Coherence Mesh). Pull request #23074
Default Priority of Elmer equations now starts with 255 and decreases with each added equation. This way, the equations are solved in the order they were added to the tree. Pull request #22999
CalculiX's membrane and truss elements are now supported and replace shell and beam elements respectively when the new ExcludeBendingStiffness property of the CalculiX solver is enabled. Pull request #22912 and Pull request #23224
Netgen can now be installed in the standard way mentioned on its download page and it is only necessary to point FreeCAD to the proper Python executable in the preferences (by default the Python executable specified in general Python preferences is used). Pull request #23613
Some preferences related to mesh export now have better defaults. Namely, groups of nodes are enabled for the Gmsh mesher and export to INP files includes FEM elements only and groups by default. Pull request #23553
Properties of the CalculiX solver are now grouped and time incrementation properties are more user-friendly (improved names, better defaults, easy switch between automatic and direct incrementation as well as no need to enable additional property to set non-default incrementation). Pull request #23494
There is a new Pastix Mixed Precision property of the CalculiX solver. It's disabled by default so that mixed precision is not used for the PaStiX matrix solver to avoid issues with incorrect results of some analyses. Pull request #23539
The Elmer solver's object and task panel were reworked similar to what was done before for CalculiX. It now works with the new implementation of Netgen. Moreover, ParaView PVD files can now be imported. Pull request #24912
Three new FEM examples were added - one for the newly implemented electrostatics with the refactored CalculiX solver, one for the newly implemented pressure loads on edges of 2D models and one for the cyclic symmetry introduced in FreeCAD 1.0. Pull request #25117, Pull request #25191 and Pull request #25268
Materials can now be stored in external datastores. This feature is experimental and has to be activated explicitly when compiling the source code. It is not available in the standard FreeCAD builds. Pull request #21047
The Set Tolerance tool was added to allow the creation of parametric copies of the selected objects with all contained tolerances set to at least a certain minimum value. Moreover, the Check geometry tool now includes output about tolerances in the Shape Content tab. Pull request #17214
Click on the image if the animation does not start.
The task panel of the Hole tool was redesigned. The elements that are not relevant are now hidden, leaving only those useful for the current configuration, even if they are read-only. The panel is based on a diagram that provides direct context, and its elements have been placed near their area of effect.
Transparent previews were added for Part Design additive and subtractive features. They can be disabled temporarily using task panel checkboxes or by default in the Preferences. There is also an optional highlight of the sketch used as a profile for Part Design operation.
Click on the image if the animation does not start.
Interactive control draggers were added to Part Design features as a Google Summer of Code project. These allow to manipulate the values of the features by dragging in the 3D view.
The origin feature in a Part Design body makes use of the new core datums. The appearance has been changed and the planes enlarge when creating a new sketch. As the orientation was wrong in older FreeCAD versions, files created with these versions need to be converted on opening. It can break files which reference the datums, and converted or new files created with 1.1 and above will be broken in 1.0 and below. Pull request #18126
The initial angle for tapered threads in the Hole tool is now automatically set to the value from the ISO 7-1 and ASME B1.20.1 standards. Pull request #15744
SwitchToTask, formerly a fine-tuning parameter, can now be accessed from the Preferences Editor. It can be used to enable and disable automatic switching to the task panel when the Part Design Workbench is activated. Pull request #22136
The Pad task panel was improved to have more options for Two sided mode. Pull request #21794
The preference to allow compounds (multiple solids) for Bodies is now enabled by default and not treated as an experimental feature anymore. Pull request #23003
Click on the image if the animation does not start.
Projection tool was added making it possible to create defining external geometry and toggle between defining and construction modes for external geometry.
Intersection tool was added making it possible to create external geometry based on the selected reference geometry and the intersection of the sketch plane.
Click on the image if the animation does not start.
The Make Internals property of sketches is now fully functional. If enabled, it displays faces for closed contours and makes it possible to select them for Part Design operations. The setting is still experimental but allows for a Master Sketch workflow in Part Design.
It is now possible to directly use external geometry as input for tools like offset or transform (array), for both external construction and defining geometry. Pull request #17615
External geometry (projected or intersecting) is now by default real (defining) geometry (which does not need to be traced as in 1.0 and prior). It can be toggled to construction geometry as any other geometry Pull request #17736
The Sketcher axes are now displayed with infinite length. Pull request #17312
Group dragging was added, making it possible to drag all the selected geometrical entities. Pull request #18273
There is a new preference that, if checked, makes external geometry creation independent of the current construction mode - it is always created as reference geometry in such a case. Pull request #18697
When selecting a constraint or a geometry element within the sketch, the corresponding Tasks panel list is now automatically scrolled to that object. Pull request #18859 and Pull request #20866
Sketches are now automatically scaled after entering the first dimension to avoid breaking the shape when the first dimension is much larger/smaller than the current size of the geometry. Pull request #21084
When creating geometry the mouse movement is ignored if a value is entered in the on-view-parameters (OVP). Tab cycles between OVP input boxes and Enter now confirms. Deleting the value of an OVP input box enables mouse movement for the dimension again. Pull request #20925
Rendering of geometry lines is now prioritized over constraints so that dimensions lines don't cover the geometry. Pull request #21982
Now all parts of dimension constraints can be selected, not only labels. Pull request #21920
It is now possible to use the Ctrl+A shortcut (or Select All option in the Edit menu) to select all geometries within the sketch. Pull request #23289
Box selection from left to right now uses another color than from right to left to indicate different behavior. Pull request #23261
New r format specifier was added. It rounds the dimension value to the step specified as decimal before r. For example, %0.5r (or just %.5r) rounds to 0.5. Pull request #19393
Snapping of detail view highlights to the closest vertex in the TaskDialog drag highlight process was added. Pull request #22036
The DXF importer was significantly redesigned at the implementation and user level for a more predictable and consistent user experience. Pull Request #22251
The DXF importer gained improved support for BLOCK and INSERT DXF entities. Pull Request #22045
The DXF importer now reports import stats after an import. Pull Request #21985
The alignment of sketches in SVG export and legacy DXF export has been fixed. Pull request #19765