Versionshinweise 0.20

This page is a translated version of the page Release notes 0.20 and the translation is 26% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎русский

FreeCAD 0.20 wurde am 14 Jun1 2022 veröffentlicht, es kann von der Download-Seite heruntergeladen werden. Diese Seite listet alle Neuerungen und Änderungen auf.

Ältere FreeCAD-Versionshinweise findet man in der Funktionsliste.

 Modell eines 775 Gleichspannungsmotors von Benutzer "jimmihenry", siehe Users Showcase.Das Modell wurde komplett mit den wöchentlichen development snapshots von FreeCAD 0.20 erstellt. Die Bilder für die animierte Grafik wurden mit dem FreeCAD-Makro Bildschirm Wiki erstellt. Die animierte GIF-Grafik selbst wurde unter Verwendung von GIMP erstellt. Für diese Versionshinweise wurde es mit ezgif zugeschnitten und in seiner Größe angepasst.

Allgemeines

Bug/Issue tracker

Hinweis: Nur Fehlermeldungen, die zuvor im Forum diskutiert wurden, werden berücksichtigt. Fehlermeldungen ohne Diskussion werden geschlossen.

Ein neues Hilfesystem

The help system was rewritten and upgraded to display information directly from our Wiki. The system now relies on the Help Addon. When you first use the Help tool or the What's this? tool you will be asked to install it.

Benutzeroberfläche

 Der Navigationswürfel wurde überarbeitet, um diese neuen Funktionen zu ermöglichen: Es gibt jetzt Kantenflächen, um die Szene in Winkeln von 45° zu betrachten. Die neue Voreinstellungsoption Nächste Drehung erlaubt es, die Szene in der nächstgelegenen sinnvollen Position zu betrachten. Wenn sie ausgeschaltet ist, wird das Anklicken einer Würfelfläche immer an der gleichen Position angezeigt, unabhängig davon, in welchem Würfelzustand du dich befandest, als du die Fläche angeklickt hast. Klicke auf das Bild auf der linken Seite, um zu sehen, was das bedeutet. Versuche die gleiche Klicksequenz wie im Bild ohne die Option Drehen zum nächstgelegenen, um den Unterschied zu erleben. Wenn du auf den Punkt oben rechts im Würfel klickst, kannst du schnell die Rückansicht der aktuellen Szene sehen. Die Größe des Würfels kann über die Einstellungsoption Würfelgröße angepasst werden.
 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 on 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 and then its dependencies were added to the selection via the context menu.
 The new tool Section Cut allows to get non-hollow and also persistent cuts of parts and assemblies.Forum discussion, Pull request #4118.

Kernsystem, Anwendung, Basis und Gui Namensräume

Core

 When using Edit → Copy or Edit → Duplicate selection for an object with dependencies there is a new Use Original Selections button in the object selection dialog. Click this button to copy/duplicate only the objects you originally selected prior to opening the dialog, ignoring dependencies and ignoring any actions you might have taken while the dialog was open, such as checking or unchecking some of the checkboxes. The effect is the same as if you had unchecked all the checkboxes next to the objects you did not originally select and pressed OK. Note: special care should be taken when copying/duplicating TechDraw Pages. It is recommended to also copy/duplicate all children of the Page (Templates, Views, Dimensions, etc.). Otherwise changes to one Page will also impact the other page. For example, deleting a View on one Page also removes it from the other Page, or deleting a page will also remove all its content from the other Page.
 A new type of add-on called a Preference Pack was added, allowing a subset of a user preferences file (user.cfg) to be saved, distributed, and easily applied by other users. Preference Packs can be use to distribute "Themes," for example, by allowing a developer to include both a Qt stylesheet for widgets as well as a set of other colors and styles for items in the user interface that cannot be set using a stylesheet (e.g. text colors in the Python editor or report view, etc.). Anything that can be configured via a user.cfg file can be set using a Preference Pack. Forum discussion
 The "Workbenches" preference panel was modified to support the ability to "autoload" workbenches on FreeCAD startup.

On Linux, the default location of FreeCAD's configuration, data and cache files was changed to follow the XDG Base Directory Specification. Here is a comparison of the old and new locations:

Description Old location New location Defaults to
Configuration files $HOME/.FreeCAD$XDG_CONFIG_HOME/FreeCAD $HOME/.config/FreeCAD Data files$HOME/.FreeCAD $XDG_DATA_HOME/FreeCAD$HOME/.local/share/FreeCAD
Cache files /tmp $XDG_CACHE_HOME/FreeCAD$HOME/.cache/FreeCAD

If you wish to keep using the old locations you may start FreeCAD with the --keep-deprecated-paths option.

API

New Python API

• ChFi2d_AnaFilletAlgoPy: An analytical algorithm for the calculation of fillets. commit f94ab3ec
• ChFi2d_ChamferAPIPy: Algorithm that creates a chamfer between two linear edges. commit 30f8015e7
• Circle2dPy::getCircleCenter: Gets the circle center defined by three points. commit 3dc91fa2
• ComplexGeoDataPy::applyRotation: Applies an additional rotation to the placement. commit 32592de8
• ComplexGeoDataPy::applyTranslation: Applies an additional translation to the placement. commit 32592de8
• ComplexGeoDataPy::countSubElements: Returns the number of elements of a type. commit 32592de8
• ComplexGeoDataPy::getElementTypes: Returns a list of element types. commit 32592de8
• ComplexGeoDataPy::getFaces: Returns a tuple of points and triangles with a given accuracy. commit 32592de8
• ComplexGeoDataPy::getLines: Returns a tuple of points and lines with a given accuracy. commit 32592de8
• ComplexGeoDataPy::getLinesFromSubelement: Returns vertexes and lines from a sub-element. commit 32592de8
• ComplexGeoDataPy::getPoints: Returns a tuple of points and normals with a given accuracy. commit 32592de8
• ComplexGeoDataPy::transformGeometry: Applies a transformation to the underlying geometry. commit 32592de8
• DocumentPy::clearDocument: Clears the whole document. commit 526dc1a0
• DocumentPy::getFileName: For a regular document it returns its file name property. For a temporary document it returns its transient directory. commit 526dc1a0
• DocumentPy::getProgramVersion: Gets the program version that a project file was created with. commit 526dc1a0
• DocumentPy::isClosable: Checks if the document can be closed. commit 526dc1a0
• DocumentPy::isSaved: Checks if the document is saved. commit 526dc1a0
• DocumentPy::isTouched: Checks if any object is in touched state. commit 526dc1a0
• DocumentPy::mustExecute: Checks if any object must be recomputed. commit 526dc1a0
• DocumentPy::purgeTouched: Purges the touched state of all objects. commit 526dc1a0
• DocumentPy::setClosable: Sets a flag that allows or forbids to close a document. commit 526dc1a0
• HLRBRep_AlgoPy: To access Part's hidden line removal (HLR). commit 73a98671
• HLRBRep_PolyAlgoPy: To access Part's poly hidden line removal (HLR). commit ea85cf5e
• HLRToShapePy: To access Part's hidden line removal (HLR). commit 73a98671
• PolyHLRToShapePy: To access Part's poly hidden line removal (HLR). commit ea85cf5e
• PrecisionPy: To access the precision defined by the OpenCascade kernel. commit 20b86e55
• PropertyContainerPy::setDocumentationOfProperty: Sets the documentation string of a dynamic property of this class. commit 8cf3cf33
• PropertyContainerPy::setGroupOfProperty: Set the name of the group of a dynamic property. commit 8cf3cf33
• RotationPy::fromEuler: Sets the Euler angles of a rotation or gets the Euler angles in a given sequence for a rotation. commit 951a0be9
• RotationPy::toEulerAngles: Gets the Euler angles in a given sequence for this rotation.. commit c1454dfb
• UnitsApi::sToNumber: Converts a quantity or float to a string. commit befbd95d
• View3DInventorPy::getCornerCrossSize: Returns current corner axis cross size. commit 9d15df29
• View3DInventorPy::isCornerCrossVisible: Returns current corner axis cross visibility. commit 9d15df29
• View3DInventorPy::projectPointToLine: Projects the given 2d point to a line. commit b6527a70
• View3DInventorPy::setCornerCrossSize: Defines corner axis cross size. commit 9d15df29
• View3DInventorPy::setCornerCrossVisible: Defines corner axis cross visibility. commit 9d15df29

