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

 * Nouveau Libpack pour Windows avec Qt 5.12, OCC 7.3 et Python 3.6; discussion du forum.
 * Nouveau Libpack pour Windows avec Qt 5.12.6, OCC 7.4; discussion du forum, pull request # 2944.
 * Il existe un nouveau conteneur Docker pour construire FreeCAD, voir Compiler sur Docker; discussion du forum.
 * L'infrastructure du bug tracker ainsi que du wiki a été déplacée vers un serveur dédié afin qu'elle soit plus facile à gérer par les administrateurs du projet; discussion du forum.

Documentation

 * La page Compiler sur Linux a été revue 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 reçu le plus d'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 le "LibPack" pour la compilation.
 * Compiler sur Docker a été créé pour décrire la compilation dans ce système.
 * La page Documentation source a également reçu un nettoyage pour mieux expliquer comment produire la documentation de programmation (API) à partir de sources C ++ et Python.
 * La page Doxygen a été revue 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 Gestion du code source a également été retravaillée avec de meilleures descriptions et exemples d'utilisation de pour gérer les branches et contribuer le code.
 * La page Ateliers externes a été réorganisée, de sorte que tous les ateliers riches en fonctionnalités et accessibles au public soient répertoriés. Si vous souhaitez ajouter un plan de travail à cette page, présentez-le dans le forum et fournissez des informations de support 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.
 * Des améliorations ont été apportées aux pages Tutoriels et Tutoriels vidéo. En particulier, il a été souligné aux lecteurs qu'ils ne devraient considérer que les tutoriels vidéo réalisés avec les versions 0.17 et supérieures.

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.

App::Link et assemblage


Après 2,5 ans de développement, l'objet "Link", ou plus formellement App Link ( classe) a été introduite dans FreeCAD. C'est un type spécial de App DocumentObject avec certaines propriétés qui, espérons-le, permettront de faire des assemblages plus facilement.

Un "App Link" 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 en 3D, dans le même fichier ou dans des fichiers différents. Il peut être considéré comme un clone fin et absolu ou comme le même objet vivant dans deux "instances" différentes. Certaines fonctionnalités offertes par un "App Link" sont déjà présentes dans certains ateliers comme atelier Arch et l'atelier BIM (Draft Clones, Arch Référence), mais l'implémentation de "App Link" est au niveau central et peut donc être utilisée par tous les ateliers de différentes manières.

Le composant "App Link" a été pensé et développé presque exclusivement par l'utilisateur. Les motivations et la mise en œuvre de la conception de ce projet sont décrites dans sa page GitHub, Lien. Afin de réaliser cette fonctionnalité, plusieurs changements fondamentaux ont été apportés à FreeCAD. Ils sont également largement documentés dans Core-Changes.

L’histoire de "App Link" peut être tracé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 "App 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é "App Link". L'atelier a servi de banc d'essai pour ce composant au cours de son développement. Bien que Assembly3 ne fasse toujours pas officiellement partie de FreeCAD, avec l’inclusion de "App Link", c'est une question de temps pour qu'Assembly3 soit disponible comme un module complémentaire installable tout comme A2plus et Assembly4 sont actuellement disponibles.

Espaces de noms Core System, App, Base et Gui
Outre l'introduction de App Link, la branche "LinkMerge" a également introduit des modifications visibles pour l'utilisateur en ce qui concerne les propriétés des objets, expressions, Méthodes de sélection et la vue en arborescence. Ceux-ci sont décrits 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.

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.

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

 * Prise en charge de QtWebEngine pour Qt 5.7 et supérieur et repli sur QWebkit pour Qt 5.6 et inférieur; pull request # 1937.

Macros
Voir Macros pour de nombreuses autres macros.

Modules Additionnels
ce sont les nouveaux ateliers créés dans ce cycle de développement ou les anciens ateliers qui ont reçu des mises à jour. Voir Ateliers externes pour plus d'ateliers pouvant être installés et couvrant une grande variété de sujets. Si vous souhaitez voir votre atelier ajouté, rejoignez le forum et présentez votre code.