Release notes 0.21/en: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{VeryImportantMessage|FreeCAD 0.21 is under development, there is no expected released date yet.}}

{{Message|
Are features missing? Mention them in the [https://forum.freecadweb.org/viewtopic.php?f&#61;10&t&#61;69438 Release notes for v0.21] forum thread.

See [[Help_FreeCAD|Help FreeCAD]] for ways to contribute to FreeCAD.
}}
{{Message|All images on this page must use the {{FileName|_relnotes_0.21}} suffix}}


{{TOCright}}
{{TOCright}}


'''FreeCAD 0.21''' was released on '''DD MM 2023''', get it from the [[Download|Download]] page. This page lists all new features and changes.
'''FreeCAD 0.21''' was released on '''2 August 2023''', get it from the [[Download|Download]] page. This page lists all new features and changes.


Older FreeCAD release notes can be found in the [[Feature_list#Release_notes|Feature list]].
Older FreeCAD release notes can be found in the [[Feature_list#Release_notes|Feature list]].


[[File:FreeCAD_relnotes_0.21.png|720px|thumb|center]]
Placeholder for an eye-catching image selected by the admins from the [https://forum.freecadweb.org/viewforum.php?f=24 user showcases forum].


== General ==
== General ==

* The default backup file naming scheme is now {{FileName|FCBak}}. The older format ({{FileName|FCStd#}}) is deprecated and will be removed in a future version. Users with the old scheme enabled will be warned on startup. [https://github.com/FreeCAD/FreeCAD/pull/9668 Pull request #9668]


== User interface ==
== User interface ==


{|cellpadding=5
{|cellpadding=5
| [[File:Navi_Cube_relnotes_0.21.gif]]
| [[File:Navi_Cube_relnotes_0.21.png]]
| The [[Navigation_Cube|Navigation Cube]] has been updated. The cube is no longer shown in perspective if the [[3D_view|3D view]] is in orthographic view mode. Corner faces have been made hexagonal and larger so that they are easier to click. Borders have been added around the buttons. Default font selection and sizing has been improved. The Mini-cube menu now includes a checkbox to toggle the movability of the cube. Several new parameters have been added, see the [[Navigation_Cube|Navigation Cube]] page for more information.</br>[https://github.com/FreeCAD/FreeCAD/pull/7876 Pull request #7876], [https://github.com/FreeCAD/FreeCAD/pull/8266 Pull request #8266], [https://github.com/FreeCAD/FreeCAD/pull/8646 Pull request #8646] and [https://github.com/FreeCAD/FreeCAD/pull/9356 Pull request #9356].
| The navigation cube corner faces are now hexagonal and bigger, making them easier to click.
The font, font size and button color (the arrows around the cube) can now also be changed in the [[Preferences_Editor#Navigation|preferences]].</br>
[https://github.com/FreeCAD/FreeCAD/pull/7876 Pull request #7876], [https://github.com/FreeCAD/FreeCAD/pull/8266 Pull request #8266] and [https://github.com/FreeCAD/FreeCAD/pull/8646 Pull request #8646].
|}
|}


Line 109: Line 100:


== Addon Manager ==
== Addon Manager ==

* Added basic Python package management for updating and removing automatically-installed dependencies.
* Added a "developer mode" to aid in the creation of the metadata file required in each Addon.


== Arch Workbench ==
== Arch Workbench ==
Line 141: Line 135:
* Using Esc to exit a command no longer switches off continue mode. [https://github.com/FreeCAD/FreeCAD/pull/7611 Pull request #7611]
* Using Esc to exit a command no longer switches off continue mode. [https://github.com/FreeCAD/FreeCAD/pull/7611 Pull request #7611]
* The [[Draft_Snap|Draft Snap]] toolbar was changed to a standard toolbar. Keyboard shortcuts can now be assigned to snaps. But using them during a command only works if none of the input boxes in the task panel has the focus as they 'catch' the so-called in-command shortcuts. [https://github.com/FreeCAD/FreeCAD/pull/7656 Pull request #7656]
* The [[Draft_Snap|Draft Snap]] toolbar was changed to a standard toolbar. Keyboard shortcuts can now be assigned to snaps. But using them during a command only works if none of the input boxes in the task panel has the focus as they 'catch' the so-called in-command shortcuts. [https://github.com/FreeCAD/FreeCAD/pull/7656 Pull request #7656]
* Several [[Draft_AnnotationStyleEditor|Draft AnnotationStyleEditor]] bugs have been fixed and a separate Text color button has been added. [https://github.com/FreeCAD/FreeCAD/pull/8207 Pull request #8207]
* Several [[Draft_AnnotationStyleEditor|Draft AnnotationStyleEditor]] bugs have been fixed. The {{MenuCommand|Text color}} and {{MenuCommand|Text spacing}} parameters have been added. [https://github.com/FreeCAD/FreeCAD/pull/8207 Pull request #8207] and [https://github.com/FreeCAD/FreeCAD/pull/9702 Pull request #9702]
* Start and End Offset properties have been added to [[Draft_PathArray|Draft PathArray]] objects. [https://github.com/FreeCAD/FreeCAD/pull/8295 Pull request #8295]
* Start and End Offset properties have been added to [[Draft_PathArray|Draft PathArray]] objects. [https://github.com/FreeCAD/FreeCAD/pull/8295 Pull request #8295]
* A Count property has been added to the arrays that lacked this property: the non-Link versions of [[Draft_OrthoArray|Draft OrthoArray]], [[Draft_PolarArray|Draft PolarArray]] and [[Draft_CircularArray|Draft CircularArray]]. [https://github.com/FreeCAD/FreeCAD/pull/8433 Pull request #8433]
* A Count property has been added to the arrays that lacked this property: the non-Link versions of [[Draft_OrthoArray|Draft OrthoArray]], [[Draft_PolarArray|Draft PolarArray]] and [[Draft_CircularArray|Draft CircularArray]]. [https://github.com/FreeCAD/FreeCAD/pull/8433 Pull request #8433]
* The on/off behavior of the [[Draft_Snap_Grid|grid]] has been fixed. [https://github.com/FreeCAD/FreeCAD/pull/8818 Pull request #8818]
* The on/off behavior of the [[Draft_Snap_Grid|grid]] has been fixed. [https://github.com/FreeCAD/FreeCAD/pull/8818 Pull request #8818]
* The handling of DWG converters has been improved. [https://github.com/FreeCAD/FreeCAD/pull/9444 Pull request #9444]
* The handling of DWG converters has been improved. [https://github.com/FreeCAD/FreeCAD/pull/9444 Pull request #9444] and [https://github.com/FreeCAD/FreeCAD/pull/9830 Pull request #9830]


== FEM Workbench ==
== FEM Workbench ==
Line 186: Line 180:
* The [[Image:FEM_ConstraintCurrentDensity.svg|24px]] [[FEM_ConstraintCurrentDensity|current density constraint]] was added to set current densities for bodies and faces. [https://github.com/FreeCAD/FreeCAD/pull/8348 Pull request #8348]
* The [[Image:FEM_ConstraintCurrentDensity.svg|24px]] [[FEM_ConstraintCurrentDensity|current density constraint]] was added to set current densities for bodies and faces. [https://github.com/FreeCAD/FreeCAD/pull/8348 Pull request #8348]
* The [[Image:FEM_ConstraintMagnetization.svg|24px]] [[FEM_ConstraintMagnetization|magnetization constraint]] was added to set magnetizations for bodies and faces. [https://github.com/FreeCAD/FreeCAD/pull/8393 Pull request #8393]
* The [[Image:FEM_ConstraintMagnetization.svg|24px]] [[FEM_ConstraintMagnetization|magnetization constraint]] was added to set magnetizations for bodies and faces. [https://github.com/FreeCAD/FreeCAD/pull/8393 Pull request #8393]
* The [[Image:FEM_ConstraintFlowVelocity.svg|24px]] [[FEM_ConstraintFlowVelocity|flow velocity constraint]] and [[Image:FEM_ConstraintInitialFlowVelocity.svg|24px]] [[FEM_ConstraintInitialFlowVelocity|initial flow velocity constraint]] were completely rewritten. It is now also possible to specify a velocity via a math formula (to define a velocity profile). [https://github.com/FreeCAD/FreeCAD/pull/8963 Pull request #8963] and [https://github.com/FreeCAD/FreeCAD/pull/8964 Pull request #8964]</br>'''Note:''' This is a breaking change. Analyses with existing flow velocity and initial flow velocity constraints will not work anymore. You have to create new flow velocity constraints in the analysis to make existing analyses work.</br>'''Also note:''' until FreeCAD 0.20.3 the results of the flow solver were wrong (fluid density and viscosity were a factor 1000 too high). Therefore the necessary recreation of the velocity constraint also assures the results will be correct.
* The [[Image:FEM_ConstraintFlowVelocity.svg|24px]] [[FEM_ConstraintFlowVelocity|flow velocity constraint]] and [[Image:FEM_ConstraintInitialFlowVelocity.svg|24px]] [[FEM_ConstraintInitialFlowVelocity|initial flow velocity constraint]] were completely rewritten. It is now also possible to specify a velocity via a math formula (to define a velocity profile). [https://github.com/FreeCAD/FreeCAD/pull/8963 Pull request #8963] and [https://github.com/FreeCAD/FreeCAD/pull/8964 Pull request #8964]</br>'''Note:''' This is a breaking change. Analyses with existing flow velocity and initial flow velocity constraints will not work anymore. You have to create new flow velocity constraints in the analysis to make existing analyses work.</br>'''Also note:''' until FreeCAD 0.21 the results of the flow solver were wrong (fluid density and viscosity were a factor 1000 too high). Therefore the necessary recreation of the velocity constraint also assures the results will be correct.
* It is now possible to define in the [[Image:FEM_ConstraintDisplacement.svg|24px]] [[FEM_ConstraintDisplacement|displacement constraint]] displacements as equations (displacement according to the current solver time).
* It is now possible to define in the [[Image:FEM_ConstraintDisplacement.svg|24px]] [[FEM_ConstraintDisplacement|displacement constraint]] displacements as equations (displacement according to the current solver time).
* The [[Image:FEM_ConstraintBodyHeatSource.svg|24px]] [[FEM_ConstraintBodyHeatSource|body heat source constraint]] has now a task panel and it is possible to set the heat for several bodies or to use several constraints for different bodies in one analysis. [https://github.com/FreeCAD/FreeCAD/pull/7367 Pull request #7367]
* The [[Image:FEM_ConstraintBodyHeatSource.svg|24px]] [[FEM_ConstraintBodyHeatSource|body heat source constraint]] has now a task panel and it is possible to set the heat for several bodies or to use several constraints for different bodies in one analysis. [https://github.com/FreeCAD/FreeCAD/pull/7367 Pull request #7367]
Line 201: Line 195:
* New example files for the following equations are available via the [[FEM_Examples|FEM Examples]]: [[FEM_EquationDeformation|Deformation]], [[FEM_EquationFlow|Flow]], [[FEM_EquationFlux|Flux]], [[FEM_EquationHeat|Heat]], [[FEM_EquationMagnetodynamic|Magnetodynamic]] and [[FEM_EquationMagnetodynamic2D|Magnetodynamic 2D]]. Pull requests [https://github.com/FreeCAD/FreeCAD/pull/8550 #8550], [https://github.com/FreeCAD/FreeCAD/pull/8569 #8569], [https://github.com/FreeCAD/FreeCAD/pull/8579 #8579], [https://github.com/FreeCAD/FreeCAD/pull/8597 #8597], [https://github.com/FreeCAD/FreeCAD/pull/8630 #8630] and [https://github.com/FreeCAD/FreeCAD/pull/9004 #9004].
* New example files for the following equations are available via the [[FEM_Examples|FEM Examples]]: [[FEM_EquationDeformation|Deformation]], [[FEM_EquationFlow|Flow]], [[FEM_EquationFlux|Flux]], [[FEM_EquationHeat|Heat]], [[FEM_EquationMagnetodynamic|Magnetodynamic]] and [[FEM_EquationMagnetodynamic2D|Magnetodynamic 2D]]. Pull requests [https://github.com/FreeCAD/FreeCAD/pull/8550 #8550], [https://github.com/FreeCAD/FreeCAD/pull/8569 #8569], [https://github.com/FreeCAD/FreeCAD/pull/8579 #8579], [https://github.com/FreeCAD/FreeCAD/pull/8597 #8597], [https://github.com/FreeCAD/FreeCAD/pull/8630 #8630] and [https://github.com/FreeCAD/FreeCAD/pull/9004 #9004].
* New material card for carbon dioxide and a titanium alloy. [https://github.com/FreeCAD/FreeCAD/pull/8332 Pull request #8332] and [https://github.com/FreeCAD/FreeCAD/pull/8636 Pull request #8636]
* New material card for carbon dioxide and a titanium alloy. [https://github.com/FreeCAD/FreeCAD/pull/8332 Pull request #8332] and [https://github.com/FreeCAD/FreeCAD/pull/8636 Pull request #8636]

== Export ==


== Mesh ==
== Mesh ==

=== Further Mesh improvements ===


* Support to add transparencies to a mesh. [https://forum.freecadweb.org/viewtopic.php?f=22&t=72531 Forum thread] and [https://github.com/FreeCAD/FreeCAD/commit/f88305e Commit f88305e]
* Support to add transparencies to a mesh. [https://forum.freecadweb.org/viewtopic.php?f=22&t=72531 Forum thread] and [https://github.com/FreeCAD/FreeCAD/commit/f88305e Commit f88305e]

== OpenSCAD Workbench ==


== Part Workbench ==
== Part Workbench ==

=== Further Part improvements ===


* The [[Part_PointsFromMesh|Part PointsFromMesh]] command has been extended to accept any geometric object as input. [https://github.com/FreeCAD/FreeCAD/pull/8730 Pull request #8730]
* The [[Part_PointsFromMesh|Part PointsFromMesh]] command has been extended to accept any geometric object as input. [https://github.com/FreeCAD/FreeCAD/pull/8730 Pull request #8730]
Line 224: Line 210:
| The [[PartDesign_Hole|Hole]] dialog supports the screw head type ''Counterdrill''.
| The [[PartDesign_Hole|Hole]] dialog supports the screw head type ''Counterdrill''.
[https://github.com/FreeCAD/FreeCAD/pull/7562 Pull request #7562]
[https://github.com/FreeCAD/FreeCAD/pull/7562 Pull request #7562]
|-
|}

{| cellpadding=5
| [[Image:PartDesign_task_dialog_relnotes_0.21.png|384px]]
| The UX on multiple PartDesign task dialogs for selecting geometries has been improved, now no longer requiring the use of separate buttons for adding or removing geometries to the selection. [https://github.com/FreeCAD/FreeCAD/pull/8990 Pull request #8990]
|-
|-
|}
|}
Line 235: Line 227:
* The [[PartDesign_InvoluteGear|involute gear profile]] has new properties to change the tooth length. This now allows adjustments for certain types of interferences and to use the profile to create [https://en.wikipedia.org/wiki/Spline_(mechanical) involute splines] too. [https://github.com/FreeCAD/FreeCAD/pull/8184 Pull request #8184]
* The [[PartDesign_InvoluteGear|involute gear profile]] has new properties to change the tooth length. This now allows adjustments for certain types of interferences and to use the profile to create [https://en.wikipedia.org/wiki/Spline_(mechanical) involute splines] too. [https://github.com/FreeCAD/FreeCAD/pull/8184 Pull request #8184]
* The [[PartDesign_InvoluteGear|involute gear profile]] now offers profile shifting. [https://github.com/FreeCAD/FreeCAD/issues/5618 Issue #5618] and [https://github.com/FreeCAD/FreeCAD/pull/8934 Pull request #8934]
* The [[PartDesign_InvoluteGear|involute gear profile]] now offers profile shifting. [https://github.com/FreeCAD/FreeCAD/issues/5618 Issue #5618] and [https://github.com/FreeCAD/FreeCAD/pull/8934 Pull request #8934]
* When creating a [[PartDesign_Clone|Clone]] it will now inherit the colors of the cloned object. [https://github.com/FreeCAD/FreeCAD/pull/9547 Pull request #9547]


== Path Workbench ==
== Path Workbench ==
Line 243: Line 236:


* Implemented Chipbreaking option for peck style drill cycles. Chipbreaking emits a G73 cycle which causes the control to make a very small retraction move to break the chip without fully retracting the bit from the hole. G73 is supported natively by LinuxCNC. Some other postprocessors will have to interpret the G73 and emit control appropriate codes or decompose the retraction into G1/G0 moves. Postprocessor support for G73 decomposition has been added to the "refactored" postprocessors.[https://github.com/FreeCAD/FreeCAD/pull/7469 Pull request #7469]
* Implemented Chipbreaking option for peck style drill cycles. Chipbreaking emits a G73 cycle which causes the control to make a very small retraction move to break the chip without fully retracting the bit from the hole. G73 is supported natively by LinuxCNC. Some other postprocessors will have to interpret the G73 and emit control appropriate codes or decompose the retraction into G1/G0 moves. Postprocessor support for G73 decomposition has been added to the "refactored" postprocessors.[https://github.com/FreeCAD/FreeCAD/pull/7469 Pull request #7469]

== Plot module ==


== Sketcher Workbench ==
== Sketcher Workbench ==
Line 366: Line 357:
* The Constrain internal alignment tool has been removed. It was obsolete since the introduction of the [[Sketcher_RestoreInternalAlignmentGeometry|Show/hide internal geometry tool]]. [https://github.com/FreeCAD/FreeCAD/pull/8863 Pull request #8863]
* The Constrain internal alignment tool has been removed. It was obsolete since the introduction of the [[Sketcher_RestoreInternalAlignmentGeometry|Show/hide internal geometry tool]]. [https://github.com/FreeCAD/FreeCAD/pull/8863 Pull request #8863]
* The Sketcher 'Solver Message' taskbox has been simplified. The auto-remove-redundant checkbox has been moved to the Constraint taskbox setting button menu. The auto-update checkbox has been moved to the menu of the update button. [https://github.com/FreeCAD/FreeCAD/pull/8864 Pull request #8864]
* The Sketcher 'Solver Message' taskbox has been simplified. The auto-remove-redundant checkbox has been moved to the Constraint taskbox setting button menu. The auto-update checkbox has been moved to the menu of the update button. [https://github.com/FreeCAD/FreeCAD/pull/8864 Pull request #8864]

== Spreadsheet Workbench ==

=== Further Spreadsheet improvements ===


== Surface Workbench ==
== Surface Workbench ==
Line 417: Line 404:
* The [[TechDraw_DimensionRepair|DimensionRepair]] tool was added. [https://github.com/FreeCAD/FreeCAD/pull/8141 Pull request #8141]
* The [[TechDraw_DimensionRepair|DimensionRepair]] tool was added. [https://github.com/FreeCAD/FreeCAD/pull/8141 Pull request #8141]
* A function to remove overlapping edges returned by the hidden line removal algorithm was added, including a new setting (in advanced preferences) for the number of passes of this function. [https://github.com/FreeCAD/FreeCAD/pull/9280 Pull request #9280]
* A function to remove overlapping edges returned by the hidden line removal algorithm was added, including a new setting (in advanced preferences) for the number of passes of this function. [https://github.com/FreeCAD/FreeCAD/pull/9280 Pull request #9280]

== Web ==

== External workbenches ==

=== A2plus ===

=== Assembly3 ===

=== Assembly4 ===

=== FCGear ===

=== Ship ===


== Compilation ==
== Compilation ==
Line 459: Line 432:


If the [[Start_Workbench|Start Workbench]] shows only a blank page, you must enable the option '''Use software OpenGL''' in the menu {{MenuCommand|FreeCAD-0.21 → Preferences → Display}}.
If the [[Start_Workbench|Start Workbench]] shows only a blank page, you must enable the option '''Use software OpenGL''' in the menu {{MenuCommand|FreeCAD-0.21 → Preferences → Display}}.

==Other Resources==

* [https://www.youtube.com/watch?v=rPxr0yvNgxo Mango Jelly Video about 0.21 Features]





Latest revision as of 10:53, 6 August 2023

FreeCAD 0.21 was released on 2 August 2023, get it from the Download page. This page lists all new features and changes.

Older FreeCAD release notes can be found in the Feature list.

General

  • The default backup file naming scheme is now FCBak. The older format (FCStd#) is deprecated and will be removed in a future version. Users with the old scheme enabled will be warned on startup. Pull request #9668

User interface

The Navigation Cube has been updated. The cube is no longer shown in perspective if the 3D view is in orthographic view mode. Corner faces have been made hexagonal and larger so that they are easier to click. Borders have been added around the buttons. Default font selection and sizing has been improved. The Mini-cube menu now includes a checkbox to toggle the movability of the cube. Several new parameters have been added, see the Navigation Cube page for more information.
Pull request #7876, Pull request #8266, Pull request #8646 and Pull request #9356.

Persistent section cut of intersecting objects.
Click on the image to see the animation.
The Section Cut tool now allows to cut intersecting objects. This is useful for assemblies where intersections of touching objects can sometimes not be avoided due to numerical issues.
Pull request #8252.
The display style of measurement results created using the Part or PartDesign workbench can now be changed in the preferences.

Pull request #7148

The workbench selector can now optionally be put in the menubar instead of the toolbar area.

Pull request #7679


Further user interface improvements

Core system and API

Core

API

New Python API

  • ShapeFix_EdgeConnectPy: Root class for fixing operations. commit 4d4adb93
  • ShapeFix_EdgePy: Fixing invalid edge. commit 4089cbfb
  • ShapeFix_FaceConnectPy: Rebuilds connectivity between faces in shell. commit a0eb2e9d
  • ShapeFix_FacePy: Class for fixing operations on faces. commit b6cd635c
  • ShapeFix_FixSmallFacePy: Class for fixing operations on faces. commit 4c2946c8
  • ShapeFix_FixSmallSolidPy: Fixing solids with small size. commit b70d8d37
  • ShapeFix_FreeBoundsPy: Intended to output free bounds of the shape. commit 1ee1aee1
  • ShapeFix_RootPy: Root class for fixing operations. commit f3e941a3
  • ShapeFix_ShapePy: Class for fixing operations on shapes. commit 87db9dcc
  • ShapeFix_ShapeTolerancePy: Modifies tolerances of sub-shapes (vertices, edges, faces). commit 125d5b63
  • ShapeFix_ShellPy: Root class for fixing operations. commit f3e941a3
  • ShapeFix_SolidPy: Root class for fixing operations. commit 8d568793
  • ShapeFix_SplitCommonVertexPy: Class for fixing operations on shapes. commit 4b44c54c
  • ShapeFix_SplitToolPy: Tool for splitting and cutting edges. commit bbecc3f2
  • ShapeFix_WireframePy: Provides methods for fixing wireframe of shape. commit 6843a461
  • ShapeFix_WirePy: Class for fixing operations on wires. commit 94f6279a
  • ShapeFix_WireVertexPy: Fixing disconnected edges in the wire. commit 8c6ffc99

Removed Python API

Addon Manager

  • Added basic Python package management for updating and removing automatically-installed dependencies.
  • Added a "developer mode" to aid in the creation of the metadata file required in each Addon.

Arch Workbench

Further Arch improvements

Draft Workbench

Further Draft improvements

FEM Workbench


Iso-contours, depicting the y-component of the absolute magnetic
flux density in and around a copper wire that is flown through by
electric current at a frequency of 100 kHz.
For more info about this model, see section 14 of the Elmer Tutorials.
There is the new Contours filter filter that allows to draw iso-lines or iso-contours. Iso-contours are connected mesh nodes that have the same result field value. A typical example are electric field lines.

Pull request #8462


Simulation result (of flowing water being heated) where 8 mesh regions
are visible (one for every CPU core used).
It is now possible to run the solver Elmer using multiple CPU cores. For more info about the caveats, see this forum post

Pull request #7159


Simulation result of the imaginary part of the current density in
a crucible that was heated electrically by a surrounding coil.
This model is available via the FEM Examples.
For more info about this model, see section 16 of the Elmer Tutorials.
The Magnetodynamic 2D equation was added. With this it is possible to perform electromagnetic simulations in 2D.

Pull request #8355


Simulation result of the imaginary part of the magnetic flux density in
and around a copper wire that is flown through by electric current at
a frequency of 100 kHz.
This model is available via the FEM Examples.
For more info about this model, see section 14 of the Elmer Tutorials.
The Magnetodynamic equation was added. With this it is possible to perform electromagnetic simulations.

Pull request #8380


Simulation result of an iron U-wire that is deformed
by pressing the ends of the U together.
For more info about this model, see section 8 of the Elmer Tutorials.
The Deformation equation was added. With this it is possible to perform nonlinear elasticity analyses (deformation).

Pull request #8981

Further FEM improvements

Mesh

Part Workbench

PartDesign Workbench


A counterdrill hole.
The Hole dialog supports the screw head type Counterdrill.

Pull request #7562

The UX on multiple PartDesign task dialogs for selecting geometries has been improved, now no longer requiring the use of separate buttons for adding or removing geometries to the selection. Pull request #8990

Further PartDesign improvements

Path Workbench

  • Camotics integration. If camotics (version 1.2.2 or later) is installed, a new icon will be added to the Path toolbar. Select a Path Job and press the button to open the Camotics dialog. Then drag the slider to generate a simulated solid at any point in the job. You can also launch the full camotics application to run the animated simulaton. This results in a silent post-processing of the job and creation of a camotics project file. Pull request #6637
  • Additional substitution strings for automatic output naming. If output is being split into multiple files, the filenames can automatically substitute the toolcontroller label, Work Coordinate Systems (WCS), or operation label. This is in addition to the other existing substitution strings like date, job name, etc.
  • Implemented Chipbreaking option for peck style drill cycles. Chipbreaking emits a G73 cycle which causes the control to make a very small retraction move to break the chip without fully retracting the bit from the hole. G73 is supported natively by LinuxCNC. Some other postprocessors will have to interpret the G73 and emit control appropriate codes or decompose the retraction into G1/G0 moves. Postprocessor support for G73 decomposition has been added to the "refactored" postprocessors.Pull request #7469

Sketcher Workbench


Dragging of B-spline knots.
Click on the image to see the animation.
B-spline knots can now be dragged around and constrained like any other sketch point.

Pull request #7484


Dragging of a B-spline.
Click on the image if the animation does not start.
Dragging a B-spline now only moves the part between knots.

Pull request #7110


Click on the image to see the animation.
The Join curves tool has been added. It can combine two curves into a single B-spline.

Pull request #6507


Click on the image to see the animation.
Sketches can now be seamlessly edited from the front or back. When working from the back, vertices (and all geometries and constraints) are equally selectable and the section view is switched automatically.

Pull request #7417

The Sketcher grid has been reworked. The Grid tool has been added. Automatic rescalling of grid option has been added.

Pull request #8473

The Sketcher Constraint widget has been reworked to simplify the UI.

Pull request #7566


Click on the image to see the animation.
The Element widget has been reworked to simplify the UI and enable simpler selection of the different parts of each geometry: Edge, start point, end point and mid point.

Pull request #7567

A feature to automatically resize the grid according to the zoom level and other improvements were introduced.

Pull request #8473

Basic visual layers functionality was introduced, for now only 3 hardcoded layers are supported. Expect further improvements down the road.

This PR also removes the "Edit controls" widget from the task panel as all it's contents have been moved to other places or removed. The rendering order options have been moved to the Sketcher edit tools toolbar. Pull request #8716 and Pull request #9590

Circle to circle distance constraint was introduced.

Pull request #8896

Circle to line distance constraint was introduced.

Pull request #9044


Click on the image to see the animation.
Snap Manager, snapping at angle and midpoint snap were added.

Pull request #8387

Coincident constraint can now act as a concentric constraint when selecting 2 or more circles, arcs, ellipses or arcs of ellipses.

Pull request #7703

B-spline by knots tool was added.

Pull request #8530

Periodic B-spline by knots tool was added.

Pull request #8530

Further Sketcher improvements

Surface Workbench

The Blend Curve tool was added.

Pull request #7339

TechDraw Workbench

The SurfaceFinishSymbol tool was added to allow for the creation of surface finish symbols describing roughness, lay and waviness, but also denoting the type of surface treatment. It supports both ISO and ASME styles. As shown in the image, the existing LeaderLine tool can be used to properly refer oriented symbols to the edges of an object.

Pull request #7227

The ComplexSection tool was added to allow for the creation of half, offset and aligned sections.

Pull request #7658

The HoleShaftFit tool was added.

Pull request #8455

The AxoLengthDimension tool was added.

Pull request #8359

Further TechDraw improvements

Compilation

Since this release FreeCAD can only be compiled using Qt 5.x and Python 3.x. The lowest supported Qt version is 5.12, the lowest supported Python version is 3.8.

To compile FreeCAD see the instructions for Windows, Linux and macOS.

The supported operating systems are:

  • Windows 7, 8, 10 and 11
  • Linux Ubuntu Focal Fossa (20.04) and newer
  • macOS: 10.12 Sierra or newer

Known Limitations

32bit Windows

Since FreeCAD 0.19 we no longer officially support 32bit Windows. FreeCAD might work on these systems, but no support is given.

Remote Desktop under Windows

Depending on the OpenGL graphics capabilities of a computer, it might be that one encounters a crash when running FreeCAD via remote desktop. To fix this upgrade your OpenGL driver. Only if this doesn't help:

  • Download this OpenGL library for 64bit Windows and extract it.
  • Rename the DLL file to opengl32sw.dll and copy it to the bin subfolder of FreeCAD's installation folder (overwrite the existing DLL there).

macOS: Start Workbench shows blank page

If the Start Workbench shows only a blank page, you must enable the option Use software OpenGL in the menu FreeCAD-0.21 → Preferences → Display.

Other Resources