Changed Python API

• MeshObject::trim(base, normal) was changed to MeshPy::trimByPlane(base, normal): Trims the mesh with a given plane. commit 837de28e

Erweiterungsverwalter

 The Addon Manager was modified to support the distribution of Preference Packs, and to display information found in an addon's metadata. The Addon Manager also includes improved support for Addons whose source code is located at several different git hosting locations. Networking support was improved to provide more robust handling of SSL connections and support for proxies requiring authentication. Support was added for automatically adding macro buttons to the toolbar after installing, for disabling Addons without removing them, and for switching which git branch of an Addon is checked out. Finally, the user interface was modified to improve searching and display of different list filters.

Arbeitsbereich Architektur

 SketchArch workbench With the Attach Feature it is now possible to place Windows and Equipment parametrically and intuitively in relation to Walls. To use this feature the experimental external SketchArch Workbench must be installed. Add-on and ReadMe on Github (Not yet available in the Add-on Manager).
 New properties for Arch Structure objects: BasePerpendicularToTool: it creates a copy of the Base (extrusion profile) at the beginning of the Tool (extrusion path) and places it perpendicular to the first edge of the tool. It is the same as attaching the Base with MapMode=NormalToEdge, but it is automatic and allows to reuse the same Base object for multiple Structures. When BasePerpendicularToTool = True, more properties control the placement of the Base relative to the Tool axis. They are shown in the attached image. ToolOffsetFirst and ToolOffsetLast: extend/trim the Structure at the start and end respectively (the real length of the Structure is available in the ComputedLength read-only property). BaseRotation: rotate the Base (the rotation is around the Base's "(0,0)" point which is the center for Arch Profiles, the origin for Sketches and usually the first point for Draft Wires). BaseOffsetX and BaseOffsetY: move the Base (extrusion profile). BaseMirror: mirror the Base (extrusion profile). A new command Create multiple Arch Structure was also added. It uses the first selected object as a Base, and creates Arch Structures objects for every Edge of the other selected objects. Then, the properties of individual Structure objects can be adjusted in the Property editor. This command was added for workflow with a master Sketch (there is risk of topological naming problem unless you create non-parametric copy of the master Sketch or use Realthunder's version). Support for 2D data such as linework, hatches, texts and dimensions is now enabled in IFC import and export, which contributes to making the IFC format more and more suitable for traditional 2D CAD work. A similar effort is being made in BlenderBIM. More 2D workflow improvements are documented in this forum thread.

Arbeitsbereich Entwurf

• 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.
• 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 AnsichtUnit Override for imperial architectural dimensions was introduced.
• Draft Shape2DView objects now have an DatenAuto Update property. Setting it to false can be useful if there are many Draft Shape2DViews in a document or if they are complex.

