Release notes 0.20/de

FreeCAD 0.19 wurde veröffentlicht auf 'DD Month 202x, hole es von der Herunterladen Seite. Dies ist eine Zusammenfassung der interessantesten Änderungen. Die vollständige Liste der Änderungen kann im MantisBT bugtracker FC 0.20 Änderungsprotokoll eingesehen werden.

Ältere FreeCAD Versionshinweise findest du unter Funktionsübersicht.

freecad.org
We are happy that the KiCAD project, through the KiCAD services corp., sponsored us the domain freecad.org. Now all FreeCAD websites are available under freecadweb.org and freecad.org.

Bug/Issue tracker
The FreeCAD bug tracker was moved to GitHub: https://github.com/FreeCAD/FreeCAD/issues

Note: Only bug reports with a prior forum discussion will be considered. Reports without this will be closed.

New help system
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.

Weitere Verbesserungen Benutzeroberfläche

 * Es ist nun möglich, die Ansicht des Abhängigkeitsgraphen mit der Maus zu verschieben. Forumsdiskussion, pull request #4638.
 * Es wurde ein Problem behoben, bei dem die Verwendung eines Stifttabletts (z.B. Wacom Tablett) so langsam war, dass es völlig unbrauchbar wurde. Forumsdiskussion, pull request #4687.

Core
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:

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

API
FreeCAD received many new Python API functions:

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


 * ControlPy::showModelView: Shows the model view. commit 033bf619


 * 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


 * DrawPagePy::requestPaint: Paints a TechDraw page. commit 79f9fb68


 * 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


 * MDIViewPy::printPdf: Prints a PDF. commit c93031da
 * MDIViewPy::printPreview: Prints a preview. commit c93031da
 * MDIViewPy::printView: Prints a view. commit c93031da
 * MDIViewPy::redoActions: Redoes actions. commit c93031da
 * MDIViewPy::undoActions: Undoes actions. commit c93031da


 * 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


 * PythonWorkbenchPy::reloadActive: Reload the active workbench after changing menus or toolbars. commit 0bbc253d


 * 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


 * SpreadsheetViewPy: To access spreadsheets. commit 6e713628


 * UnitsApi::sToNumber: Converts a quantity or float to a string. commit befbd95d


 * View3DInventorPy::getCornerCrossSize: Returns current corner axis cross size. commit 9d15df29
 * View3DInventorPy::setPopupMenuEnabled: Enables popup menu. commit 9def811a
 * View3DInventorPy::isCornerCrossVisible: Returns current corner axis cross visibility. commit 9d15df29
 * View3DInventorPy::isPopupMenuEnabled: Returns if popup menu is enabled. commit 9def811a
 * 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


 * ViewProviderSpreadsheetPy: To handle spreadsheet cells.commit 16bbe123 and commit 093f15dc

Changed Python API

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

Arbeitsbereich Entwurf

 * A 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.svg Draft Hatch command was introduced. It creates hatches on the faces of a selected object using patterns from AutoCAD PAT files.


 * The Draft_AddNamedGroup.svg Draft AddNamedGroup command was introduced. The Draft_AddToGroup.svg Draft AddToGroup command was extended with the same functionality.


 * Work on the Draft_SetStyle.svg Draft SetStyle command, still in progress in FreeCAD version 0.19, was completed.


 * A double-click edit option was added for Draft_Text.svg Draft Texts. It opens the same edit task panel used when creating a text.


 * For Draft_Dimension.svg Draft Dimensions the  for imperial architectural dimensions was introduced.


 * Draft_Shape2DView.svg Draft Shape2DView objects now have an property. Setting it to  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.svg Draft Edit context menu. Forum discussion, Pull request #4811.

Weitere Entwurf Verbesserungen

 * Behoben Entwurf Fang Gitter, wenn sich der Mauszeiger über einer Fläche befindet. Forumsdiskussion. 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.

