Notes de version 0.19
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
Machine à vapeur à soupape rotative horizontale à 4 cylindres, par "un1corn", vitrine des utilisateurs. |
Conception préliminaire de MAORY, un module d'optique adaptative (AO) pour le télescope européen extrêmement grand (E-ELT); ici il est monté sur la plate-forme E-ELT Nasmyth.
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 d'expressions mathématiques. Voir Vitrine des utilisateurs. 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. |
Joint à vitesse constante M. GECIK, par l'utilisateur "ppemawm", voir Users Showcase. Le modèle est inversé, conçu à partir des fichiers STL individuels de Thingiverse par l'auteur original, NOP21. Veuillez noter la licence des fichiers originaux.
Les fichiers STL ont été téléchargés, enregistrés et importés dans FreeCAD. Ils ont été assemblés manuellement à l'aide de l'outil Std Transform. Cet assemblage de maillage a été utilisé comme référence pour créer un solide corps avec PartDesign et les assembler ensuite à l'aide du nouveau Assembly4 Workbench. Le modèle a été démarré avec Assembly4 et chaque pièce a été créée en contexte référençant le modèle STL pour les dimensions esquisse; des esquisses ont été créées à l'échelle 1:1 avec le modèle STL en arrière-plan. |
Ajoute ici une image de haute qualité qui met en évidence un développement dans 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
Qt::AA_ShareOpenGLContexts
pour Qt 5.9 et supérieur ; discussions du forum, commentaire 2a1dd8415, et commentaire 57b3ca6f77. - désactivation du bouton ESC dans
View3DInventor::keyEvent()
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
MainWindow::setActiveWindow
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
git
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.
Interface utilisateur
Le cube de navigation a eu quelques retouches ; maintenant la transparence est utilisée pour être plus agréable aux yeux, et les flèches sont plus grosses pour que vous puissiez cliquer plus facilement. | |
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 du forum; CubeMenu référentiel (LGPL 2.1). | |
Nouveau thème d'icône COIL développé par l'utilisateur 1D_Inc. 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.
Discussion sur le forum 1 (ancien fil), discussion 2 (fil principal), 1D_SVG_Tools dépôt. | |
Nouvelle gestion des thèmes d'icônes développée par l'utilisateur triplus. | |
Nouvelle feuille de style sombre développée par l'utilisateur userzmp2000. | |
Thèmes sombres par l'utilisateur pablogil. Variations bleues, vertes et oranges, qui sont plus sombres que les modèles précédents. | |
L'outil Std Capture d'écran prend désormais en charge la transparence. Les options sont disponibles en cliquant sur le bouton Extended et en modifiant la section Image Properties. |
App::Link et assemblage
L'objet "App::Link" permet de lier de manière allégée des objets d'un document et de documents externes.
Après 2,5 ans de développement, l'objet "Link", ou plus formellement App Link (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 realthunder. 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.
Des propriétés dynamiques peuvent être ajoutées à n'importe quel objet C ++ ou Python. Cela peut rendre obsolètes des macros telles que Macro PropertyMemo.
Discussion sur le forum, animated GIF example. | |
Ces propriétés dynamiques ont été ajoutées dans la fusion App Link;pull request #2350. | |
Les éléments sélectionnés masqués par d'autres éléments sont mis en évidence pour indiquer leur position dans le modèle.
Ces améliorations de sélection ont également été introduites dans la fusion App Link; pull request #2350. | |
Après deux ans de blocage, il y a eu des améliorations dans la façon dont le programme gère les fichiers de sauvegarde. Ils peuvent désormais inclure un horodatage au format %Y%m%d-%H%M%S au lieu d'un simple nombre. Cela peut être défini dans l'éditeur de préférences.
| |
Nouveau champ de saisie pour rechercher rapidement des paramètres dans l'éditeur de paramètres. |
- 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.
Addon Manager
Addon Manager a été mis à niveau; il est désormais capable d'afficher des informations plus complètes sur tous les Ateliers externes et macros et d'afficher une icône pour chacun d'eux. Il permet également de vérifier les mises à jour au démarrage et d'utiliser des référentiels personnalisés. | |
Il montrera également si l'addon est obsolète, déjà installé ou disponible pour la mise à jour. |
Atelier Arch (Architecture)
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.
L'outil Arch Site est à nouveau capable de générer des diagrammes de trajectoire solaire si la latitude, la longitude et la déclinaison sont fournies. Cela nécessite Pysolar 0.7 ou supérieur, et ne fonctionne qu'avec Python 3. | |
L'outil Arch Site peut désormais afficher une boussole pour indiquer la direction du "vrai nord" (déclinaison) dans le modèle. Par défaut, le nord est aligné sur l'axe des ordonnées. Ceci est utile lorsque vous travaillez en coordonnées du monde réel.
Forum discussion, pull request #2111, commit ff1fb11af, pull request #2360. | |
L'outil Arch SectionPlane a maintenant la possibilité de découper la vue pour qu'elle serve de caméra. | |
L'outil Arch Fence a été ajouté pour produire des objets de clôture à partir d'une situation et d'un chemin.
Forum discussion, pull request #2151, pull request #2173, pull request #2263, pull request #2270. | |
Améliorations apportées au module renforcement, qui étend l'outil Arch Rebar.
Interface utilisateur graphique automatisée pour le renforcement : le but est de faciliter la création automatique de barres d’armature simples et complexes. Ce développement a été réalisé dans le cadre du projet Google Summer of Code 2019 : Suraj_Dadral/gsoc_proposal. Discussion du forum, FreeCAD-Reinforcement (code maître), [https: //github.com/SurajDadral/FreeCAD-Reinforcement SurajDadral/FreeCAD-Reinforcement] (fork de développement). | |
Nouveaux modes de rendu pour le Arch Plan de section qui peuvent être sélectionnés lors de l'utilisation de la TechDraw Vue architecturale, DonnéesRender Mode, Coin et Coin mono . Le plan de coupe génère un SVG qui est simplement affiché dans une page TechDraw. Avec ces nouveaux modes, la génération SVG est effectuée par Coin. C'est plus rapide que d'utiliser Wireframe et Solid qui utilisent le noyau OCCT interne pour calculer la projection SVG. Le compromis est entre la vitesse et la précision. Les modes Coin sont plus rapides mais moins précis tandis que les modes originaux sont plus précis mais relativement lents.
| |
Nouvel outil Arch Couper suivant une ligne pour couper des objets solides, comme Arch Murs et Arch Structure, en utilisant une arête, comme une Draft Ligne. Cela fonctionne de manière similaire à l'existantArch Couper suivant un plan. | |
Arch comprend désormais un importateur Shapefile, couramment utilisé dans les applications SIG. L'importateur utilise la bibliothèque shapefile.py du projet pyshp. Cette bibliothèque doit être téléchargée lors de la première exécution.
Fil du forum, commit 916a42397c. Image d'un site partagé par @HnsaCAD pour @gemeentearnhem. | |
Nouvel outil Arch Treillis pour créer une variété de fermes/treillis. Comme Arch Murs, ils sont construits à partir d'une ligne de base et différentes propriétés définissent la forme du treillis, sa hauteur et les éléments intermédiaires.
Il prend également en charge Arch Arch Matériaux multiples pour affecter différents matériaux aux éléments inférieur, supérieur et intermédiaire. | |
Nouvel outil Arch Arch Mur-rideau pour créer différents types de murs. Cet outil a besoin d'une surface de base pour travailler. Si rien n'est sélectionné, vous pouvez simplement tracer une ligne entre deux points, comme le classique Arch Mur. La surface est ensuite subdivisée en lignes et en colonnes, quatre points sont extraits des subdivisions de la surface formant des facettes quadrangulaires. |
Atelier Draft (Planche à dessin)
L'outil Draft Edit a été mis à niveau pour permettre la modification simultanée de plusieurs objets Draft et pour afficher également de meilleurs traqueurs.
Discussion sur le forum, pull request #1968, commit 272a8dfcc9, commit 7de2248bb, pull request #2108, pull request #2430; GIF animé exemple. L'outil a également été déplacé dans son propre module: commit a4e2df115d, commit c351b9094. | |
Nouvel outil Draft Surligner les sous éléments pour mettre en surbrillance les nœuds et les bords de certains objets, comme Draft Fils, afin de les modifier à l'aide de modificateurs comme Draft Déplacer, Draft Rotation et Draft Echelle. Il vous permet de sélectionner plusieurs objets à modifier au lieu d'un seul. Une fois les objets mis en surbrillance, vous pouvez sélectionner des sous-éléments, sommets et arêtes spécifiques, et transformer (déplacer, faire pivoter, mettre à l'échelle) uniquement ceux-ci.
Cet outil a été spécialement développé pour aider à modifier la forme de Arch Murs qui est basée sur Draft Fils. Lorsque plusieurs murs sont sélectionnés et que l'outil est utilisé, les fils de base deviennent automatiquement visibles et affichent leurs nœuds bien en évidence. Discussion sur le forum, pull request #1975; video demonstration 1, 2. | |
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, pull request #2072; animated GIF exemple. | |
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.
Discussion sur le forum, commit 4f19a65559, commit 0b905fade0, pull request #2286. Une interface de ligne de commande appropriée ainsi qu'un test unitaire sont également fournis. | |
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 du forum (développement), discussion du forum (annonce), commit 5ee99ca4ee, commit 36bc48c9bf. | |
Amélioration des routines SVG de Draft pour 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.
Une nouvelle propriété DonnéesOverride Style est ajoutée à TechDraw Vue Draft afin de choisir si l'apparence des objets Draft est conservée (nouvelle) ou remplacée par la page TechDraw (ancien comportement). | |
Nouvel outil Draft Congé qui crée un congé (coin arrondi) ou un chanfrein (ligne droite) entre deux simples Draft Lignes. | |
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é.
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. | |
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éé.
Cet outil Draft Réseau polaire peut créer les nouveaux objets App Link ou les copies traditionnelles. | |
L'objet Array a un nouveau mode "circulaire". Ceci est contrôlé par de nouvelles propriétés: DonnéesRadialDistance, DonnéesTangentialDistance, DonnéesNumberCircles et DonnéesSymmetry.
Forum discussion, pull request #2585. 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. | |
Les tests unitaires de l'atelier 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 | |
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. | |
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 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. | |
File:Draft AnnotationStyleEditor example.png | Nouvel outil Draft Editeur styles d'annotations pour créer des styles d'annotations. Ces styles peuvent définir des éléments comme la police du texte, la taille, la couleur et les flèches, qui peuvent être appliqués à n'importe lequel de vos textes, dimensions ou étiquettes. Nous avons commencé par implémenter un éditeur et un système pour stocker les styles dans le document. Les prochaines étapes seront l'adaptation des différents objets d'annotation pour prendre en charge les styles.
Discussion sur le forum, commit 1b887fa0f5, commit 4555a77663, commit 5b3fea59e0. |
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.
Atelier FEM
Après six mois de développement et de test, la branche "femconcrete" a été ajoutée au FEM Workbench. Cela fournit des outils pour estimer le niveau de ferraillage requis dans une structure en béton pour éviter une rupture fragile sous tension ou cisaillement. Il s'agit essentiellement d'une routine de post-traitement pour le solveur CalculiX, qui calcule les principales contraintes de traction dans le béton à partir d'une analyse élastique et les utilise pour déterminer le ferraillage minimum dans les trois directions de coordonnées requises pour éviter la rupture.
Discussion sur le forum, pull request #2267; Analyse du béton armé avec FEM (tutoriel). | |
Après quelques mois de développement, la macro "fcFEM" a été publiée. Elle implémente un solveur d'éléments finis entièrement en Python. Son auteur l'a conçu pour surmonter les limites d'autres solveurs externes, comme CalculiX et z88. Certaines des améliorations prévues comprennent la création d'analyses de maillage mixtes, des éléments de poutre et de coque améliorés, le contrôle de la longueur de l'arc pour surmonter les points limites dans les analyses élastiques-plastiques, la mise en œuvre d'éléments d'interface à épaisseur nulle pour différentes applications, etc.
En temps voulu, ce solveur pourrait être distribué avec l'atelier FEM, ce qui signifie que le projet FreeCAD aurait son propre solveur par éléments finis pour effectuer des analyses mécaniques et structurelles. Discussion sur le forum; fcFEM dépôt (LGPL 2). | |
L'optimisation de la topologie est depuis longtemps une fonctionnalité souhaitée pour ceux qui travaillent avec FEM. En 2016, le projet BESO (Bi-directional Evolutionary Structural Optimization) a été lancé, mettant en œuvre une méthode itérative avec le solveur CalculiX qui supprime les éléments inefficaces d'un maillage afin d'optimiser la masse de la conception. Dans le cycle de développement 0.19, une interface graphique simple a été développée pour faciliter la génération des fichiers de configuration beso.
Discussion sur le forum; beso dépôt (LGPL 3). | |
Semblable à beso, le projet ToOptix fournit également une macro pour effectuer l'optimisation de la topologie; il ne fonctionne actuellement que dans les études de structure et de transfert thermique.
Discussion sur le forum (pour indication); ToOptixFreeCADAddon dépôt (GPL 2). |
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.
Prise en main des matériaux
Rien
Mesh (Maillage)
Mesh FromPartShape est maintenant en mesure de créer meshes en utilisant Gmsh. Ce mailleur est un programme externe qui doit être installé dans le système avant de pouvoir être utilisé. Gmsh était déjà l'une des options pour créer des maillages d'éléments finis avec l'Atelier FEM.
De plus, maintenant la boîte de dialogue Mesh FromPartShape se souviendra des paramètres que vous avez utilisés la dernière fois. |
Autres améliorations
- Il est désormais possible de prendre un fichier maillé OpenInventor (.iv) et de l'exporter en STL; Discussion sur le forum, commit 601ac707b207c6.
Atelier Part (Pièce)
Nouvelle commande Part Points à partir de maillage pour créer un objet composé de points à partir d'un maillage importé. Les points peuvent ensuite être utilisés comme objets de référence pour effectuer d'autres opérations, telles que définir un plan et dessiner une esquisse. Cela peut être utilisé pour inverser l'ingénierie ou remodeler les maillages en créant des objets solides.
Forum discussion (et vidéo), pull request #2450. | |
Un script est fourni dans Mod/Part/parttests/part_test_objects.py . 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.
|
Autres améliorations
- Correction du support cassé pour les unités "INCH" lors de l'exportation aux formats STEP/IGES; discussion du forum, commit 1b26173580.
- Nouvelle méthode Face:
Part.Face.cutHoles(list_of_wires)
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.
Atelier PartDesign (Conception de pièces)
PartDesign Fonctionnalités ont une propriété "Attachment" qui s'affiche désormais lorsque le mode de pièce jointe est "désactivé" en affichant une petite superposition à gauche de l'icône dans la vue en arborescence. Les entités attachées à un plan ou à une autre référence n'affichent pas cette superposition. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Les boîtes de dialogue permettant de modifier les fonctions PartDesign Congés, PartDesign Chanfreins, PartDesign Epaisseur et PartDesign Dépouille ont été améliorées pour permettre la sélection de plusieurs sous-éléments (arêtes et faces) immediatement.
Discussion sur le forum, pull request #3050, GIF animé exemple. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
La boîte de dialogue pour modifier les chanfreins permet désormais de définir également des chanfreins
Ces 2 paramètres peuvent également être inversés dans la boîte de dialogue. Forum discussion, pull request #3456 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
File:PartDesign Primitive parameters expressions.png | Il est désormais possible de définir des Expressions pour tous les paramètres des PartDesign Composantes primitives additives et PartDesign Composantes primitives soustractives. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
File:PartDesign Attachment angles expressions.png | Il est désormais 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. Atelier Path
Atelier RenderAjout 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
Atelier Spreadsheet (Feuille de calcul)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 .
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 Start
Atelier SurfaceNone Atelier TechDraw (Mise en plan)
Améliorations futures de TechDraw
Web
MacrosVoir Macros pour de nombreuses autres macros.
Modules AdditionnelsRemarque: 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. Outils d'impression 3D
A2plus
Assembly3
Assembly4
ArchTextures
BOLTSFC
Atelier CurvedShapes
Dodo (anciennement Flamingo)
Fasteners (Fixations)
Atelier MeshRemodel
Atelier MOOC
NodeEditor (PyFlow)
Trails, PyTrails, Turns et pivy_trackers
Atelier Géomatique
|