Arbeitsbereich FEM

 Wirkung von Netzweite von Krümmung; links: auf 12 gesetzt, rechts: deaktiviert Es gibt eine neue Eigenschaft für den Gmsh Vernetzer. Die Anzahl der Netzelemente pro ${\displaystyle 2\pi }$ mal dem Radius der Krümmung kann angegeben werden. Der Standardwert ist 12. Um ein feineres Netz an kleinen Ecken oder Löchern zu erhalten, kann dieser Wert erhöht werden, um bessere Ergebnisse zu erzielen. Diese Funktion erfordert Gmsh 4.8 oder eine neuere Version. Auswirkung des rcombination Algorithmus; links: mit Simple, rechts: mit Simple full-quad FreeCAD erlaubt nun die Auswahl eines Algorithmus sowie die 3D Netzrekombination für den Gmsh Vernetzers. Für weitere Details über die Rekombination von Netzelementen siehe FEM NetzGmshAusForm.

Polygonnetze

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.

Weitere Polygonnetz Verbesserungen

Fixed false negatives during self-intersection tests when facets are coplanar: Pull request #5002.

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.

New options were added to support running either FreeCAD, OpenSCAD, or both, in sandboxed environments such as AppImages and Snap packages: data can now be transferred to and from OpenSCAD via the standard temporary directory mechanism, via a user-specified temp directory that both executables have access to, or new to OpenSCAD 2021.1, via a "stdout pipe" mechanism, bypassing temporary files entirely.

 The following options were added to the task panel of the Add OpenSCAD element feature: Load - load a scad file Save - save a scad file Refresh - Update FreeCAD view Clear - Clear text input  A new text box gives feedback about OpenSCAD errors.

Arbeitsbereich Formteil

 Tapered extrusion of a sketch with an inner structure. A tapered extrusion of inner structures now creates usable results. Previously, inner structures were extruded as if they were stand-alone and not part of a structure.

Arbeitsbereich PartDesign

 Padding along an edge from the model.Click on the image to see the animation. There is a new option to Pad along the direction of an edge in the 3D model. 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 A loft with multiple sections, the final one is a vertex. It is now possible to create an Additive or Subtractive Loft, or an Additive or Subtractive Pipe towards, or from, a Vertex of either a sketch or a body. This allows to create pyramids for example.Note: Vertices in sketches are created as construction geometry. To use them as endpoints of lofts, you must first change them to normal geometry. Pull request #5170 (for lofts), Pull request #5193 (for pipes) A tapered pocket within a non-tapered pad. The dialog for Pad and Pocket offers to set a taper angle for the extrusion. Pocketing along different directions.Click on the image to see the animation. It is now possible to specify the direction for the Pocket extrusion. The dialog to edit Cylinders (additive and subtractive) now allows to specify an angle relative to the normal of the chosen attachment plane. This way one can create skew cylinders. Pull request #4708 The Helix feature has the new mode Height-Turns-Growth to create flat spirals. A single Pad and a single Revolution with nested profiles. The base block is only there to ensure that the part is a single solid. All PartDesign features that can extrude sketches can now handle sketches with nested profiles that form islands. For example it is possible to Revolve a sketch consisting of 3 nested circles with the same center point.Note: Extruding nested profiles only works if the result is still a single body. Effect of the new option Length along sketch normal.Click on the image to see 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 Hole feature can now model true threads.

Plot module

• FreeCAD now provides the Plot module by default, so any other module/workbench may create plots without requiring external tools Pull request #4971.

Arbeitsbereich Skizzierer

 Neue Aufteilen Funktion zum Aufteilen bestehender Linien oder Bögen. Neues Abgerundetes Rechteck Werkzeug zum Erstellen von Rechtecken mit abgerundeten Ecken. Neu Zentriertes Rechteck Werkzeug um Rechtecke über einen Mittelpunkt zu definieren. Neu Radiam Funktion zur automatischen Zuweisung von Gewicht auf B-Spline Pol, Durchmesser auf Vollkreis oder Radius auf Bogen. Unterstützung von Mehrfachauswahl als Durchmesser/Radius Werkzeuge. Neues Achsenausrichtung entfernen Beschränkungswerkzeug zum Entfernen der Achsenausrichtung unter Beibehaltung der Beschränkungsbeziehung der Auswahl.

