Macro Solid Sweep/fr: Difference between revisions

From FreeCAD Documentation
m (Created page with "=== 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 ...")
m (Created page with "=== Le script ===")
Line 29: Line 29:
* 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.


=== The script ===
=== Le script ===


<syntaxhighlight>
<syntaxhighlight>

Revision as of 10:24, 26 December 2013

File:Text-x-python Balayage solide

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

Auteur: Normandc
Auteur
Normandc
Téléchargement
None
Liens
Version Macro
1.0
Dernière modification
None
Version(s) FreeCAD
None
Raccourci clavier
None
Voir aussi
None

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

  • Créer deux éléments 2D, un pour la section et l'autre pour la trajectoire, selon les types listé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!
  • Ouvrir le gestionnaire Macro, sélectionner la macro et cliquer sur « Lancer ».
  • Un objet Balayage sera créé dans l'arborescence de projet.

Éléments 2D supportés

  • Filaires
  • Esquisses
  • BSplines
  • Primitives 2D depuis le menu Paramétrique → Créer des primitives... (cercle, hélice)

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

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

# pick selected objects, where 1st selection is the trajectory and the 2nd is the section to sweep
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 a Part object into the active document
myObject=App.ActiveDocument.addObject("Part::Feature","Sweep")

makeSolid = 1
isFrenet = 1

# Create the 3D shape and set it to the Part object
Sweep = Part.Wire(traj).makePipeShell([section],makeSolid,isFrenet)
myObject.Shape = Sweep</pre>

Credits

Thanks to Wmayer for his help in writing this script.

Two examples of uses can be found in this forum topic, along with download links to the FCStd files. Using a helix as trajectory, a solid sweep can be used to create a bolt thread.

Other languages: