Macro Solid Sweep/fr: Difference between revisions

From FreeCAD Documentation
m ("Name=")
No edit summary
 
(43 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
=Macro Balayage solide=
{{Macro/fr

|Name=Balayage solide
{{Macro/fr|Icon=Text-x-python|Name=Balayage solide|Name/fr=Balayage solide|Description=Créé un solide en balayant un profil le long d'une trajectoire.|Author=Normandc}}
|Icon=Macro_Solid_Sweep.png
|Description=Créé un solide en balayant un profil le long d'une trajectoire.
|Author=Normandc
|Version=1.0
|Date=2011-12-03
|FCVersion=Toutes versions
|Download=[https://www.freecadweb.org/wiki/images/6/6d/Macro_Solid_Sweep.png
Icône pour votre barre d'outils]
}}


==Description==
Cette macro créé un solide en balayant un profil le long d'une trajectoire, les deux éléments ayant précédemment été sélectionnés dans la vue 3D. Les éléments 2D peuvent être créés à l'aide des outils existants de l'interface graphique de FreeCAD.
Cette macro créé un solide en balayant un profil le long d'une trajectoire, les deux éléments ayant précédemment été sélectionnés dans la vue 3D. Les éléments 2D peuvent être créés à l'aide des outils existants de l'interface graphique de FreeCAD.


Line 9: Line 19:
[[File:Solid_sweep.png‎|500px|Quelques exemples de balayages utilisant une même section oblongue et trois types de trajectoires.]]
[[File:Solid_sweep.png‎|500px|Quelques exemples de balayages utilisant une même section oblongue et trois types de trajectoires.]]


=== Utilisation ===
== Utilisation ==


* Créer deux éléments 2D, un pour la section et l'autre pour la trajectoire, selon les types listés ci-dessous.
# Créez deux éléments 2D, un pour la section et un pour la trajectoire, des types répertoriés ci-dessous.
* Sélectionner soit dans l'arborescence de projet, soit dans la vue 3D, en premier lieu la trajectoire, et ensuite la section. Attention, l'ordre de sélection est important!
# Sélectionnez, soit dans la [[Tree view/fr|vue en arborescence]] soit dans [[3D view/fr|Vue 3D]] ('''L'ordre est important!'''):
## La trajectoire
* Ouvrir le gestionnaire Macro, sélectionner la macro et cliquer sur « Lancer ».
## Puis le profil
* Un objet '''Balayage''' sera créé dans l'arborescence de projet.
# Ouvrez le [[Macros/fr|Gestionnaire de macros]]

# Sélectionnez la macro '''Solid Sweep'''
=== Éléments 2D supportés ===
# Cliquez sur {{Button|Execute}}
'''Résultat:''' un '''Balayage''' sera créé dans l'arborescence du Projet.


== Éléments 2D supportés ==
* Filaires
* Filaires
* [[Image:Sketcher_NewSketch.png|32px]] [[Sketcher Workbench/fr|Esquisses]]
* [[Image:Sketcher_NewSketch.svg|24px]] [[Sketcher_Workbench/fr|Esquisses]]
* [[Image:Draft_BSpline.png]] [[Draft BSpline/fr|BSplines]]
* [[Image:Draft_BSpline.svg|24px]] [[Draft_BSpline/fr|BSplines]]
* Primitives 2D depuis le menu ''Paramétrique → Créer des primitives...'' (cercle, hélice)
* Primitives 2D depuis le menu ''Pièce[[Image:Part_Primitives.svg|24px]] [[Part_Primitives/fr|Créer des primitives]]...'' (cercle, hélice)


=== Conseils ===
== Conseils ==


* La section doit être un profil fermé sinon la forme résultante ne sera pas solide.
* La section doit être un profil fermé sinon la forme résultante ne sera pas solide.
Line 31: Line 44:
* Réglez la variable ''makeSolid'' à 0 (zéro) pour obtenir une forme non solide faite de surfaces avec des extrémités ouvertes.
* Réglez la variable ''makeSolid'' à 0 (zéro) pour obtenir une forme non solide faite de surfaces avec des extrémités ouvertes.


=== Le script ===
== Le script ==


ToolBar Icon [[Image:Macro_Solid_Sweep.png]]
<pre>import Part, FreeCAD, math, PartGui, FreeCADGui

'''Macro_Solid_Sweep.FCMacro'''

{{MacroCode|code=
import Part, FreeCAD, math, PartGui, FreeCADGui
from FreeCAD import Base
from FreeCAD import Base


# prendre les objets selectionnes, avec la 1ere selection pour trajectoire et la 2eme pour la section a balayer
# get the selected objects, with first selection for the trajectory and second for the section
s = FreeCADGui.Selection.getSelection()
s = FreeCADGui.Selection.getSelection()
try:
try:
shape1=s[0].Shape
shape1=s[0].Shape
shape2=s[1].Shape
shape2=s[1].Shape
except:
except:
print "Wrong selection"
print "Wrong selection"


traj = Part.Wire([shape1])
traj = Part.Wire([shape1])
section = Part.Wire([shape2])
section = Part.Wire([shape2])


# creer un objet Balayage dans le document actif
# create Part objec in the current document
myObject=App.ActiveDocument.addObject("Part::Feature","Balayage")
myObject=App.ActiveDocument.addObject("Part::Feature","Sweep")


# declarer la variable makeSolid pour creer un solide, changer valeur a 0 pour creer des surfaces
# variable makeSolid = 1 to create solid, 0 to create surfaces
makeSolid = 1
makeSolid = True #1
isFrenet = True #1
# l'utilite de la valeur isFrenet est inconnue, changer a 0 si le resultat est bizarre
isFrenet = 0


# create a 3D shape and assigh it to the current document
# Creer la forme 3D et l'assigner a l'objet Balayage
Balayage = Part.Wire(traj).makePipeShell([section],makeSolid,isFrenet)
Sweep = Part.Wire(traj).makePipeShell([section],makeSolid,isFrenet)
myObject.Shape = Balayage</pre>
myObject.Shape = Sweep


}}
=== Remerciements ===


Merci à [[User:Wmayer|Wmayer]] sans l'aide de qui je n'aurais pu rédiger ce script.


== Remerciements ==
Deux exemples d'utilisation peuvent être consultés dans [https://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=8&t=1222&start=50#p11120 cette discussion du forum (en anglais)], ainsi que des liens de téléchargement des fichiers FCStd. En utilisant une hélice comme trajectoire, un balayage solide peut être utilisé pour créer un filet de vis.

Merci à [[User:Wmayer|Wmayer]] sans l'aide de qui je n'aurais pu rédiger ce script.


Deux exemples d'utilisation peuvent être consultés dans [http://forum.freecadweb.org/viewtopic.php?f=8&t=1222&start=50#p11120 cette discussion du forum (en anglais)], ainsi que des liens de téléchargement des fichiers FCStd. En utilisant une hélice comme trajectoire, un balayage solide peut être utilisé pour créer un filet de vis.
{{languages/fr | {{en|Macro_Solid_Sweep}} {{es|Macro_Solid_Sweep/es}} }}

Latest revision as of 20:26, 7 December 2020

Other languages:

Balayage solide

Description
Créé un solide en balayant un profil le long d'une trajectoire.

Version macro : 1.0
Date dernière modification : 2011-12-03
Version FreeCAD : Toutes versions
Téléchargement : [https://www.freecadweb.org/wiki/images/6/6d/Macro_Solid_Sweep.png

Icône pour votre barre d'outils]
Auteur: Normandc

Auteur
Normandc
Téléchargement
[https://www.freecadweb.org/wiki/images/6/6d/Macro_Solid_Sweep.png

Icône pour votre barre d'outils]

Liens
Version Macro
1.0
Dernière modification
2011-12-03
Version(s) FreeCAD
Toutes versions
Raccourci clavier
None
Voir aussi
None

Description

Cette macro créé un solide en balayant un profil le long d'une trajectoire, les deux éléments ayant précédemment été sélectionnés dans la vue 3D. Les éléments 2D peuvent être créés à l'aide des outils existants de l'interface graphique de FreeCAD.

Il est à noter que le solide généré ne sera pas paramétrique. Si vous décidez de modifier le profil ou la trajectoire, vous devrez exécuter la macro à nouveau.

Quelques exemples de balayages utilisant une même section oblongue et trois types de trajectoires.

Utilisation

  1. Créez deux éléments 2D, un pour la section et un pour la trajectoire, des types répertoriés ci-dessous.
  2. Sélectionnez, soit dans la vue en arborescence soit dans Vue 3D (L'ordre est important!):
    1. La trajectoire
    2. Puis le profil
  3. Ouvrez le Gestionnaire de macros
  4. Sélectionnez la macro Solid Sweep
  5. Cliquez sur Execute

Résultat: un Balayage sera créé dans l'arborescence du Projet.

Éléments 2D supportés

Conseils

  • La section doit être un profil fermé sinon la forme résultante ne sera pas solide.
  • La section n'a pas besoin d'être située sur la trajectoire, mais il est préférable qu'elle lui soit normale (perpendiculaire).
  • La trajectoire peut indifféremment être un profil ouvert ou fermé (cercle, ou une suite de segments de lignes et d'arcs) mais tous les éléments doivent être tangents, sinon le résultat pourrait être inattendu. Par exemple, une trajectoire avec des coins carrés comme un rectangle ne produira pas un solide.
  • S'il y a un nœud dans la forme résultante, modifiez la macro et changez la valeur isFrenet à 0 (zéro), puis essayez à nouveau.
  • Réglez la variable makeSolid à 0 (zéro) pour obtenir une forme non solide faite de surfaces avec des extrémités ouvertes.

Le script

ToolBar Icon

Macro_Solid_Sweep.FCMacro

import Part, FreeCAD, math, PartGui, FreeCADGui
from FreeCAD import Base

# get the selected objects, with first selection for the trajectory and second for the section
s = FreeCADGui.Selection.getSelection()
try:
     shape1=s[0].Shape
     shape2=s[1].Shape
except:
     print "Wrong selection"

traj = Part.Wire([shape1])
section = Part.Wire([shape2])

# create Part objec in the current document
myObject=App.ActiveDocument.addObject("Part::Feature","Sweep")

# variable makeSolid = 1 to create solid, 0 to create surfaces
makeSolid = True #1
isFrenet = True #1

# create a 3D shape and assigh it to the current document
Sweep = Part.Wire(traj).makePipeShell([section],makeSolid,isFrenet)
myObject.Shape = Sweep


Remerciements

Merci à Wmayer sans l'aide de qui je n'aurais pu rédiger ce script.

Deux exemples d'utilisation peuvent être consultés dans cette discussion du forum (en anglais), ainsi que des liens de téléchargement des fichiers FCStd. En utilisant une hélice comme trajectoire, un balayage solide peut être utilisé pour créer un filet de vis.