Weitere Skizzierer Verbesserungen

• Überarbeitete Stutzen Unterstützung:

Pull Anfrage Forumsdiskussion <-- Benötigt Screencasts

Arbeitsbereich Tabellenkalkulation

 The workbench now has Preferences. They are used by the Spreadsheet Import and Spreadsheet Export commands. It is now possible to setup configuration tables. This way one can define different parameter sets for the same part. Part of Pull request #2862. Cells can now be bound to other cells of the same or a different spreadsheet. Part of Pull request #2862.

Weitere Verbesserungen Tabellenkalkulation

• In the row/column context-menu it is now possible to specify the position when inserting rows/columns. Pull request #4704.
• Import XLSX (used by Std Import): Added support for floor and ceil functions. Pull request #5015.
• Improved navigation using the Tab and Enter keys.
• Improved interface for cutting and pasting blocks of cells.

Arbeitsbereich TechDraw

 More than 30 new tools, so-called Extensions, are now available. They offer new cosmetic features to enhance drawings.

Weitere TechDraw Verbesserungen

• It is now possible to Share and Move Views between pages.
• 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.
• A new format specifier %w was added to print the given number of digits after dot and remove any trailing zeros. Pull request #5401.
• The new %w format specifier is now the default. And the format specifier preference was moved from the Advanced tab to the Dimension tab. Pull request #6504.
• Flipped diagonal hatch was added for the Geometric Hatch tool. Pull request #6429.
• There is a new option to show a grid in a page. Several related preferences have been introduced. Pull request #6465.
• The unit display in dimensions was fixed according to standards. The degree symbol is always present for the dimension value and tolerances, other units only appear if ShowUnits is set. The unit appears immediately after the dimension value unless there is a tolerance, then it appears after the tolerance. Pull request #6581

Internet

Qt WebEngine is now considered the default option instead of Qt WebKit.

Externe Arbeitsbereiche

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.

A2plus

Several features to view, inspect and edit existing constraints were added. One can now e.g. highlight constraints with a label, suppress a constraint temporarily or run the solver only for a particular constraint.

Assembly3

 The Assembly3 Workbench is available (as of March 2022) through the AddonManager. This makes for easy installation and management of the external dependencies of the workbench. Assembly3 is used to create assemblies of different bodies contained in a single file or in multiple documents leveraging the full power of FreeCAD’s Link system. Learn more about Links in this video presentation from Realthunder. Assembly3 Workbench uses SolveSpace as it’s solver. Extensive documentation can be found at the main FreeCAD Assembly3 wiki page or Realthunder's GitHub Assembly3 wiki Main features: Dynamic/interactive solver: move parts with the mouse while the solver constrains the motion. Links: use one single part multiple times in an assembly. External links: allows usage of parts from external documents. Hierarchical assemblies: permits the creation of sub assemblies. Assembly freeze: assemblies that are not required to remain dynamic can be excluded from calculations and are considered fixed geometry by the asm3 solver. And much more.

Assembly4

 Different length of a beam as variant. New feature to add variants. These are links to a part with varying parameters, meaning that you can insert the same part several times, and adjust the parameters of each instance. For more info see this forum thread. An animated assembly.Click on the image to see the animation. Animations can be exported to the MP4 and GIF format.

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).

Plot

• The Plot module has been stripped from the Plot Workbench since it is now provided by FreeCAD.

Ship

The Ship Workbench is back to life!

Entwicklung

Since this release FreeCAD can only be compiled using Qt 5.x and Python 3.x. The lowest supported Python version is 3.6.9 according to this forum thread.

Um FreeCAD unter Windows kompilieren, gibt es verschiedene Libpacks (vorgepackte Bibliotheken):

• Libpack für Windows mit Qt xx, OCC yy, und Python zz

The supported operating systems are:

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

32-bit Windows

Since FreeCAD 0.19 we no longer officially support 32-bit 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: