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.

Points forts


Horizontal 4 cylinder rotary valve steam engine, by "un1corn", Users Showcase.



Ajoutez ici une image de haute qualité qui met en évidence un développement de FreeCAD 0.19, avec son auteur, et un lien vers l'origine de l'image.

''Cet assemblage a été réalisé par "Zolko", auteur du nouvel Assembly4 Workbench, qui utilise le nouvel objet puissant App::Link pour importer des milliers de pièces et sous-assemblages différents, en les disposant dans des positions spécifiées au moyen des expressions mathématiques. Voir Users Showcase.''

Pour ce modèle, les pièces n'étaient pas conçues dans FreeCAD, elles étaient juste importées au format STEP puis arrangées avec Assembly4.



Ajoutez ici une image de haute qualité qui met en évidence un développement de FreeCAD 0.19, avec son auteur, et un lien vers l'origine de l'image.



Ajoutez ici une image de haute qualité qui met en évidence un développement de FreeCAD 0.19, avec son auteur, et un lien vers l'origine de l'image.

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.

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.

Autres ajouts dans la fusion App::Link
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.

Forum discussion | Animated gif
 * Dynamic properties can be added to any C++ or Python object. This can make macros such as Macro PropertyMemo obsolete.
 * selection.png
 * Selected elements hidden by other elements are highlighted to indicate their position within the model.
 * }
 * }

Atelier Draft (Planche à dessin)
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éé.

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

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

Atelier Part (Pièce)

 * 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 Path
Moteur à vapeur à soupape rotative horizontal 4 cylindres, par "un1corn", vitrine des utilisateurs.




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


 * Selection of individual faces for 3D surface
 * PathPocket: Extensions (For milling open pockets).
 * Profile Open Edges support.
 * First attempt of 4th-axis support.

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 positionnable individuellement; pull request #2056.

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

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.

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.