Release notes 0.19/fr

 Des fonctionnalités sont-elles manquantes ? Mentionnez-les dans les notes de publication pour v0.19 du fil de discussion.

Consultez l'aide FreeCAD pour savoir comment contribuer à FreeCAD.

FreeCAD 0.19 a été publié le DD mois 2020, il est disponible sur la page de téléchargement. Ceci est un résumé des changements les plus intéressants. La liste complète des modifications est disponible dans le journal des modifications MantisBT bugtracker FC 0.19.

Les notes de version plus anciennes de FreeCAD sont disponibles dans la liste des fonctionnalités.



Machine à vapeur à course courte Simpson et Shipton, vers 1845, à piston rotatif horizontal, par "un1corn", vitrine des utilisateurs.

Généralités
Avec plus de 2000 validations dans la branche principale depuis la version 0.18, il s'agit de l'une des versions les plus complètes de tous les temps, avec plusieurs nouveaux composants tels que le nouvel objet "App::Link", ainsi que de nombreux nouveaux outils de l'atelier TechDraw qui rendra FreeCAD encore plus puissant pour la modélisation et l’assemblage solide en 3D. À côté de cela, l’écosystème FreeCAD a continué à se développer avec des ateliers externes plus spécialisés.

Python 3 et Qt5
L’effort de migration de Python 2 et Qt4 vers Python 3 et Qt5 est globalement terminé et la plupart des développeurs ont migré vers les chaînes d’outils Python3/Qt5.

Sans aucun doute, il y aura des bugs imprévus ; ceux-ci seront traités lorsqu'ils sont rapportés. Toute dépendance existante sur Python 2 ou Qt4 ne sera plus prise en charge au-delà du 1er janvier 2020, date à laquelle Python 2 ne sera officiellement plus pris en charge par la Fondation Python. Veuillez noter que certains addons n’ont pas encore été portés vers Python3/Qt5. Cela peut être dû à plusieurs raisons, notamment le manque de temps de la part de leurs développeurs, de dépendances brisées qui pourraient ne pas être facilement réparées, ou tout simplement parce que l'addon est considéré comme obsolète. Les personnes intéressées par la migration d'un atelier ou d'un outil particulier sont encouragées à participer au forum FreeCAD ; voir aussi Ateliers d'addon compatibles Python3 et Qt5 (en préparation depuis 0.18).

Quelques problèmes
Problème résolu avec la visibilité des conteneurs Std Part lorsque la fenêtre est affichée en plein écran dans Qt5 :
 * Définir pour Qt 5.9 et supérieur ; discussions du forum, commentaire 2a1dd8415, et commentaire 57b3ca6f77.
 * désactivation du bouton  dans  pour Qt5 afin d'éviter les artefacts de rendu liés au mode d'affichage MDI ; discussion du forum, commentaire 960d612547.
 * Correction d'un bug dans pour éviter un crash lors du retour en plein écran ; discussion du forum, commentaire c4e34ed9b.
 * Résolution du problème #4088 sur la visibilité de l'origine d'une pièce qui change lors du dés-ancrage de la vue 3D ; discussion du forum, commentaire 1e19ef5be.
 * Résolution du problème #3130 à propos des bugs Qt5 lors de l’utilisation d’un moniteur externe haute résolution ; discussion du forum, commentaire 2f2d505359.

Développement

 * Prise en charge fusionnée de QtWebEngine ; demande d'évolution #1937.
 * Nouveau Libpack pour Windows avec Qt 5.12, OCC 7.3 et Python 3.6 ; discussion du forum.
 * Ajout de la prise en charge des environnements virtuels Python existants ; demande d'évolution #2021.
 * Correction du support cassé pour les unités "INCH" lors de l'exportation aux formats STEP/IGES ; discussion du forum, commentaire 1b26173580.
 * Amélioration de la compatibilité d'importation/exportation avec les systèmes de CAO propriétaires, lorsque vous utilisez STEP ou STPZ compressé ; discussion du forum, demande d'évolution #2323, commentaire 7de89cf62e.
 * Filtre de nom de présélection dans la boîte de dialogue d'importation/exportation ; discussion du forum, commentaire e239994,
 * Correction de l'ID d'application manquant et de l'icône sur GNOME/Wayland ; demande d'évolution #2466.

Documentation

 * La page Compiler sur Linux/Unix a été examinée pour mieux expliquer les conditions requises pour compiler sur différentes distributions Linux. Comme de nombreux développeurs utilisent des systèmes basés sur Debian, cette section a retenu l’attention. Les utilisateurs d'autres distributions Linux sont encouragés à maintenir la documentation de leur distribution particulière. Compiler sur Windows a également été réécrit pour expliquer comment utiliser LibPack pour la compilation.
 * La page de documentation Source a également été nettoyée pour mieux expliquer comment produire la documentation de programmation (API) à partir de sources C++ et Python.
 * La page Doxygen a été examinée et étendue pour donner plus de détails sur la syntaxe utilisée dans les fichiers C++ pour produire la documentation de programmation.
 * La page de gestion du code source a également été retravaillée avec de meilleures descriptions et des exemples d'utilisation de pour gérer les branches et contribuer au code.
 * La page des ateliers externes a été réorganisée, de sorte que tous les ateliers dotés de nombreuses fonctionnalités et disponibles publiquement soient répertoriés. Si vous souhaitez ajouter un atelier à cette page, présentez-le dans le forum et fournissez des informations complémentaires telles que le manuel d'utilisation, les pages wiki et un lien vers son référentiel. Poussez ensuite pour qu’il soit inclus dans le gestionnaire d’addon.

Limitations connues

 * Écran noir en raison des pilotes de carte vidéo, lors de l'exécution de FreeCAD dans une machine virtuelle ; problème #3939.
 * La manette de jeu USB Logitech Wingman peut provoquer un comportement erratique lors de la rotation et du zoom dans la vue ; discussion sur le forum.
 * La navigation par navigation est entièrement prise en charge pour Windows mais doit être maintenue sous Linux et MacOS. Problème : le développeur, DeepSOIC, n’a pas de machine MacOS avec son trackpad spécial et ne l’a pas non plus testé sous Linux ; discussion sur le forum.

Interface utilisateur
Discussion du forum; CubeMenu référentiel (LGPL 2.1).
 * FreeCAD_CubeMenu.png
 * Le cube de navigation peut être augmenté par l'addon CubeMenu, qui permet de configurer le menu qui apparaît, ainsi que la taille du cube lui-même. Cela est particulièrement utile pour les écrans à très haute résolution, dans lesquels la taille par défaut est trop petite. Il s'agit d'un outil externe qui peut être installé à partir du Gestionnaire d'Addon.
 * Le cube de navigation peut être augmenté par l'addon CubeMenu, qui permet de configurer le menu qui apparaît, ainsi que la taille du cube lui-même. Cela est particulièrement utile pour les écrans à très haute résolution, dans lesquels la taille par défaut est trop petite. Il s'agit d'un outil externe qui peut être installé à partir du Gestionnaire d'Addon.

Discussion sur le forum 1 (ancien fil), discussion 2 (fil principal), 1D_SVG_Tools dépôt. Discussion sur le forum. Discussion sur le forum, BlenderLike-dark.qss. Discussion sur le forum, pull request #2433, #2920, #2933.
 * COIL_Icons.png
 * Nouveau thème d'icône COIL développé par l'utilisateur . Il s'agit d'un jeu d'icônes minimaliste inspiré des icônes de style contour de Blender 2.8 (une bobine de fils ou de brins fait allusion à l'apparence des icônes). L'intention est d'avoir des icônes d'aspect professionnel qui peuvent être utilisées avec différents thèmes de couleurs, y compris la lumière, l'obscurité et le monochrome.
 * Nouveau thème d'icône COIL développé par l'utilisateur . Il s'agit d'un jeu d'icônes minimaliste inspiré des icônes de style contour de Blender 2.8 (une bobine de fils ou de brins fait allusion à l'apparence des icônes). L'intention est d'avoir des icônes d'aspect professionnel qui peuvent être utilisées avec différents thèmes de couleurs, y compris la lumière, l'obscurité et le monochrome.
 * IconThemes.png
 * Nouvelle gestion des thèmes d'icônes développée par l'utilisateur.
 * Nouvelle gestion des thèmes d'icônes développée par l'utilisateur.
 * Dark_theme1.PNG
 * Nouvelle feuille de style sombre développée par l'utilisateur.
 * Nouvelle feuille de style sombre développée par l'utilisateur.
 * Darker.png
 * Thèmes sombres par l'utilisateur . Variations bleues, vertes et oranges, qui sont plus sombres que les modèles précédents.
 * Thèmes sombres par l'utilisateur . Variations bleues, vertes et oranges, qui sont plus sombres que les modèles précédents.
 * View_ScreenCapture.png
 * L'outil Std Capture d'écran prend désormais en charge la transparence. Les options sont disponibles en cliquant sur le bouton et en modifiant la section.
 * L'outil Std Capture d'écran prend désormais en charge la transparence. Les options sont disponibles en cliquant sur le bouton et en modifiant la section.

Wiki, Discussion sur le forum, commit 8e5151002.
 * }

App::Link et assemblage


Après 2,5 années de développement, l'objet "Link", ou plus officiellement, a été introduit dans FreeCAD. C'est un type spécial de avec certaines propriétés qui, espérons-le, faciliteront la réalisation des assemblages.

Un "lien" permet aux objets d'utiliser les données d'un autre objet, telles que la géométrie ou même leur représentation visuelle 3D, dans le même fichier ou dans des fichiers différents. Cela peut être considéré comme un clone absolu et mince, ou comme le même objet vivant dans deux "instances" différentes. Certaines fonctionnalités offertes par un "lien" sont déjà présentes dans certains ateliers tels que Arch and BIM (clones, external references), mais l'implémentation de "lien" se situe au niveau de base et peut donc être utilisée par tous les ateliers de différentes manières.

Le composant "Link" a été conçu et développé presque à lui seul par l'utilisateur. Les motivations et les implémentations de conception derrière ce projet sont décrites dans sa page GitHub, Lien. Afin de réaliser cette fonctionnalité, plusieurs modifications essentielles à FreeCAD ont été apportées ; celles-ci sont également largement documentés dans Core-Changes.

L’histoire de "Link" peut être reliée à quelques fils essentiels du forum :
 * Why an object can only be inside one App::Part? (March 2017)
 * Introducing App::Link/XLink (March 2017)
 * Links (May 2017)
 * Realthunder Link implementation: Architecture discussion (June 2017)
 * PR #876: Link, stage one, context aware selection (July 2017)
 * Preview: Link, stage two, API groundwork (July 2017)
 * Assembly3 preview (December 2017)
 * Merging of my Link branch (June 2018)

Finalement, la demande d'extraction et la fusion sont arrivées :
 * App::Link: the big merge, ancien fil (July 2019), pull request #2350 (the BIG merge), LinkMerge branch.
 * App::Link: the big merge, fil princilipal (July 2019)
 * A simple path description of Link, 019, Link stage, Asm3, merge? (August 2019)
 * PR#2559: expose link and navigation actions, une introduction à l'élément Link dans 0.19 (September 2019).

L'objet "Link" prépare FreeCAD pour la phase qui devait avoir lieu après la refonte de PartDesign dans FreeCAD 0.17, qui fonctionne avec les assemblages.

"Assembly3" est un atelier d'assemblage écrit en python par realthunder, qui utilise la fonctionnalité "Link". L'atelier a servi de banc d'essai pour le composant "Link" au cours de son développement. Bien que Assembly3 ne fasse toujours pas officiellement partie de FreeCAD, avec l’inclusion de "Link", Le temps est proche pour que Assembly3 soit fourni en tant que complément installable, tout comme l'atelier A2plus est actuellement fourni.

Espaces de noms Core System, App, Base et Gui
Outre l'introduction de "App::Link", la branche "LinkMerge" a également introduit certaines modifications visibles pour l'utilisateur en ce qui concerne les propriétés de l'objet, les expressions, la sélection visuelle et la vue en arborescence. Celles-ci sont décrites dans la page Core-Changes.


 * Ajout de la prise en charge des environnements virtuels Python existants; pull request # 2021.
 * Filtre de nom présélectionné dans la boîte de dialogue d'importation/exportation; discussion du forum, commit e239994,
 * Correction de l'ID et de l'icône de l'application manquante sur GNOME / Wayland; pull request # 2466.
 * Ajout de la prise en charge de Hertz en tant qu'unité physique et ajout de la fréquence propriété; discussion du forum, commit 3500451a0, commit d7ca604c9.
 * Ajout de l'outil Std Ajouter un document texte pour insérer un objet pour stocker du texte arbitraire dans le document; commit 13db5b0560, commit 53b01f08f9.
 * Ajout du support pour d'autres unités, Gauss, Weber, Oersted; discussion du forum, pull request # 2863.

Atelier Arch (Architecture)
Suivez les derniers développements en architecture et BIM en suivant l'auteur principal de cet établi; Articles d'actualités sur le développement BIM/Arch du blog de Yorik.

Atelier Draft (Planche à dessin)
Discussion sur le forum, pull request #2072; animated GIF exemple.
 * Draft_CubicBezCurve_example.png
 * Nouvel outil Draft Courbe de Bézier cubique pour créer des courbes de Bézier du 3ème degré d'une manière similaire à Inkscape.
 * Nouvel outil Draft Courbe de Bézier cubique pour créer des courbes de Bézier du 3ème degré d'une manière similaire à Inkscape.

Discussion sur le forum, commit 4f19a65559, commit 0b905fade0, pull request #2286.
 * Draft_Arc_3Points_example.png
 * Nouvel outil Draft Arc par 3 Points pour créer des arcs de cercle en spécifiant trois points à travers lesquels l'arc passe. Développé à l'origine dans BIM Workbench puis migré vers Draft.
 * Nouvel outil Draft Arc par 3 Points pour créer des arcs de cercle en spécifiant trois points à travers lesquels l'arc passe. Développé à l'origine dans BIM Workbench puis migré vers Draft.

Une interface de ligne de commande appropriée ainsi qu'un test unitaire sont également fournis.

Pull request #3004, #3005. Discussion du forum (développement), discussion du forum (annonce), commit 5ee99ca4ee, commit 36bc48c9bf.
 * Draft_layers.png
 * Nouvel outil Draft Niveau qui remplace le Draft Groupe visuel rarement utilisé, fournissant un véritable système de niveaux tel qu'il existe dans d'autres systèmes de CAO. Draft Niveau prend en charge l'ajout d'objets par glisser-déposer, contrôle la visibilité des objets et, éventuellement, la couleur des objets.
 * Nouvel outil Draft Niveau qui remplace le Draft Groupe visuel rarement utilisé, fournissant un véritable système de niveaux tel qu'il existe dans d'autres systèmes de CAO. Draft Niveau prend en charge l'ajout d'objets par glisser-déposer, contrôle la visibilité des objets et, éventuellement, la couleur des objets.

Discussion sur le forum.
 * Draft-TechDraw_integration.png
 * Refonte substantielle des routines SVG pour améliorer l'inclusion des projections 2D dans les pages de l'atelier TechDraw. Cela profite à des outils tels que Draft Projection 2D d'une forme et Arch Plan de section lorsqu'ils sont utilisés avec TechDraw Nouvelle vue d'un objet Draft et TechDraw Plan de section.
 * Refonte substantielle des routines SVG pour améliorer l'inclusion des projections 2D dans les pages de l'atelier TechDraw. Cela profite à des outils tels que Draft Projection 2D d'une forme et Arch Plan de section lorsqu'ils sont utilisés avec TechDraw Nouvelle vue d'un objet Draft et TechDraw Plan de section.

Discussion sur le forum, pull request #2441, #2492.
 * Draft_Fillet_example.png
 * Nouvel outil Draft Congé qui crée un congé (coin arrondi) ou un chanfrein (ligne droite) entre deux simples Draft Lignes.
 * Nouvel outil Draft Congé qui crée un congé (coin arrondi) ou un chanfrein (ligne droite) entre deux simples Draft Lignes.


 * Draft_LinkArray_example.png
 * L'introduction de l'objet App Link a permis de créer des réseaux qui ont de nombreuses références exactes à un objet existant au lieu de doublons de forme (simples copies). Il en résulte des réseaux de mémoire plus efficaces. Cela est possible avec les nouveaux outils Draft LinkArray et Draft Draft Réseau lié selon une courbe. Draft LinkArray fonctionne en trois modes, "ortho", "polar" et le nouveau mode "circulaire", qui a été introduit dans un commit séparé.
 * L'introduction de l'objet App Link a permis de créer des réseaux qui ont de nombreuses références exactes à un objet existant au lieu de doublons de forme (simples copies). Il en résulte des réseaux de mémoire plus efficaces. Cela est possible avec les nouveaux outils Draft LinkArray et Draft Draft Réseau lié selon une courbe. Draft LinkArray fonctionne en trois modes, "ortho", "polar" et le nouveau mode "circulaire", qui a été introduit dans un commit séparé.

Pull request #2350. Cet outil Draft PolarArray peut créer les nouveaux objets App Link ou des copies traditionnelles.
 * Draft_PolarArray_example.png
 * Nouvel outil Draft PolarArray pour créer directement des réseaux polaires. Auparavant, la même chose pouvait être effectuée en utilisant Draft Array, puis en modifiant les propriétés du tableau créé.
 * Nouvel outil Draft PolarArray pour créer directement des réseaux polaires. Auparavant, la même chose pouvait être effectuée en utilisant Draft Array, puis en modifiant les propriétés du tableau créé.

Après la création des réseaux de liens, une nouvelle commande appelée Draft Réseau orthogonal remplace désormais Draft Réseau et Draft LinkArray. Ce Draft Réseau orthogonal est utilisé pour créer des réseaux exclusivement orthogonaux. Il affiche un panneau de tâches similaire à Draft Réseau polaire et Draft Réseau circulaire. Par conséquent, à partir de la barre d'outils, il est désormais possible de créer des réseaux "orthogonaux", "polaires" et "circulaires" à partir de boutons séparés. De plus, les boutons du réseau sont regroupés dans un groupe afin d'être organisés.

Discussion sur le forum, pull request #2988, #2972.

Cet outil Draft Réseau polaire peut créer les nouveaux objets App Link ou les copies traditionnelles.
 * Draft_PolarArray_example.png
 * Nouvel outil Draft Réseau polaire pour créer directement des réseaux polaires. Auparavant, la même chose pouvait être effectuée en utilisant l'ancienne commande Draft Réseau puis en modifiant les propriétés de l'objet créé.
 * Nouvel outil Draft Réseau polaire pour créer directement des réseaux polaires. Auparavant, la même chose pouvait être effectuée en utilisant l'ancienne commande Draft Réseau puis en modifiant les propriétés de l'objet créé.

Forum de discussion, pull request #2824. Forum de discussion, pull request #2585.
 * Draft_CircularArray_example.png
 * L'outil Draft Array dispose d'un nouveau mode "circulaire". Ceci est contrôlé par de nouvelles propriétés :, , , and.
 * L'outil Draft Array dispose d'un nouveau mode "circulaire". Ceci est contrôlé par de nouvelles propriétés :, , , and.

De plus, un nouvel outil Draft CircularArray a été développé pour créer directement ces tableaux circulaires. Cet outil peut créer les nouveaux objets App Link ou des copies traditionnelles.

Forum de discussion, pull request #2824.
 * }


 * Draft_test_objects.png
 * Les tests unitaires de l'atelu pier ont été réécrits et étendus, de sorte qu'il est désormais plus facile de tester les erreurs et les régressions lorsque le nouveau code est fusionné.
 * Les tests unitaires de l'atelu pier ont été réécrits et étendus, de sorte qu'il est désormais plus facile de tester les erreurs et les régressions lorsque le nouveau code est fusionné.

Discussion sur le forum, pull request #2668, #2727, #2881, #3005.

De plus, un script est fourni dans, qui produit un fichier de test avec la plupart des objets du plan de travail. Ce fichier est utile pour apprendre les scripts dans Draft et peut également être utilisé pour tester les régressions dans le code sous-jacent des objets.

Discussion sur le forum, pull request #3012.


 * [[File:Draft_tree_icons.png]]
 * De nouvelles icônes ont été fournies pour les objets Draft dans vue en arborescence. L'objectif est de distinguer plus rapidement les objets en un coup d'œil, en particulier si l'étiquette par défaut est modifiée. Cela facilite la reconnaissance des objets qui sont des lignes, des courbes, des éléments géométriques, des dimensions linéaires, radiales ou angulaires ou d'autres objets.
 * De nouvelles icônes ont été fournies pour les objets Draft dans vue en arborescence. L'objectif est de distinguer plus rapidement les objets en un coup d'œil, en particulier si l'étiquette par défaut est modifiée. Cela facilite la reconnaissance des objets qui sont des lignes, des courbes, des éléments géométriques, des dimensions linéaires, radiales ou angulaires ou d'autres objets.

De plus, toutes les icônes ont été converties à la nouvelle résolution de pixels standard de 96 dpi et ont été enregistrées au format SVG ordinaire afin que nous n'introduisions pas de balises SVG non standard.

Discussion sur le forum, pull request #3051, #3058, #3060, #3070, #3170, #3402.


 * Draft_architecture.svg
 * Efforts en cours pour diviser les outils en leurs propres fichiers de module afin de faciliter la maintenance de la base de code pour l'avenir et de faciliter l'ajout de nouveaux outils.
 * Efforts en cours pour diviser les outils en leurs propres fichiers de module afin de faciliter la maintenance de la base de code pour l'avenir et de faciliter l'ajout de nouveaux outils.

Discussion sur le forum, vue d'ensemble de la structure.

Certaines des fonctions et classes qui ont déjà été déplacées: commit 5ee99ca4ee (Draft Niveau), commit 16c26cb3b1 (Draft Edition), commit 9fb6aec313 (Draft Draft Plan de travail), pull requests #2823 (GuiCommandBase), #2829 (utilitaires), #2830 (utilitaires GUI), #2831 (A faire classe), #2832 (fonction de translation), #3091 (Draft Accrochage), #3092 (Draft Trackers), #3094 (Draft Plan de travail), #3095 (Draft Formes à partir texte Panneau des tâches), #3096 (Draft Scale Panneau des tâches), #3097 (Draft Edition), #3157 (Draft Créer un objet Proxy pour le plan de travail), #3182 (diverses commandes Gui), #3291 (classes basiques, , ), #3299, ( outils), #3308 ( outils).

Pour une vue d'ensemble des pull requests, voir # 2429.

Il s'agit d'un travail en cours qui nécessite d'avancer avec soin car nous visons à maintenir la compatibilité avec les versions précédentes de Draft. Le refactoring complet peut prendre des années au rythme actuel. Nous invitons les développeurs enthousiastes à se joindre à l'effort.
 * }

Améliorations futures de Draft

 * L'outil Draft Wire s'appelle désormais "Polyligne" dans le menu, au lieu de "DWire"; toutes les options et fonctionnalités restent les mêmes, donc cela ne rompt pas la compatibilité; commit 39e748229e.
 * Des efforts en cours pour diviser les outils en leurs propres fichiers de module pour faciliter la maintenance de la base de code pour l'avenir; discussion du forum, commit 16c26cb3b1.
 * Des efforts en cours pour documenter le code source Python (en ajoutant des docstrings complets), afin de produire une meilleure documentation de programmation pouvant être utilisée par les utilisateurs et les développeurs. Voir Documentation du code source pour des instructions sur la génération de la documentation avec Doxygen.
 * Une préférence "DraftEditPickRadius" a été ajoutée pour contrôler la zone d'influence du pointeur lors de la sélection des sommets en mode d'édition (Draft Editer). Discussion du forum, pull request # 2642, [https: / /freecadweb.org/tracker/view.php?id=4162 problème # 4162].

Autres améliorations de FEM

 * Normes de codage mises à jour qui visent la conformité PEP8 avec Python; discussion sur le forum, forum discussion, commit ad03ee9bdf, commit 27cb54009b.
 * Le projet Elmer a développé une bibliothèque pour gérer le prétraitement de type batch pour ElmerSolver, en utilisant le FEM Workbench. Cela inclut la création d'objets de maillage pour FreeCAD, la manipulation des tailles de maillage des solides, la création de maillages d'éléments finis à l'aide de Gmsh, l'exécution d'ElmerGrid et l'exportation du maillage pour ElmerSolver, ainsi que la sélection et la dénomination des corps et des limites pour ElmerSolver; discussion du forum, elmerfem dépôt (dépôt principal Elmer), FreeCADBatchFEMTools dépôt (bibliothèque pour interagir avec FEM Workbench, LGPL 2.1).
 * L'intégration du solveur OOFem, qui a commencé en 2018, progresse, c'est donc maintenant une autre option qui peut être utilisée pour l'analyse structurelle dans FreeCAD. Ce solveur est intéressant en ce qu'il dispose d'éléments d'interface, ainsi que d'un contrôle de la longueur d'arc, en plus de nombreux modèles de matériaux non linéaires. L'intégration d'OOFEM dans FEM a été réalisée dans divers commits qui ensemble servent de documentation sur la façon d'intégrer des solveurs similaires; discussion du forum, femoofem, branche OOFEM, oofem dépôt (LGPL 2.1).

Importations

 * Amélioration de la compatibilité import/export avec les systèmes de CAO propriétaires, lors de l'utilisation de STEP compressé ou STPZ; Discussion sur le forum, pull request #2323, commit 7de89cf62e.

Autres améliorations

 * Il est désormais possible de prendre un fichier maillé OpenInventor et de l'exporter en STL; Discussion sur le forum, commit 601ac707b207c6.

Atelier Part (Pièce)

 * Part_Primitives_example.png
 * Un script est fourni dans . Il génère un fichier de test avec les Part Primitives. Ce fichier est utile pour apprendre les scripts dans Part et peut également être utilisé pour tester les régressions dans le code sous-jacent des objets.
 * Un script est fourni dans . Il génère un fichier de test avec les Part Primitives. Ce fichier est utile pour apprendre les scripts dans Part et peut également être utilisé pour tester les régressions dans le code sous-jacent des objets.

Pull request #3078.
 * }

Autres améliorations

 * Nouvelle méthode de surface:  pour couper des trous sur une surface. La surface doit généralement être validée après l'opération.
 * La fusion "App::Link" a introduit deux nouvelles commandes, Part TransformedCopy et Part ElementCopy. Ces commandes créent des copies non paramétriques d'un corps avec un placement transformé et d'un élément (sommet, arête ou face); commit 6da72b9859. Ces opérations rendent essentiellement le Macro Repro Wire obsolète.

Atelier PartDesign (Conception de pièces)
Discussion sur le forum, pull request #3045, #3155, #3226.
 * PartDesign_Dressup_pattern.png
 * PartDesign Répétition linéaire et PartDesign Répétition circulaire peuvent désormais être utilisés avec des fonctions d'habillage càd PartDesign Congé, PartDesign Chanfrein, PartDesign Epaisseur et PartDesign Dépouille. Une nouvelle propriété dans ces PartDesign Fonctionnalités contrôle si la fonctionnalité prend en charge le modèle ou non.
 * PartDesign Répétition linéaire et PartDesign Répétition circulaire peuvent désormais être utilisés avec des fonctions d'habillage càd PartDesign Congé, PartDesign Chanfrein, PartDesign Epaisseur et PartDesign Dépouille. Une nouvelle propriété dans ces PartDesign Fonctionnalités contrôle si la fonctionnalité prend en charge le modèle ou non.
 * }

Atelier Path

 * Prise en charge du gestionnaire d'outils pour plusieurs tables d'outils


 * Ajout de l'outil Path Limitation de zones pour exclure des parties d'une trajectoire


 * PathPocket: extensions (pour le fraisage de poches ouvertes).
 * ProfileEdges: prise en charge d'Open Edges.
 * Première tentative de prise en charge du 4ème axe: Contour, PathFaces, PathPocket et Drilling

Améliorations futures de Path

 * Problème résolu #3993, fuite de mémoire Python 3 ; forum discussion, commit 3c205946e.
 * Possibilité d'utiliser un nombre arbitraire d'un objet comme modèle de base pour un Path.Job, chacun étant portionnable individuellement ; pull request #2056.* PathDeburr: Ajout d'une sélection de direction. Correction du problème DressupLeadInOut.
 * MillFace: nettoyer les bords.
 * MillFace: exclure les zones surélevées; discussion du forum, pull request # 2367.
 * Mise à jour de certains post-processeurs (principalement GRBL et LinuxCNC).
 * Améliorations de compensation adaptative.
 * Poche 3D: réduction du fraisage à l'air au-dessus des poches inclinées; discussion du forum, pull request # 2366.
 * Surface 3D: améliorations apportées aux algorithmes OCL DropCutter et Waterline
 * Surface 3D: prise en charge initiale du 4e axe; discussion du forum, pull request # 2114.
 * Surface 3D: sélection de faces individuelles; pull request # 2849.
 * Post: post-processeur Mach3/Mach4; pull request # 3195.
 * Post: prise en charge du décalage de la hauteur de l'outil dans le post-processeur LinuxCNC; pull request # 2479.
 * Général: ajout des calculs de temps de cycle aux opérations et du temps de cycle total au travail; discussion du forum, pull request # 3378.

Atelier Render
Ajout de la prise en charge du moteur de rendu autonome "Cycles" de Blender; commit 759067912f; FreeCAD-render dépôt. Le rendu autonome Cycles doit généralement être compilé à partir de la source car le binaire n'est normalement pas fourni par lui-même dans une distribution complète de Blender.

En outre, l'atelier Render prend déjà en charge Pov-Ray, Luxrender et Appleseed.

Atelier Sketcher (esquisseur)
Pull request #2283, commit 159b8e7bdf.
 * Sketcher_ToggleActiveConstraint_example_disabled_2.png
 * Nouvel outil Sketcher Activation des contraintes pour désactiver temporairement une contrainte sans la supprimer complètement. Cela est utile pour tester le mouvement de l'esquisse avant de la contraindre complètement.
 * Nouvel outil Sketcher Activation des contraintes pour désactiver temporairement une contrainte sans la supprimer complètement. Cela est utile pour tester le mouvement de l'esquisse avant de la contraindre complètement.

Discussion sur le forum, 2; pull request #3201, commit 06f479622c.
 * [[File:Sketcher_Constraint_reference_dialog.png]]
 * Il est désormais possible de faire sur une contrainte de dimension une Sketcher contrainte de référence directement dans la boîte de dialogue.
 * Il est désormais possible de faire sur une contrainte de dimension une Sketcher contrainte de référence directement dans la boîte de dialogue.
 * }

Atelier Spreadsheet (Feuille de calcul)
L'introduction de "App::Link" a également apporté quelques améliorations aux capacités Expressions de FreeCAD qui sont visibles dans l'Éditeur de propriétés et dans l'Atelier Tableur. Ils sont décrits dans Core-Changes.
 * Une nouvelle syntaxe d'expression est introduite pour référencer sans ambiguïté une propriété de l'objet propriétaire, en omettant la référence d'objet et en commençant par un point au début de manière similaire à la syntaxe d'importation relative Python. Ainsi, au lieu de, vous pouvez maintenant utiliser.
 * Vous pouvez faire référence à un objet par son ou par son . Dans le cas d'un, il doit être entouré de symboles  et , tels que  . Par exemple,.
 * Amélioration de la logique de recalcul des feuilles de calcul et des fonctions de copie et de collage de cellules.

Les validations précédentes ont changé la façon dont la saisie semi-automatique fonctionne avec expressions en particulier lorsqu'elle est utilisée avec les contraintes de l' atelier Sketcher, ce qui était considéré comme une régression pour de nombreux cas d'utilisation. Un nouvel ensemble de validations a été proposé pour restaurer cette fonctionnalité; discussion du forum, pull request # 3062.

Atelier TechDraw (Mise en plan)
Forum discussion, pull request #2853.
 * TechDraw_pyramid_arrow_style.png
 * New pyramid arrow style for dimensions and balloon annotations.
 * New pyramid arrow style for dimensions and balloon annotations.
 * }

Améliorations futures de TechDraw

 * Il y a eu des discussions sur la modification du comportement standard de TechDraw. Au lieu de garder les pages de dessin mises à jour automatiquement, elles ne seraient mises à jour que sur demande. Cela atténuerait les effets de TechDraw ralentissant le reste de FreeCAD lors de la modélisation. De plus, maintenant que "App::Link" est inclus dans FreeCAD, les pages TechDraw peuvent être stockées dans un fichier séparé et chargées à la demande; discussion de forum (discussion principale), discussion de forum (alternatives).
 * Correction des problèmes de taille de police lors de l'exportation vers SVG; discussion du forum, pull request # 2219.
 * Correction de la régression dans la gestion des sous-titres et masquer la propriété des sous-titres lorsque cela ne s'applique pas; pull request # 2228.
 * Ajout d'options pour la taille de la page, la largeur de la ligne et l'arrière-plan lors de l'enregistrement en SVG; cela améliore l'intégration de Draft / Arch et TechDraw; pull request # 2455.
 * Nouveau panoramique de la page à l'aide du bouton central de la souris; discussion du forum, pull request # 2458.
 * Contrôle plus fin des mises à jour des dessins; discussion du forum, pull request # 2468, [https: / /github.com/FreeCAD/FreeCAD/commit/5bed53f858 commit 5bed53f858], commit b2d8eeeb65.
 * Également un nouvel outil TechDraw Redraw pour forcer une mise à jour de la page de dessin tout en ignorant l'état des options "Mettre à jour avec 3d", "Autoriser le remplacement de page" ou "KeepUpdated". Cet outil a disparu en 0,18, mais a été réimplémenté pour 0,19; discussion du forum.

Web

 * QtWebEngine support for Qt 5.7 and above, and fallback to QWebkit for Qt 5.6 and below; pull request #1937.

Macros
Voir Macros pour de nombreuses autres macros.

Modules Additionnels
Voir Ateliers externes pour la liste complète des Ateliers supplémentaires qui peuvent être installés dans FreeCAD. Si vous souhaitez voir votre atelier ajouté, rejoignez le forum et présentez votre code.

Trails (et PyTrails et Turns)

 * Pivy_trackers_example.png
 * After working with Trails and Turns, the author decided to split the tracker code into a separate library called pivy_trackers. This is a general library that could be included in other workbenches to generate tracker objects and perform actions in the scene, like dragging lines, dragging points, and changing certain geometrical elements on the fly.
 * After working with Trails and Turns, the author decided to split the tracker code into a separate library called pivy_trackers. This is a general library that could be included in other workbenches to generate tracker objects and perform actions in the scene, like dragging lines, dragging points, and changing certain geometrical elements on the fly.

Forum discussion, (2, 3); pivy_trackers repository (LGPL 2.1), examples, animated GIF example.
 * }

Atelier Géomatique
This workbench started as a fork of the older Geodata workbench by microelly2. Eventually it became a separate project. Now it is intended to be merged with the Trails workbench as it provides complementary functions.

Forum discussion; FreeCAD-Geomatics-Workbench repository (LGPL 2.1).
 * }