OpenSCAD Workbench/fr: Difference between revisions

From FreeCAD Documentation
mNo edit summary
No edit summary
(47 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Docnav/fr
[[Image:OpenSCADWorkbench.svg|64px]]
|[[Mesh Module/fr|Atelier Mesh]]
|[[Part Module/fr|Atelier Part]]
|IconL=Workbench_Mesh.svg
|IconR=Workbench_Part.svg
}}

[[Image:Workbench_OpenSCAD.svg|thumb|128px|Icône de l'atelier OpenSCAD]]


== Introduction ==
== Introduction ==

Le module OpenSCAD est au début de son développement.Il est destiné à offrir une interopérabilité avec le logiciel open source[http://www.openscad.org/ OpenSCAD].
L'[[Image:Workbench_OpenSCAD.svg|24px]] [[OpenSCAD_Module/fr|atelier OpenSCAD]] est destiné à offrir une interopérabilité avec le logiciel open source [http://www.openscad.org/ OpenSCAD]. Ce programme n'est pas distribué comme partie prenante de FreeCAD mais doit être installé pour utiliser pleinement cet atelier.


Il contient un importateur [[OpenSCAD_CSG/fr|CSG]] pour ouvrir les fichiers CSG créés par OpenSCAD et un exportateur pour générer une arborescence basée sur CSG. Les géométries non basées sur des opérations CSG seront exportées sous forme de maillage.
Il contient un importateur [[OpenSCAD_CSG/fr|CSG]] pour ouvrir les fichiers CSG créés par OpenSCAD et un exportateur pour générer une arborescence basée sur CSG. Les géométries non basées sur des opérations CSG seront exportées sous forme de maillage.


Cet atelier contient des fonctions permettant de modifier l'arborescence des fonctionnalités CSG et de réparer les modèles.
Cet atelier contient des fonctions permettant de modifier l'arborescence des éléments CSG et de réparer les modèles. Il contient également des outils d'usage général qui ne nécessitent pas l'installation d'OpenSCAD et peuvent être utilisés conjointement avec d'autres ateliers. Par exemple, l'[[Mesh_Workbench/fr|Atelier Mesh]] utilise en interne les fonctions OpenSCAD pour effectuer des opérations avec des [[mesh/fr|meshes (maillage)]] car elles sont assez robustes.


{{TOCright}}
{{TOCright}}
[[Image:OpenSCADexamaple1.png]]
[[Image:OpenSCADexamaple1.png]]

== Dépendances ==

Dans FreeCAD 0.19, le module Ply (Python-Lex-Yacc), qui est utilisé pour importer des fichiers CSG, a été supprimé du code source de FreeCAD, car il s'agit d'une bibliothèque tierce non développée par FreeCAD. Par conséquent, vous devez maintenant installer Ply avant d'utiliser OpenSCAD Workbench. Lorsque vous utilisez une version pré-packagée et stable de FreeCAD, cette dépendance doit être installée automatiquement sur toutes les plates-formes. Dans d'autres cas, par exemple, lorsque vous voulez [[Compiling/fr|compiler]] à partir de la source, vous devrez peut-être l'installer à partir d'un référentiel en ligne.

Dans les systèmes basés sur Debian/Ubuntu, cela se fait comme ceci.
{{Code|code=
sudo apt install python3-ply
}}

L'installation générale sur toutes les plates-formes peut être effectuée à partir de l'index du package Python.
{{Code|code=
pip3 install --user ply
}}


==Langage OpenSCAD et format de fichier==
==Langage OpenSCAD et format de fichier==
Line 18: Line 40:
== Outils ==
== Outils ==


* [[Image:OpenSCAD_ColorCodeShape.png|32px]] [[OpenSCAD_ColorCodeShape/fr|ColorCodeShape]]: Change la couleur de la sélection, ou toutes les formes en fonction de leurs validités.
* [[Image:OpenSCAD_ColorCodeShape.svg|32px]] [[OpenSCAD_ColorCodeShape/fr|ColorCodeShape]] : Change la couleur de la sélection, ou toutes les formes en fonction de leurs validités.
* [[Image:OpenSCAD_ReplaceObject.png|32px]] [[OpenSCAD_ReplaceObject/fr|ReplaceObject]]: Remplacer un objet dans l'arborescence des fonctionnalités. Veuillez sélectionner les anciennes, les nouvelles et les objets parents.
* [[Image:OpenSCAD_ReplaceObject.svg|32px]] [[OpenSCAD_ReplaceObject/fr|ReplaceObject]] : Remplace un objet dans l'arborescence des éléments.
* [[Image:OpenSCAD_RemoveSubtree.png|32px]] [[OpenSCAD_RemoveSubtree/fr|RemoveSubtree]]: Supprime les objets sélectionnés, et, toute la descendance qui n'est pas référencée et provenant d'autres objets.
* [[Image:OpenSCAD_RemoveSubtree.svg|32px]] [[OpenSCAD_RemoveSubtree/fr|RemoveSubtree]] : Supprime les objets sélectionnés, et toute leur descendance non référencée depuis d'autres objets.
* [[Image:OpenSCAD_RefineShapeFeature.png|32px]] [[OpenSCAD_RefineShapeFeature/fr|RefineShapeFeature]]: Créer et affiner les caractéristiques de la forme.
* [[Image:OpenSCAD_RefineShapeFeature.svg|32px]] [[OpenSCAD_RefineShapeFeature/fr|RefineShapeFeature]] : Crée et affine les caractéristiques de la forme.
* [[Image:OpenSCAD_IncreaseTolerance.png|32px]] [[OpenSCAD_IncreaseTolerance/fr|Increase Tolerance Feature]]:
* [[Image:OpenSCAD_IncreaseToleranceFeature.svg|32px]] [[OpenSCAD_IncreaseTolerance/fr|Increase Tolerance Feature]] : Augmente la tolérance des arêtes/faces/sommets des objets sélectionnés.
* [[Image:OpenSCAD_Edgestofaces.png|32px]] [[OpenSCAD_Edgestofaces/fr|Edgestofaces]]: Convertir les Bords en Faces. Utile pour préparer les formes géométriques '''DXF''' importées, pour les extruder.
* [[Image:OpenSCAD_Edgestofaces.png|32px]] [[OpenSCAD_Edgestofaces/fr|Edgestofaces]] : Converti les Bords en Faces. Utile pour préparer les formes géométriques '''DXF''' importées, pour les extruder.
* [[Image:OpenSCAD_ExpandPlacements.png|32px]] [[OpenSCAD_ExpandPlacements/fr|ExpandPlacements]]: Développe toutes les étapes vers le bas.
* [[Image:OpenSCAD_ExpandPlacements.png|32px]] [[OpenSCAD_ExpandPlacements/fr|ExpandPlacements]] : Développe toutes les éléments vers le bas de l'arborescence.
* [[Image:OpenSCAD_ExplodeGroup.png|32px]] [[OpenSCAD_ExplodeGroup/fr|Explode Group]]:
* [[Image:OpenSCAD_ExplodeGroup.png|32px]] [[OpenSCAD_ExplodeGroup/fr|Explode Group]]: Dégroupe les primitives des pièces fusionnées.
* [[Image:OpenSCAD_AddOpenSCADElement.png|32px]] [[OpenSCAD_AddOpenSCADElement/fr|AddOpenSCADElement]]: Ajoute un élément OpenSCAD en entrant le code OpenSCAD dans le panneau de tâches et exécute le binaire OpenSCAD (OpenSCAD doit être installé sur votre ordinateur) Remarque: Cet icône ne s'affiche pas (même si OpenSCAD est installé sur votre ordinateur), vous devez également configurer FreeCAD. [https://sourceforge.net/apps/mediawiki/free-cad/index.php?title=OpenSCAD_AddOpenSCADElement#Initial_set_up_from_within_FreeCAD Voir ici pour plus de détails]
* [[Image:OpenSCAD_AddOpenSCADElement.png|32px]] [[OpenSCAD_AddOpenSCADElement/fr|AddOpenSCADElement]] : Ajoute un élément OpenSCAD en entrant le code OpenSCAD dans le panneau de tâches et exécute le binaire OpenSCAD (OpenSCAD doit être installé sur votre ordinateur) Remarque: Cet icône ne s'affiche pas (même si OpenSCAD est installé sur votre ordinateur), vous devez également configurer FreeCAD. [https://sourceforge.net/apps/mediawiki/free-cad/index.php?title=OpenSCAD_AddOpenSCADElement#Initial_set_up_from_within_FreeCAD Voir ici pour plus de détails]
* [[Image:OpenSCAD_MeshBoolean.png|32px]] [[OpenSCAD_MeshBoolean/fr|Mesh Boolean...]]:
* [[Image:OpenSCAD_MeshBoolean.png|32px]] [[OpenSCAD_MeshBoolean/fr|Mesh Boolean...]] : Crée un nouvel objet maille avec une opération booléenne à partir de plusieurs formes.
* [[Image:OpenSCAD_Hull.png|32px]] [[OpenSCAD_Hull/fr|Hull]]:
* [[Image:OpenSCAD_Hull.svg|32px]] [[OpenSCAD_Hull/fr|Hull]] : Applique une coque aux formes sélectionnées.
* [[Image:OpenSCAD_Minkowski.png|32px]] [[OpenSCAD_Minkowski/fr|Minkowski]]:
* [[Image:OpenSCAD_Minkowski.svg|32px]] [[OpenSCAD_Minkowski/fr|Minkowski]] : Applique une somme de Minkowski aux formes sélectionnées.


==Préférences==
== Préférences ==


* [[Image:Std_DlgParameter.png|32px]] [[OpenSCAD_Preferences/fr|Préférences...]]: Préférences disponibles dans OpenSCAD Tools.
* [[Image:Std_DlgParameter.svg|32px]] [[OpenSCAD_Preferences/fr|Préférences...]]: préférences disponibles dans OpenSCAD Tools.


==Limites==
==Limites==
OpenSCAD permet la construction de formes géométriques solides, comme l'importation de fichiers de maillage et d'extrusion géométriques 2d à partir de fichiers [[DXF/fr|DXF]]. FreeCAD permet ainsi de faire des [[OpenSCAD_CSG/fr|.CSG]] avec primitives. Le noyau géométrique de FreeCAD (OCCT) travaille sur une représentation des frontières. La conversion de [[OpenSCAD_CSG/fr|.CSG]] en [http://fr.wikipedia.org/wiki/B-Rep BREP] doit donc être théoriquement possible, alors que la conversion de [http://fr.wikipedia.org/wiki/B-Rep BREP] vers [[OpenSCAD_CSG/fr|.CSG]] ne l'est généralement pas.

OpenSCAD permet la construction de formes géométriques solides, comme l'importation de fichiers de maillage et d'extrusion géométriques 2d (à partir de fichiers [http://fr.wikipedia.org/wiki/Drawing_eXchange_Format .dxf]). FreeCAD permet ainsi de faire des [[OpenSCAD_CSG/fr|.CSG]] avec primitives. Le noyau géométrique de FreeCAD (OCCT) travaille sur une représentation. La conversion de [[OpenSCAD_CSG/fr|.CSG]] en [http://fr.wikipedia.org/wiki/B-Rep BREP] doit donc être théoriquement possible. Alors que la conversion de [http://fr.wikipedia.org/wiki/B-Rep BREP] à [[OpenSCAD_CSG/fr|.CSG]] est, actuellement impossible.


OpenSCAD fonctionne en interne avec les maillages (mesh). Certaines opérations qui sont utiles sur les maillages ne sont pas significatives sur un modèle BREP et peuvent ne pas être entièrement supporté. Parmi celle-ci figurent le recouvrement convexe, la somme de Minkowski, glide et subdiv. Pour l’instant OpenSCAD est exécuté pour réaliser le recouvrement convexe et la somme de Minkowski et importer le résultat. Cela signifie que la géométrie impliquée sera triangulée. Avec OpenSCAD la mise à l’échelle non uniforme est souvent utilisée, ce qui ne pose pas de problèmes avec les maillages. Avec notre noyau géométrique, les formes primitives (lignes, sections circulaires, etc) sont converties en BSpline avant d’être déformées. Ces BSplines sont connues pour poser problèmes avec des opérations booléennes futures. Une solution automatique n’est pas disponible pour le moment. S’il vous plaît n’hésitez pas à poster sur le [http://forum.freecadweb.org/ forum] si vous rencontrez ce genre de problème. Souvent ce genre de problèmes peut être résolu en modélisant des parties plus petites. Une déformation d’un cylindre peut être remplacée par l’extrusion d’une ellipse.
OpenSCAD fonctionne en interne avec les maillages (mesh). Certaines opérations qui sont utiles sur les maillages ne sont pas significatives sur un modèle BREP et peuvent ne pas être entièrement supporté. Parmi celle-ci figurent le recouvrement convexe, la somme de Minkowski, glide et subdiv. Pour l’instant OpenSCAD est exécuté pour réaliser le recouvrement convexe et la somme de Minkowski et importer le résultat. Cela signifie que la géométrie impliquée sera triangulée. Avec OpenSCAD la mise à l’échelle non uniforme est souvent utilisée, ce qui ne pose pas de problèmes avec les maillages. Avec notre noyau géométrique, les formes primitives (lignes, sections circulaires, etc) sont converties en BSpline avant d’être déformées. Ces BSplines sont connues pour poser problèmes avec des opérations booléennes futures. Une solution automatique n’est pas disponible pour le moment. S’il vous plaît n’hésitez pas à poster sur le [http://forum.freecadweb.org/ forum] si vous rencontrez ce genre de problème. Souvent ce genre de problèmes peut être résolu en modélisant des parties plus petites. Une déformation d’un cylindre peut être remplacée par l’extrusion d’une ellipse.


<div class="mw-translate-fuzzy">
==Conseils==
==Conseils==
Lors de l'importation du fichier [[DXF/fr|DXF]], il faut définir la précision du projet à une valeur raisonnable, car cela aura une incidence sur la détection des arêtes connectées.


Lors de l'importation du fichier '''[http://fr.wikipedia.org/wiki/DXF .DXF]''', il faut définir la précision du projet, à une valeur raisonnable, car cela aura une incidence sur la détection des arêtes connectées. '''(Édition → Préférences → Draft Importation/ExportationOptions du format DXFSegment de courbes maximal)'''
Si FreeCAD se bloque lors de l'importation de CSG, il est fortement recommandé d'activer la case à cocher ''Vérifier les modèles automatiquement après une opération booléenne'' dans le menu {{MenuCommand|Édition → Préférences → Conception de piècesGénéralParamètres de modèle}}
</div>

<div class="mw-translate-fuzzy">
Si FreeCAD se bloque lors de l'importation de CSG, il est fortement recommandé d'activer la case à cocher '''Vérifier les modèles automatiquement après une opération booléenne''' dans le menu '''Édition → Préférences → Conception de pièces → Général → Paramètres de modèle'''
</div>


== Tutoriels ==
== Tutoriels ==
Line 55: Line 71:


== Liens ==
== Liens ==
* Dépôt du code source d'OpenSCAD [https://github.com/openscad/openscad GitHub]
* [https://freecadweb.org/tracker/search.php?tag_string=OpenSCAD Open tickets tagged "Openscad" sur le FreeCAD bugtracker]
* [http://www.thingiverse.com/tag:openscad Plus de renseignements au sujet d'Openscad sur Thingiverse]
* [http://www.thingiverse.com/tag:openscad Plus de renseignements au sujet d'Openscad sur Thingiverse]


{{Docnav/fr
<div class="mw-translate-fuzzy">
{{docnav/fr|Arch Module/fr|Plot_Module/fr}}
|[[Mesh Module/fr|Atelier Mesh]]
|[[Part Module/fr|Atelier Part]]
</div>
|IconL=Workbench_Mesh.svg
|IconR=Workbench_Part.svg
}}


{{OpenSCAD Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
[[Category:Workbenches{{#translation:}}]]

Revision as of 10:52, 29 April 2020

Icône de l'atelier OpenSCAD

Introduction

L' atelier OpenSCAD est destiné à offrir une interopérabilité avec le logiciel open source OpenSCAD. Ce programme n'est pas distribué comme partie prenante de FreeCAD mais doit être installé pour utiliser pleinement cet atelier.

Il contient un importateur CSG pour ouvrir les fichiers CSG créés par OpenSCAD et un exportateur pour générer une arborescence basée sur CSG. Les géométries non basées sur des opérations CSG seront exportées sous forme de maillage.

Cet atelier contient des fonctions permettant de modifier l'arborescence des éléments CSG et de réparer les modèles. Il contient également des outils d'usage général qui ne nécessitent pas l'installation d'OpenSCAD et peuvent être utilisés conjointement avec d'autres ateliers. Par exemple, l'Atelier Mesh utilise en interne les fonctions OpenSCAD pour effectuer des opérations avec des meshes (maillage) car elles sont assez robustes.

Dépendances

Dans FreeCAD 0.19, le module Ply (Python-Lex-Yacc), qui est utilisé pour importer des fichiers CSG, a été supprimé du code source de FreeCAD, car il s'agit d'une bibliothèque tierce non développée par FreeCAD. Par conséquent, vous devez maintenant installer Ply avant d'utiliser OpenSCAD Workbench. Lorsque vous utilisez une version pré-packagée et stable de FreeCAD, cette dépendance doit être installée automatiquement sur toutes les plates-formes. Dans d'autres cas, par exemple, lorsque vous voulez compiler à partir de la source, vous devrez peut-être l'installer à partir d'un référentiel en ligne.

Dans les systèmes basés sur Debian/Ubuntu, cela se fait comme ceci.

sudo apt install python3-ply

L'installation générale sur toutes les plates-formes peut être effectuée à partir de l'index du package Python.

pip3 install --user ply

Langage OpenSCAD et format de fichier

Le langage OpenSCAD permet l'utilisation de variables et de boucles. Il permet de spécifier les sous-modules pour réutiliser le code et les formes géométriques. Cette grande flexibilité, rend l'analyse très complexe. Actuellement le module OpenSCAD de FreeCAD ne permet pas de gérer le langage OpenSCAD nativement. Au contraire, si OpenSCAD est installé, il est utilisé pour compiler l'entrée dans un format de sortie nommé CSG. C'est un sous-ensemble du langage d'OpenSCAD et peut être utilisé comme entrée de OpenSCAD pour un traitement ultérieur. Cependant dans cette étape de la compilation, tous les comportements paramétriques sont perdus. Tous les noms de variables seront écartés, les boucles sont élargies et les expressions mathématiques sont évaluées.

Outils

  • ColorCodeShape : Change la couleur de la sélection, ou toutes les formes en fonction de leurs validités.
  • ReplaceObject : Remplace un objet dans l'arborescence des éléments.
  • RemoveSubtree : Supprime les objets sélectionnés, et toute leur descendance non référencée depuis d'autres objets.
  • RefineShapeFeature : Crée et affine les caractéristiques de la forme.
  • Increase Tolerance Feature : Augmente la tolérance des arêtes/faces/sommets des objets sélectionnés.
  • Edgestofaces : Converti les Bords en Faces. Utile pour préparer les formes géométriques DXF importées, pour les extruder.
  • ExpandPlacements : Développe toutes les éléments vers le bas de l'arborescence.
  • Explode Group: Dégroupe les primitives des pièces fusionnées.
  • AddOpenSCADElement : Ajoute un élément OpenSCAD en entrant le code OpenSCAD dans le panneau de tâches et exécute le binaire OpenSCAD (OpenSCAD doit être installé sur votre ordinateur) Remarque: Cet icône ne s'affiche pas (même si OpenSCAD est installé sur votre ordinateur), vous devez également configurer FreeCAD. Voir ici pour plus de détails
  • Mesh Boolean... : Crée un nouvel objet maille avec une opération booléenne à partir de plusieurs formes.
  • Hull : Applique une coque aux formes sélectionnées.
  • Minkowski : Applique une somme de Minkowski aux formes sélectionnées.

Préférences

Limites

OpenSCAD permet la construction de formes géométriques solides, comme l'importation de fichiers de maillage et d'extrusion géométriques 2d à partir de fichiers DXF. FreeCAD permet ainsi de faire des .CSG avec primitives. Le noyau géométrique de FreeCAD (OCCT) travaille sur une représentation des frontières. La conversion de .CSG en BREP doit donc être théoriquement possible, alors que la conversion de BREP vers .CSG ne l'est généralement pas.

OpenSCAD fonctionne en interne avec les maillages (mesh). Certaines opérations qui sont utiles sur les maillages ne sont pas significatives sur un modèle BREP et peuvent ne pas être entièrement supporté. Parmi celle-ci figurent le recouvrement convexe, la somme de Minkowski, glide et subdiv. Pour l’instant OpenSCAD est exécuté pour réaliser le recouvrement convexe et la somme de Minkowski et importer le résultat. Cela signifie que la géométrie impliquée sera triangulée. Avec OpenSCAD la mise à l’échelle non uniforme est souvent utilisée, ce qui ne pose pas de problèmes avec les maillages. Avec notre noyau géométrique, les formes primitives (lignes, sections circulaires, etc) sont converties en BSpline avant d’être déformées. Ces BSplines sont connues pour poser problèmes avec des opérations booléennes futures. Une solution automatique n’est pas disponible pour le moment. S’il vous plaît n’hésitez pas à poster sur le forum si vous rencontrez ce genre de problème. Souvent ce genre de problèmes peut être résolu en modélisant des parties plus petites. Une déformation d’un cylindre peut être remplacée par l’extrusion d’une ellipse.

Conseils

Lors de l'importation du fichier DXF, il faut définir la précision du projet à une valeur raisonnable, car cela aura une incidence sur la détection des arêtes connectées.

Si FreeCAD se bloque lors de l'importation de CSG, il est fortement recommandé d'activer la case à cocher Vérifier les modèles automatiquement après une opération booléenne dans le menu Édition → Préférences → Conception de pièces → Général → Paramètres de modèle

Tutoriels

Liens