Weitere FEM Verbesserungen

 * Important: Starting from this release, FreeCAD will use SI units (m, kg, s, K, A, mol, cd) to write the Elmer solver input files (case.sif and mesh.nodes). This is independent of the used FreeCAD unit system.
 * Important: Starting from this release, the scale of result pipelines and their filters will use SI units (m, kg, s, K, A, mol, cd). So the displacement is given in meter, the stress in Pascal. This applies to all SI-derived FreeCAD unit systems.
 * Solving with the Calculix solver now uses all CPU cores. Pull request #6374
 * Meshing with Gmsh now uses all CPU cores. Pull request #6370
 * The element order of Gmsh meshes can be changed via the mesh dialog. Pull request #4660
 * The Data at point clip result filter is now actually working: One gets info from result meshes by clicking into them or by specifying a mesh coordinate.
 * A new constraint was added: . Pull request #4738
 * A new solver was added: . Multiple commits.
 * A new constraint was added: . Pull request #4982
 * It is now possible to have result pipelines with several filters, where some take other filters as input, and some take the results directly from the pipeline. commit 708a300b
 * 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 specify an algorithm for the Gmsh property "High Order Optimize". Pull request #4705
 * Nonlinear solid materials with simple hardening can now have an arbitrary number of yield points. Pull request #5024
 * Allow modal adding/removal of geometric entities to constraints acting on boundaries. Pull request #5117
 * Most FEM constraint dialogs now behave uniformly and provide the same 3D object selection features. Pull request #5391

Export

 * DXF: The missing unit block was added to the header14.rub file. Pull request #5793

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.

OpenSCAD Arbeitsbereich
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.

Weitere Formteil Verbesserungen

 * The dialog to edit Cylinders 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 Face Colors tool now also allows to set the transparency (Alpha channel) of faces. This transparency can be exported, making e.g. STEP files with transparent parts possible.
 * The following commands now support App::Links: Loft, Sweep, Extrude, Revolve, Reverse shapes, Mirror, Offset2D, Offset3D, Check Geometry, Ruled Surface, Cross-sections, and Thickness. Pull request #6478

Weitere PartDesign Verbesserungen

 * In the Helix feature one can now also use the sketch normal as axis. Pull request #5199
 * The Sprocket feature can now also create 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
 * It is possible to offset SubShapeBinders if they are based on edges, wires or faces. Pull request #6338
 * SubShapeBinders now have the Refine property like all other PartDesign objects. Pull request #6550
 * In the Chamfer and Fillet dialogs all edges of a body can be selected via the context menu while in Add mode. Pull request #5269 When you selected a 3D object before clicking the icon to create a fillet or chamfer, all object edges will automatically be selected. Pull request #5328
 * Chamfer and Fillet dialogs now each have a new Use all edges checkbox, which is connected to the Use All Edges property for these objects. When the box is checked the property is set to True, when unchecked the property is set to False. When Use All Edges is True there is protection against the topological naming problem because then all of the edges of the base object are used regardless of how many edges there are. Pull request #5340
 * Plane selection when adding a new sketch can now be achieved with a single-click in the 3D View. Pull request Forum discussion
 * When a PartDesign tool is run without an active body, FreeCAD now offers to activate a body or create a new one. Pull request #4949
 * The Face Colors tool is now also available from the PartDesign workbench.

Arbeitsbereich Pfad

 * The Extensions feature was added to the Adaptive operation. Pull request #4388
 * The Helix operation was refactored and Extra offset property was added to it. Pull request #5405
 * The check if the current schema is using minutes for velocity expression and appropriate warning were added. Pull request #6357
 * External threads were added to the thread milling operation. Pull request #6485
 * The stability of engraving on sketches was improved. Pull request #6394
 * The visibility of path objects was made more natural. Pull request #4911

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.

Weitere Skizzierer Verbesserungen
Pull Anfrage Forumsdiskussion <-- Benötigt Screencasts
 * Überarbeitete Stutzen Unterstützung:
 * Das Verhalten des Sketcher_CreateSlot.svg Schlitz hat sich geändert. Schlitze können nun durch die Definition des Zentrums beider Halbkreise erstellt werden. Pull Anfrage Forumsdiskussion
 * Die Sichtbarkeitsautomatik erlaubt es, Skizzierer im Abschnittsmodus zu öffnen, wenn man in den Bearbeitungsmodus wechselt. Pull Anfrage Forumsdiskussion
 * Sichtbarkeits Automatisierung erlaubt es, die Kamera in den Orthographic mode zu zwingen, wenn man den Editiermodus betritt. Pull request Forumsdiskussion

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 and  keys.
 * Improved interface for cutting and pasting blocks of cells.

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

For more information see the constraint handling description.

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!


 * A new tool to compute the static sink and trim has been added.
 * A new tool to compute the response amplitude operators has been added on top of capytaine.

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

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