Release notes 0.20
Are features missing? Mention them in the Release notes for v0.20 forum thread.
See Help FreeCAD for ways to contribute to FreeCAD.
FreeCAD 0.20 was released on DD Month 202x, get it from the Download page. This is a summary of the most interesting changes. The complete list of changes can be found in the MantisBT bugtracker FC 0.20 changelog.
Older FreeCAD release notes can be found in Feature list.
Highlights
General
Python 3 and Qt5
Some issues
Development
To compile FreeCAD under Windows, there are different Libpacks (prepackaged libraries) available:
- Libpack for Windows with Qt xx, OCC yy, and Python zz
Lowest supported Python version is 3.6.9 according to https://forum.freecadweb.org/viewtopic.php?f=10&t=62701
Supported Operating Systems:
- Windows 7, 8 and 10
- Linux Ubuntu Bionic Beaver (18.04) and Focal Fossa (20.04)
- MacOS minimum version 10.12 Sierra
Other development news:
Documentation
Known limitations
User interface
The navigation cube was reworked to enable these new features:
|
Tooltips now display the command name in the title, making it easier for new users to look for help. At the end of the tooltip the "internal" command name is added in parentheses: (Std_WhatsThis). This is also the name of the page that documents the command in the Wiki. Forum discussion, Pull request #4978 . |
The new Std UserEditMode command allows the user to choose an edit mode that will be used when an object is double-clicked in the Tree view. Click the image at the left so see an animation of the selection. If a selected edit mode is not applicable, the object's default edit mode is used instead. Pull request #5110. |
The Tree view context menu has the new entry Add dependent objects to selection. Forum discussion, Pull request #4133. In the image the Hole001 object was selected by the user and then |
Further user interface improvements
- Two new mouse navigation styles have been added. One based on OpenSCAD, the other on TinkerCAD. Forum discussion OpenSCAD, Forum discussion TinkerCAD, commit 1, commit 2, commit 3.
- It is now possible to pan the view of the dependency graph with the mouse. Forum discussion, Pull request #4638.
- Fixed an issue where using a tablet pen devices (e.g. Wacom tablet) was slow to the point of being completely unusable. Forum discussion, Pull request #4687.
- The coordinate system in the 3D view can be resized in the preferences in the section Display → 3D View. Pull request #5182
- A new setting in Preferences → General allows to substitute the numerical keypad decimal separator with the appropriate locale separator if they are different. Pull request #3256 Pull request #5150 Pull request 5203
Core system, App, Base, and Gui namespaces
- A new type of add-on called a Preference Pack was added, allowing a subset of a user preferences (user.cfg) file to be distributed and applied. Forum discussion, Pull request #4787
Addon Manager
Arch Workbench
Draft Workbench
- A Global checkbox was added to the task panel of many drafting commands. Checking it allows input of coordinates in the global coordinate system even if the working plane is not aligned with the global XY plane.
- The Draft Hatch command was introduced. It creates hatches on the faces of a selected object using patterns from AutoCAD PAT files.
- The Draft AddNamedGroup command was introduced. The Draft AddToGroup command was extended with the same functionality.
- Work on the Draft SetStyle command, still in progress in FreeCAD version 0.19, was completed.
- A double-click edit option was added for Draft Texts. It opens the same edit task panel used when creating a text.
- For Draft Dimensions the
arch
ViewUnit Override for imperial architectural dimensions was introduced.
- Draft Shape2DView objects now have an DataAuto Update property. Setting it to
false
can be useful if there are many Draft Shape2DViews in a document or if they are complex.
- It is now possible to reverse a Draft Wire via the Draft Edit context menu. Forum discussion, Pull request #4811.
Further Draft improvements
- Fixed Draft Snap Grid when the cursor is over a face. Forum discussion. Git commit.
- New Draft Texts are now aligned with the working plane, Pull request #5092.
- Support for two DWG converters was added: LibreDWG and QCAD pro. See Import Export Preferences and FreeCAD and DWG Import for more information.
FEM Workbench
Effect of Mesh Size From Curvature; left: set to 12, right: deactivated |
There is a new property for the Gmsh mesher. The number of mesh elements per times the radius of the curvature can be specified. The default is 12 and to get a finer mesh at small corners or holes, this value can be increased for better results. This feature requires Gmsh 4.8 or newer. |
Effect of the rcombination algorithm; left: using Simple, right: using Simple full-quad |
FreeCAD allows now to select an algorithm as well as 3D mesh recombination for the Gmsh mesher. For more details about the mesh element recombination see FEM MeshGmshFromShape. |
Further FEM improvements
- A new solver was added: Solve → Solver Mystran. Multiple commits.
- A new constraint was added: Model → Geometrical Constraints → Constraint Spring. Pull request #4982
- The element order of Gmsh meshes can be changed via the mesh dialog. Pull request #4660
- Material cards can now contain values for the electrical conductivity. Pull request #4647
- Material cards added for Nitrogen and Argon. Pull request #4649
- Support for the Gmsh mesh algorithms "HXT" (3D) and "Packing Parallelograms" (2D) added. Pull request #4654
- Allow to set for the Gmsh property High Order Optimize a certain algorithm. Pull request #4705
- Nonlinear solid materials with simple hardening can now have an arbitrary number of yield points. Pull request #5024
Import
Material handling
Mesh
Improved support for NASTRAN GRID elements
The Mesh import tool now supports the high-precision "GRID*" element. The standard-precision "GRID" element was also improved, now supporting both space-delimited numeric input as well as fixed-field-width input, per the NASTRAN95 format documentation.
Further Mesh improvements
Fixed false negatives during self-intersection tests when facets are coplanar: Pull request #5002.
OpenSCAD Workbench
Interoperability with OpenSCAD has been improved, adding support for several operations missing from earlier versions (linear extrude with rotations, rotational extrusions). Several operations are modified to provide improved FreeCAD object equivalents, particularly for twisted extrusions. Surface generation from discrete data was modified to give more OpenSCAD-like results, rather than splined surfaces.
Add OpenSCAD element - now has additional options
Load - load a scad file Save - save a scad file Refresh - Update FreeCAD view Clear - Clear text input
There is also a text box for feedback of OpenSCAD errors.
Part Workbench
Further Part improvements
- The dialog to edit Cylinders allows now to specify an angle in respect to the normal of the chosen attachment plane. This way one can create skew cylinders. Pull request #4708
PartDesign Workbench
Pocketing along different directions. Click on the image to show the animation. |
It is now possible to specify the direction for the pocket extrusion. |
Padding along an edge from the model. Click on the image to show the animation. |
There is a new option to pad along the direction of an edge in the 3D model. |
Effect of the new option Length along sketch normal. Click on the image to show the animation. |
There is a new option to pad a certain length along the direction. The length is either measured along the sketch normal or along the custom direction. |
The dialog to edit Cylinder (additive and subtractive) allows now to specify an angle in respect to the normal of the chosen attachment plane. This way one can create skew cylinders. | |
When Distance and Angle is specified in the Chamfer tool and faces are selected, the distance will be applied along the selected faces. Likewise if two distances are specified then Size 1 will be applied along the selected face.
This behaviour can be swapped to the other face using the flip direction button. Forum discussion, Pull request #5039 | |
It is now possible to create an Additive Loft, Subtractive Loft, Additive Pipe or Subtractive Pipe towards or from a Vertex of either a sketch or a body. This allows for example to create pyramids.
Pull request #5170 (for lofts), Pull request #5193 (for pipes) | |
The Helix feature has the new mode Height-Turns-Growth to create flat spirals. |
Further PartDesign improvements
- In the Helix feature one can now also use the sketch normal as axis. Pull request #5199
- The Sprocket feature can now create also ISO-normed sprockets. Forum thread Pull request #4478
- The Loft and Pipe features now allow using the body's faces for sections. Pull request #5155
- It is now possible to select several faces before calling the Pad or Pocket dialog. In this case the first selected face will be used to determine the default padding/pocketing direction. commit d34a5616
- In the PartDesign Chamfer and PartDesign Fillet dialogs you can now add all the edges via the context menu while in Add mode after pressing the Add button.
Path Workbench
Render Workbench
Sketcher Workbench
New Split function to split existing lines or arcs. | |
New Rounded rectangle tool to create rectangles with rounded corners. | |
New Centered rectangle tool to define rectangles via a center point. | |
New Radiam function to automatically assign weight on B-spline pole, diameter on complete circle, or radius on arc. Support multi-selection as diameter/radius tools. | |
New Remove Axes Alignment constraint tool to remove axes alignment while trying to preserve the constraint relationship of the selection. | |
Sketcher CreateSlot can be constrained horizontally or vertically either by snapping it manually with the Ctrl key, or by using the Auto constraints option of Sketcher. |
Further Sketcher improvements
- Refactored Trim support. Pull Request Forum discussion <-- Needs screencasts
- The behavior of the Slot tool has changed. Slots can now be created by defining the center of both semicircles. Pull request Forum discussion
- Visibility automation allows to open Sketcher in Section mode when entering edit mode. Pull request Forum discussion
- Visibility automation allows to force camera in Orthographic mode when entering edit mode. Pull request Forum discussion
- Option to display the dimensional constraint name and use a custom format for it. Pull request Forum discussion
- When sketching a 3-point arc with Autoconstraint enabled, tangent constraint is proposed for all 3 points when hovering a line/curve. Pull request Forum discussion
- Radius/diameter constraints are displayed using an angular rotation to ease visualization. Angle and optional randomness are user settable through parameters documented in Fine-tuning Pull request Forum discussion
- It is now possible to fix the angle of the direction when using the Rectangular array tool. commit Forum discussion
- It is now possible to fix the angle of the direction when using the tools Clone, Copy and Move. commit Forum discussion
Spreadsheet Workbench
The workbench now has Preferences. They are used by the Spreadsheet Import and Spreadsheet Export commands. |
- It is now possible to select in the row/column context-menu at what positions new rows/columns will be inserted. Pull request #4704.
Further Spreadsheet improvements
- Import XLSX (used by Std Import): Added support for floor and ceil functions. Pull request #5015.
- Cell binding: instruct a set of cells to display the contents of another set of cells. Part of Pull request #2862.
- Improved navigation using the Tab and Enter keys.
- Improved interface for cutting and pasting blocks of cells.
Start Workbench
Surface Workbench
TechDraw Workbench
Several new tools, so-called Extensions, are now available. They offer new cosmetic features to enhance drawings: |
Further TechDraw improvements
- When there are several Pages and a View, ProjectionGroup etc. is added, there is now a dialog to ask to what page the view should be added. Pull request #5309.
Web
External workbenches
Note: these are the new workbenches created in this development cycle, or older workbenches that received updates. See external workbenches for more workbenches that can be installed, and which cover a wide variety of topics. If you want to see your workbench added, join the forum and present your code.
3D Printing Tools
A2plus
Assembly3
Assembly4
ArchTextures
BOLTSFC
CurvedShapes Workbench
Dodo (formerly Flamingo)
Fasteners
FCGear
The FCGear Workbench received a couple of improvements
- For involute gears, the outside (aka tip) and root diameter are exposed as properties (details)
- Gear objects are now attachable (details)
- Gear objects can now be used as additive features in PartDesign Bodies (details)
- The creation of gear objects now appears in the undo stack (details)