Release notes 0.20/fr

FreeCAD 0.20 a été publié le DD mois 202x, récupérez-le 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.20.

Les notes de versions plus anciennes de FreeCAD sont disponibles dans la Liste des fonctionnalités.

Compilation
Depuis cette version, FreeCAD ne peut être compilé qu'avec Qt 5 et Python 3.

Pour compiler FreeCAD sous Windows, il existe différents Libpacks (bibliothèques pré-emballées) disponibles :
 * Libpack pour Windows avec Qt xx, OCC yy et Python zz

La version la plus basse de Python prise en charge est la 3.6.9 selon ce fil du forum.

Systèmes d'exploitation pris en charge :
 * Windows 7, 8 et 10
 * Linux Ubuntu Bionic Beaver (18.04) et Focal Fossa (20.04)
 * MacOS version minimale 10.12 Sierra

Autres améliorations de l'interface utilisateur

 * Deux nouveaux modes de navigation à la souris ont été ajoutés. L'un basé sur OpenSCAD, l'autre sur TinkerCAD. Discussion du forum OpenSCAD, Discussion du forum TinkerCAD, commit 1, commit 2, commit 3.
 * Il est maintenant possible de faire un panoramique de la vue du Graphique de dépendance avec la souris. Discussion du forum, pull request #4638.
 * Correction d'un problème où l'utilisation d'un stylet de tablette (par exemple, une tablette Wacom) était lente au point d'être complètement inutilisable. Discussion du forum, Pull request #4687.
 * Le système de coordonnées dans la vue 3D peut être redimensionné dans les préférences dans la section Affichage → Vue 3D. Pull request #5182
 * Un nouveau paramètre dans Préférences → Général permet de substituer le séparateur décimal du pavé numérique par le séparateur de la locale appropriée s'ils sont différents. Pull request #3256 Pull request #5150 Pull request 5203
 * Il est désormais possible de définir la touche comme une touche de raccourci autonome sans avoir à spécifier une nouvelle touche modificatrice. Pull request #5428

Nouvelles API en Python

 * Circle2dPy::getCircleCenter : Récupérer le centre du cercle défini par trois points. commit 3dc91fa2


 * ComplexGeoDataPy::applyRotation : Applique une rotation supplémentaire au placement. commit 32592de8
 * ComplexGeoDataPy::applyTranslation : Applique une translation supplémentaire au placement. commit 32592de8
 * ComplexGeoDataPy::countSubElements : Retourne le nombre d'éléments d'un type. commit 32592de8
 * ComplexGeoDataPy::getElementTypes : Retourne une liste de types d'éléments. commit 32592de8
 * ComplexGeoDataPy::getFaces : Retourne un tuple de points et de triangles avec une précision donnée. commit 32592de8
 * ComplexGeoDataPy::getLines : Retourne un tuple de points et de lignes avec une précision donnée. commit 32592de8
 * ComplexGeoDataPy::getLinesFromSubelement : Retourne les sommets et les lignes d'un sous-élément. commit 32592de8
 * ComplexGeoDataPy::getPoints : Retourne un tuple de points et de normales avec une précision donnée. commit 32592de8
 * ComplexGeoDataPy::transformGeometry : Applique une transformation à la géométrie sous-jacente. commit 32592de8


 * ControlPy::showModelView : Affiche la vue du modèle. commit 033bf619


 * DocumentPy::clearDocument : Efface tout le document. commit 526dc1a0
 * DocumentPy::getFileName : Pour un document standard, retourne la propriété du nom du fichier. Pour un document temporaire, retourne son répertoire transitoire. commit 526dc1a0
 * DocumentPy::getProgramVersion : Récupère la version du programme avec lequel un fichier de projet a été créé. commit 526dc1a0
 * DocumentPy::isClosable : Vérifie si le document peut être fermé. commit 526dc1a0
 * DocumentPy::isSaved : Vérifie si le document est enregistré. commit 526dc1a0
 * DocumentPy::isTouched : Vérifie si un objet est dans l'état touché. commit 526dc1a0
 * DocumentPy::mustExecute : Vérifie si un objet doit être recalculé. commit 526dc1a0
 * DocumentPy::purgeTouched : Purge l'état touché de tous les objets. commit 526dc1a0
 * DocumentPy::setClosable : Définit un drapeau (flag) qui permet ou interdit de fermer un document. commit 526dc1a0


 * DrawPagePy::requestPaint : Peint une page TechDraw. commit 79f9fb68


 * HLRBRep_AlgoPy : Pour accéder à la suppression des lignes cachées de Part (HLR). commit 73a98671
 * HLRBRep_PolyAlgoPy : Pour accéder à la suppression des polylignes cachées de Part (HLR). commit ea85cf5e
 * HLRToShapePy : Pour accéder à la suppression des lignes cachées (HLR) de Part. commit 73a98671
 * PolyHLRToShapePy : Pour accéder à la suppression des polylignes cachées (HLR) de Part. commit ea85cf5e


 * MDIViewPy::printPdf : Imprime un PDF. commit c93031da
 * MDIViewPy::printPreview : Imprime un aperçu. commit c93031da
 * MDIViewPy::printView : Imprime une vue. commit c93031da
 * MDIViewPy::redoActions : Refait les actions. commit c93031da
 * MDIViewPy::undoActions : Annule les actions. commit c93031da


 * PrecisionPy : Pour accéder à la précision définie par le noyau d'OpenCascade. commit 20b86e55


 * PropertyContainerPy::setDocumentationOfProperty : Définit la chaîne de documentation d'une propriété dynamique de cette classe. commit 8cf3cf33
 * PropertyContainerPy::setGroupOfProperty : Fixe le nom du groupe d'une propriété dynamique. commit 8cf3cf33


 * PythonWorkbenchPy::reloadActive : Recharge l'atelier actif après avoir modifié les menus ou les barres d'outils. commit 0bbc253d


 * RotationPy::fromEuler : Définit les angles d'Euler d'une rotation ou obtient les angles d'Euler dans une séquence donnée pour une rotation. commit 951a0be9
 * RotationPy::toEulerAngles : Obtient les angles d'Euler dans une séquence donnée pour cette rotation... commit c1454dfb


 * SpreadsheetViewPy : Pour accéder aux feuilles de tableur. commit 6e713628


 * UnitsApi::sToNumber : Convertit une quantité ou un flottant en une chaîne de caractères. commit befbd95d


 * View3DInventorPy::getCornerCrossSize : Retourne la taille de la croix de l'axe du coin en cours d'utilisation. commit 9d15df29
 * View3DInventorPy::setPopupMenuEnabled : Active le menu popup. commit 9def811a
 * View3DInventorPy::isCornerCrossVisible : Retourne la visibilité de la croix de l'axe du coin. commit 9d15df29
 * View3DInventorPy::isPopupMenuEnabled : Retourne si le menu popup est activé. commit 9def811a
 * View3DInventorPy::projectPointToLine : Projette le point 2d donné sur une ligne. commit b6527a70
 * View3DInventorPy::setCornerCrossSize : Définit la taille de la croix de l'axe du coin. commit 9d15df29
 * View3DInventorPy::setCornerCrossVisible : Définit la visibilité de la croix de l'axe du coin. commit 9d15df29


 * ViewProviderSpreadsheetPy : Pour gérer les cellules des feuilles de tableur. commit 16bbe123 et commit 093f15dc

API modifiées

 * MeshObject::trim(base, normal) a été changé en MeshPy::trimByPlane(base, normal) : Découpe le maillage avec un plan donné. commit 837de28e

Gestionnaire d'Addon
Le gestionnaire d'addons a été modifié pour prendre en charge la distribution des kits de préférences et pour afficher les informations contenues dans les métadonnées d'un addon (pour les ateliers et les kits de préférences, il s'agit du fichier package.xml ; pour les macros, il s'agit des métadonnées intégrées au fichier de macro principal). Le gestionnaire d'addons comprend également une prise en charge améliorée des addons dont le code source se trouve sur quatre sites d'hébergement directement pris en charge : GitHub, Gitlab, Framagit et salsa.debian.org. La prise en charge de la mise en réseau a été améliorée afin de fournir une gestion plus robuste des connexions SSL et la prise en charge des proxies nécessitant une authentification.

Atelier Draft

 * Une case à cocher a été ajoutée au panneau des tâches de nombreuses commandes de dessin. Le fait de la cocher permet de saisir des coordonnées dans le système de coordonnées global même si le plan de travail n'est pas aligné avec le plan XY global.


 * La commande Draft_Hatch.svg Draft Hachure a été introduite. Elle crée des hachures sur les faces d'un objet sélectionné à l'aide de motifs provenant de fichiers PAT d'AutoCAD.


 * La commande Draft_AddNamedGroup.svg Draft Nommer un groupe a été introduite. La commandeDraft_AddToGroup.svg Draft Déplacer vers un groupe a été étendue avec la même fonctionnalité.


 * Le travail sur la commande Draft_SetStyle.svg Draft Définir le style, toujours en cours dans FreeCAD version 0.19, a été terminé.


 * Une option d'édition par double-clic a été ajoutée pour Draft_Text.svg Draft Texte. Elle ouvre le même panneau de tâches d'édition que celui utilisé lors de la création d'un texte.


 * Pour Draft_Dimension.svg Draft Dimensions, la  pour les dimensions architecturales impériales a été introduite.


 * Les objets Draft_Shape2DView.svg Draft Vue 2D d'une forme ont maintenant une propriété . La définition de cette propriété à peut s'avérer utile si un document contient de nombreux objets Draft Vue 2D d'une forme ou s'ils sont complexes.


 * Il est maintenant possible d'inverser une Draft Polyligne via le menu contextuel Draft_Edit.svg Draft Éditer. Discussion du forum, Pull request #4811.

Autres améliorations de Draft

 * Correction de Draft Aimantation Grille lorsque le curseur se trouve sur une face. Discussion du forum. Git commit.


 * Les nouveaux Draft Textes sont désormais alignés sur le plan de travail, Pull request #5092.


 * La prise en charge de deux convertisseurs DWG a été ajoutée : LibreDWG et QCAD pro. Voir Préférences d'Import Export et FreeCAD et l'importation DWG pour plus d'informations.

Autres améliorations de FEM

 * Le support des analyses de flambage linéaire a été ajouté. Pull request #4379
 * Une nouvelle contrainte a été ajoutée : . Pull request #4738
 * Un nouveau solveur a été ajouté : . De nombreux commits.
 * Une nouvelle contrainte a été ajoutée : . Pull request #4982
 * L'ordre des éléments des maillages Gmsh peut être modifié via la boîte de dialogue de maillage. Pull request #4660
 * Les cartes de matériaux peuvent désormais contenir des valeurs de conductivité électrique. Pull request #4647
 * Cartes de matériaux ajoutées pour l'azote et l'argon. Pull request #4649
 * Ajout de la prise en charge des algorithmes de maillage "HXT" (3D) et "Packing Parallelograms" (2D) de Gmsh. Pull request #4654
 * Permettre de définir pour la propriété Optimisation d'ordre élevé de Gmsh un certain algorithme.Pull request #4705
 * Les matériaux solides non linéaires à durcissement simple peuvent désormais avoir un nombre arbitraire de limites d'élasticité. Pull request #5024
 * Ajout/suppression modale d'entités géométriques aux contraintes agissant aux limites. Pull request #5117
 * La plupart des dialogues de contraintes FEM se comportent désormais de manière uniforme et offrent les mêmes fonctionnalités de sélection des objets 3D. Pull request #5391

Amélioration du support des éléments NASTRAN GRID
L'outil d'importation de Mesh supporte maintenant l'élément "GRID*" de haute précision. L'élément "GRID" de précision standard a également été amélioré et supporte maintenant les entrées numériques délimitées par des espaces ainsi que les entrées à largeur de champ fixe, conformément à la documentation du format NASTRAN95.

Autres améliorations de Mesh
Correction des faux négatifs lors des tests d'auto-intersection lorsque les facettes sont coplanaires : Pull request #5002.

Atelier OpenSCAD
L'interopérabilité avec OpenSCAD a été améliorée, en ajoutant le support de plusieurs opérations manquantes dans les versions précédentes (extrusion linéaire avec rotations, extrusions rotatives). Plusieurs opérations ont été modifiées pour fournir des équivalents d'objets FreeCAD améliorés, en particulier pour les extrusions torsadées. La génération de surfaces à partir de données discrètes a été modifiée pour donner des résultats plus proches de ceux d'OpenSCAD, plutôt que des surfaces cannelées.

De nouvelles options ont été ajoutées pour supporter l'exécution de FreeCAD, OpenSCAD, ou les deux, dans des environnements de bacs à sable tels que les AppImages et les paquets Snap : les données peuvent maintenant être transférées vers et depuis OpenSCAD via le mécanisme standard de répertoire temporaire, via un répertoire temporaire spécifié par l'utilisateur auquel les deux exécutables ont accès, ou, nouveauté d'OpenSCAD 2021.1, via un mécanisme de "stdout pipe", contournant entièrement les fichiers temporaires.

Ajouter un élément OpenSCAD - a maintenant des options supplémentaires Load - charger un fichier scad Save - sauvegarder un fichier scad Refresh - mise à jour de la vue FreeCAD Clear - effacer la saisie de texte

Il y a également une zone de texte pour le retour des erreurs d'OpenSCAD.



Autres améliorations de Part

 * La boîte de dialogue pour éditer des Cylindres permet maintenant de spécifier un angle relatif à la normale du plan d'attache choisi. De cette façon, on peut créer des cylindres obliques. Pull request #4708

Autres améliorations de PartDesign

 * Avec la fonction Hélice, on peut désormais utiliser la normale de l'esquisse comme axe. Pull request #5199
 * La fonction Pignon permet désormais de créer également des pignons normalisés ISO. Discussion du forum Pull request #4478
 * Les fonctions Lissage et Balayage permettent désormais d'utiliser les faces du corps pour les sections. Pull request #5155
 * Il est désormais possible de sélectionner plusieurs faces avant d'ouvrir la boîte de dialogue de Protrusion ou Cavité. Dans ce cas, la première face sélectionnée sera utilisée pour déterminer la direction par défaut de la protrusion/cavité. commit d34a5616
 * Dans les boîtes de dialogue de Chanfrein et de Congé, tous les bords d'un corps peuvent être sélectionnés via le menu contextuel en mode Ajout. Pull request #5269 Lorsque vous avez sélectionné un objet 3D avant de cliquer sur l'icône pour créer un congé ou un chanfrein, tous les bords de l'objet seront automatiquement sélectionnés. Pull request #5328
 * Les boîtes de dialogue de Chanfrein et Congé disposent désormais chacune d'une nouvelle case à cocher Utiliser tous les bords, qui est liée à la propriété Use All Edges de ces objets. Lorsque la case est cochée, la propriété est définie à True. Lorsqu'elle n'est pas cochée, la propriété est définie à False. Lorsque Use All Edges est True, il y a une protection contre le problème de dénomination topologique car alors tous les bords de l'objet de base sont utilisés, quel que soit le nombre de bords. Pull request #5340

Autres améliorations de Sketcher

 * Prise en charge de l'Ajustement remanié. Pull Request Discussion du forum <-- Besoin de copies d'écran
 * Le comportement de l'outil Sketcher_CreateSlot.svg Rainure a changé. Les rainures peuvent maintenant être créées en définissant le centre des deux demi-cercles. Pull request #4843 Discussion du forum
 * L'automatisation de la visibilité permet d'ouvrir Sketcher dans une Vue en section lors de l'entrée en mode édition. Pull request #4742 Discussion du forum
 * L'automatisation de la visibilité permet de forcer la caméra en Vue orthographique lorsqu'on rentre dans le mode édition. Pull request #4778 Discussion du forum.
 * Option permettant d'afficher le nom de la contrainte dimensionnelle et d'utiliser un format personnalisé pour celui-ci. Pull request Discussion du forum
 * Lors de l'esquisse d'un arc à 3 points avec Autoconstraint activé, une contrainte tangente est proposée pour les 3 points lors du survol d'une ligne/courbe. Pull request #4945 Discussion du forum.
 * Les contraintes de rayon/diamètre sont affichées en utilisant une rotation angulaire pour faciliter la visualisation. L'angle et le caractère aléatoire optionnel sont réglables par l'utilisateur grâce aux paramètres documentés dans le Réglage fin. Pull request #4934 Discussion du forum
 * Il est maintenant possible de fixer l'angle de la direction lors de l'utilisation de l'outil Réseau rectangulaire. commit Discussion du forum
 * Il est maintenant possible de fixer l'angle de la direction lors de l'utilisation des outils Clone, Copier et Déplacer. commit Discussion du forum
 * Nouvel outil permettant à l'utilisateur d'Sketcher_BSplineInsertKnot.svg Insérer un nœud dans une B-spline existante Pull request #5311.

Atelier Spreadsheet

 * Il est maintenant possible de sélectionner dans le menu contextuel des lignes/colonnes, à quelles positions les nouvelles lignes/colonnes seront insérées. Pull request #4704.

Autres améliorations de Spreadsheet

 * Importation XLSX (utilisée par Std Importer) : Ajout du support des fonctions Partie entière par défaut (floor) et Partie entière supérieure (ceil). Pull request #5015.
 * Liaison de cellules : demande à un ensemble de cellules d'afficher le contenu d'un autre ensemble de cellules. Fait partie de Pull request #2862.
 * Amélioration de la navigation en utilisant les touches et.
 * Amélioration de l'interface pour couper et coller des blocs de cellules.

Autres améliorations de TechDraw

 * Il est désormais possible de Copier et Déplacer des Vues.
 * Lorsqu'il y a plusieurs Pages et que l'on veut ajouter une Vue, un Groupe de projections etc., il y a maintenant un dialogue pour demander à quelle page la vue doit être ajoutée. Pull request #5309.

Ateliers externes
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 les 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.

FCGear
L'atelier FCGear a reçu quelques améliorations :


 * Pour les engrenages à développante, le diamètre extérieur (ou pointe) et le diamètre de la racine sont exposés en tant que propriétés (détails).
 * Les objets engrenages sont maintenant attachables. (détails)
 * Les objets engrenages peuvent désormais être utilisés comme des fonctions additives dans les corps de PartDesign (détails).
 * La création d'objets engrenages apparaît désormais dans la pile d'annulation (détails)