Release notes 0.19/fr

FreeCAD 0.19 a été publié le JJ mois 2021 et 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 8128 commits dans la branche master 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 comme le nouvel objet "App::Link", ainsi que de nombreux nouveaux outils dans l'atelier TechDraw qui rendent FreeCAD encore plus puissant pour la modélisation et l'assemblage de solides 3D. En plus de cela, l'écosystème FreeCAD a continué de croître 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
Pour compiler FreeCAD sous Windows, il existe différents Libpacks (bibliothèques prédéfinies) disponibles:
 * Libpack pour Windows avec Qt 5.12, OCC 7.3 et Python 3.6; forum de discussion.
 * Libpack pour Windows avec Qt 5.12.6, OCC 7.4; forum de discussion, pull request # 2944.
 * Libpack 12.5.1 pour Windows avec Qt 5.15, OCC 7.5 et Python 3.8; forum de discussion

Autres actualités du développement:
 * Il existe un nouveau conteneur Docker pour construire FreeCAD, voir Compiler sur Docker; forum de discussion.
 * L'infrastructure du bug tracker ainsi que le wiki ont été déplacés vers un serveur dédié, afin qu'il soit plus facile à gérer par les administrateurs du projet; forum de discussion.

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é introduit 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.
 * Nouvelles commandes pour obtenir des informations sur les commandes graphiques et les raccourcis;, , ; fil de discussion sur le forum, pull request # 3710.
 * Nouveau support glTF (nécessite OCC 7.5.0) commit
 * Nouvel exportateur WebGL pull request #4025

Atelier Arch
Suivez les derniers développements de l'Atelier Arch et de l'telier BIM Workbench qui en dépendent, en suivant l'auteur principal de cet atelier, sur Uncreated. Les mises à jour sont également publiées sur le forum, Articles d'actualités sur le développement BIM/Arch du blog de Yorik.

Les développeurs des ateliers Draft, Arch et BIM collaborent également avec la grande communauté OSArch dans le but d'améliorer la conception des bâtiments en utilisant un logiciel entièrement gratuit.

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. Cela ne rompt pas la compatibilité; commit 39e748229e.
 * 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, issue #4162.
 * 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 source pour des instructions sur la génération de la documentation avec Doxygen.
 * Le "mode Barre d'outils" lors du lancement des outils Draft a été supprimé. Il s'agissait d'une interface qui était utilisée dans le passé mais qui est devenue obsolète car le Panneau des tâches est devenu l'interface prédominante; discussion du forum, pull request # 2973.
 * fonctionne désormais avec n'importe quel objet document grâce à la nouvelle méthode introduite avec LinkMerge; pull request # 3658.

Autres améliorations de FEM

 * Le projet Elmer a développé une bibliothèque pour la gestion du prétraitement de type batch pour ElmerSolver, à l'aide de l'atelier FEM. Cela inclut la création d'objets maillés 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 l'attribution de noms aux corps et aux limites pour ElmerSolver; forum de discussion, elmerfem dépôt (dépôt principal Elmer), FreeCADBatchFEMTools (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 possède des éléments d'interface, ainsi qu'un contrôle de 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; forum discussion, femoofem branche, OOFEM site Web principal, dépôt oofem (LGPL 2.1).
 * Mise à jour des normes de codage qui visent la conformité PEP8 avec Python; forum discussion, commit ad03ee9bdf, commit 27cb54009b.

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 601ac707b2.
 * Il est maintenant possible d'exporter un Mesh au format Asymptote ; fil de discussion du forum, commits 4badaba5, 50bbd522, 58a92681, dd7afa72, b0f78f5a.
 * La plupart des outils de l'atelier Mesh ont maintenant une icône appropriée. Il est donc plus facile de reconnaître la fonction dans le menu et les barres d'outils; forum thread, pull request #3816, #3864.

Autres améliorations

 * Nouvelle méthode Face: pour effectuer des trous dans une face. La face doit généralement être validée après l'opération.
 * Le merge App Link a introduit deux nouvelles commandes, Part Copie transformée et Part Copie d'un élément. 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 la Macro Repro Wire obsolète.
 * Il est maintenant possible de définir des expressions pour tous les paramètres des primitives. commit dd4874d2 et commit 7405dd0e.
 * Correction du support cassé pour les unités "INCH" lors de l'exportation aux formats STEP/IGES; forum discussion, commit 1b26173580.

Autres améliorations

 * L'interface des perçages a été révisée pour créer un jeu conforme aux normes et des dimensions de trou taraudé.
 * Il est maintenant possible de définir des expressions pour tous les paramètres des primitives additives et primitives soustractives. Discussion sur le forum, pull request # 3225.
 * Il est maintenant possible de définir des expressions pour les angles d'attachement des primitives additives et soustractives. Auparavant, les expressions n'étaient disponibles que pour les décalages de direction. Discussion sur le forum, commit 1cfe6d2cc7.
 * Il est désormais possible de modifier les éléments de la liste dans les différentes boîtes de dialogue. Par exemple dans ce message de forum, il y a un trés bon exemple pour lequel la liste d'éléments est importante pour les transformations. Ici est un autre exemple de commande d'esquisse pour les lissages. Forum discussion, pull request #3760, commit 94ca4388e.

Atelier Path

 * Nouveau système de gestion des outils (Toolbits) Wiki Page, forum de discussion


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


 * PathPocket: extensions (pour le fraisage de poches ouvertes).
 * Nouvelle opération de profil unifiée: le contour, les faces de profil et les bords de profil préexistants de la version 0.18.x sont désormais combinés en une seule opération de profil. La nouvelle opération de profil conserve les fonctionnalités et les capacités des trois opérations source individuelles. discussion du forum, pull request # 3443.
 * Bords de profil: prise en charge des bords ouverts ajoutée. Remarque: L'opération Profile Edges est maintenant fusionnée dans l'opération Profile. [Https://forum.freecadweb.org/viewtopic.php?style=3&f=15&t=43434 discussion du forum], pull request # 3068.
 * Première tentative de prise en charge du 4ème axe: profil (limité au contour complet et profilage des faces), PathPocket et Perçage.


 * Problème résolu #3993, fuite de mémoire Python 3; forum de discussion, commit 3c205946e.
 * Possibilité d'utiliser un nombre arbitraire d'un objet comme modèle de base pour un Path.Job, chacun étant positionnable individuellement; pull request #2056.
 * PathDeburr: sélection de la direction ajoutée. Correction du problème de DressupLeadInOut.
 * Surfaçage
 * Ajout de la fonction de bords clairs.
 * Ajout de la fonctionnalité d'exclusion des zones surélevées; forum de discussion, pull request #2367.
 * Ajout de l'option `Face Region` aux options de contour. Cela permet à la fraise d'accéder à des zones plus petites que le diamètre de la fraise, mais physiquement accessibles dans la géométrie de la pièce. mention du forum, pull request #3534.
 * Améliorations de la compensation adaptative.
 * Adaptive peut désormais utiliser le contour des fonctionnalités
 * 3D Pocket: Réduction du fraisage à l'air au-dessus des poches inclinées; forum de discussion, pull request #2366.
 * Surface 3D
 * Améliorations de l'algorithme général de surfaçage.
 * Prise en charge initiale du 4ème axe; forum de discussion, pull request #2114.
 * Sélection de faces individuelles; forum de discussion, pull request #2849.
 * Correction et ajout de divers modèles de coupe: Ligne, Circulaire, CircularZigZag, Offset, Spiral, ZigZag. pull request #3327 et autres pull requests.
 * Nouvelle opération: Waterline.
 * L'opération indépendante a été séparée de 3D Surface; forum de discussion, pull request #3268.
 * Algorithme expérimental ajouté en utilisant une combinaison de décalages Path.Area des sections transversales du modèle.
 * Post-traitement
 * Mise à jour des post-processeurs (GRBL, LinuxCNC, Centroid).
 * Post-processeur Mach3/Mach4; pull request #3195.
 * Prise en charge du décalage de hauteur de l'outil dans le post-processeur LinuxCNC; pull request #2479.
 * Panneau de tâches pour LeadInOut Dressup


 * Nouvelle opération: Slot. Elle permet la création d'une opération de rainurage horizontal basée sur deux points personnalisés, la sélection d'une ou plusieurs faces ou arêtes ou la sélection de deux sommets. discussion du forum, PR initial # 3624.


 * 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.
 * Ajout de la possibilité d'importer la géométrie de base à partir d'opérations existantes dans le même travail; discussion du forum, pull request #3537.
 * Ajout d'icônes aux entêtes de section dans la fenêtre de l'éditeur de tâches pour la géométrie de base, les profondeurs, les hauteurs et le fonctionnement; pull request #3631.
 * Ajout de la prise en charge de l'hélice d'entrée conique dans le fonctionnement adaptatif.
 * Préférences pour activer les fonctionnalités qui dépendent d'openCAMLib
 * Préférences pour supprimer les avertissements courants


 * Tâche:
 * Ajout d'un nouveau groupe dans Job pour collecter tous les ToolControllers
 * Prise en charge des décalages gcode WCS (système de coordonnées de travail) aussi connue 'fixations'
 * Gcode peut être généré pour un ou plusieurs décalages
 * La sortie peut être commandée par outil, opération ou équipement pour minimiser les changements d'outil ou le temps de transit.
 * Gcode peut être divisé en plusieurs fichiers de sortie

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

 * Il est maintenant possible de diminuer la multiplicité des nœuds des B-Splines. commit fc89f4eb0.
 * L'outil congé conserve désormais toutes les contraintes existantes possibles des lignes touchées. pull request #4296, forum de discussion
 * Nouvelle méthode pour obtenir l'index géométrique d'une esquisse, ; forum de discussion, pull request # 3713.

Atelier Spreadsheet
L'introduction de App Link a également apporté quelques améliorations aux capacités des Expressions de FreeCAD visibles dans l'Éditeur de propriétés et dans Atelier Spreadsheet. Ceux-ci sont décrits dans Core-Changes et ce fil de discussion.
 * 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, 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. Pull request # 2350, # 2475.

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.

Les données saisies dans une cellule ne sont plus testées comme une expression par défaut. Maintenant, une expression doit commencer par un signe égal à la place. Forum discussion, pull request #4215.

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).
 * Améliorations de la gestion des vues en coupe avec TechDraw Vue en coupe; Forum discussion, pull request #2737.
 * 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 Redessiner pour forcer une mise à jour de la page de dessin tout en ignorant l'état des options "Update with 3d", "Allow page override" ou "KeepUpdated". Cet outil a disparu en 0.18, mais a été réimplémenté pour 0.19; discussion du forum.
 * Le nouvel objet App Link est désormais pris en charge comme source de création de vues; discussion du forum, commit 37b578bf49.
 * Les marques centrales créées à partir d'arêtes circulaires peuvent maintenant être imprimées; pull request #2335, #2962.
 * Il est maintenant possible de remplacer les valeurs affichées pour les tolérances, par exemple pour utiliser du texte dans les tolérances. De plus, on peut désormais utiliser un format d'affichage personnalisé pour chacun, sur et sous-tolérance. pull request #4087
 * Groupe de lignes qui permet de définir les largeurs de ligne par défaut pour les dessins peut maintenant être sélectionné parmi les groupes disponibles dans les préférences. pull request #4083

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.