Scripted Parts: Ball Bearing - Part 1/fr: Difference between revisions
(Created page with "{{TutorialInfo |Sujet= Part : écrire un script - Roulement à bille #1 |Niveau= Débutant |Temps= 30 min |Auteur=r-frank |FCVersion=0.16.6706 |Files= }}") |
No edit summary |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
{{TutorialInfo |
{{TutorialInfo/fr |
||
| |
|Topic= Part : écrire un script - Roulement à bille #1 |
||
| |
|Level= Débutant |
||
| |
|Time= 30 min |
||
| |
|Author=r-frank |
||
|FCVersion=0.16.6706 |
|FCVersion=0.16.6706 |
||
|Files= |
|Files= |
||
Line 11: | Line 11: | ||
===Introduction=== |
===Introduction=== |
||
Ce tutoriel est conçu comme une introduction pour les débutants à la création de pièces avec des scripts python dans FreeCAD.<br /> |
|||
Ce tutoriel expliquera comment construire un roulement à billes avec un workflow (flux de travail) CSG.<br /> |
|||
This tutorial will cover how to build a ball bearing with a CSG-workflow.<br /> |
|||
Le code produira un nouveau document FreeCAD avec 12 formes (anneau intérieur, anneau extérieur et 10 billes / sphères).<br /> |
|||
Cela ressemblera à ceci :<br /> |
|||
<br /> |
<br /> |
||
[[Image:Tutorial_BallBearing01.jpg|400px]] |
[[Image:Tutorial_BallBearing01.jpg|400px]] |
||
===Workflow=== |
===Workflow ou flux de travail=== |
||
Le flux de travail est plus ou moins identique à la façon dont vous créeriez la pièce dans l'atelier Part.<br /> |
|||
The workflow is more or less identical how you would create the part in part workbench.<br /> |
|||
Juste quelques petites differences.<br /> |
|||
* |
*Créer un nouveau document vide et en faire le document actif |
||
*Insérez un cylindre |
|||
*Insert Cylinder |
|||
*Insérez un cylindre |
|||
*Insert Cylinder |
|||
*Faites une coupe booléenne pour obtenir la forme de base de la bague intérieure |
|||
*Do boolean cut to get basic shape of inner ring |
|||
*Sélectionnez toutes les arêtes et appliquez un congé |
|||
*Select all edges and apply a fillet |
|||
*Insérez un tore |
|||
*Insert torus |
|||
* |
*Déplacez le tore en position et faites une coupe booléenne pour créer la rainure pour les billes |
||
*Répétez toutes les étapes pour obtenir la forme de la bague extérieure |
|||
*Repeat all steps for getting the shape for the outer ring |
|||
*Insérer la première bille |
|||
*Insert first ball |
|||
*Insérez d'autres billes en utilisant les mathématiques pour calculer la position des billes |
|||
*Insert other balls using math to calculate the position of the balls |
|||
*Définir la vue sur axonométrique |
|||
*Set view to axometric |
|||
*Zoomez pour une vue d'ensemble |
|||
*Zoom to fit all |
|||
=== |
===Filetage des arrêtes=== |
||
Dans l'atelier Part (pièce) en utilisant l'interface graphique, vous sélectionneriez des chanfreins dans la vue 3D ou dans le menu pour les congés, puis appliquez les congés.<br /> |
|||
In part workbench using the GUI, you would select chamfers in the 3D view or in the menu for fillets and then apply the fillets.<br /> |
|||
Ici, nous sélectionnons toutes les arrêtes d'une forme et appliquons des congés.<br /> |
|||
Here we select all edges of a shape and apply fillets.<br /> |
|||
Par conséquent, nous devons sélectionner les arrêtes AVANT de créer la rainure. |
|||
Therefore we need to select the edges BEFORE creating the groove. |
|||
===Notes=== |
===Notes=== |
||
Ce tutoriel utilise des primitives Part et des opérations booléennes, ce qui peut nécessiter de la puissance de calcul.<br /> |
|||
This tutorial is using part primitives and boolean operations, which can be performance consuming.<br /> |
|||
Pour faire une pièce "scriptée" avec des esquisses de révolution, consultez le didacticiel [[Scripted Parts: Ball Bearing - Part 2]]. |
|||
=== |
===Liens=== |
||
[[Scripted objects]]: |
[[Scripted objects/fr|Objets créés par script]] : La page wiki expliquant les bases du langage de script<br /> |
||
[[Topological data scripting]]: |
[[Topological data scripting/fr|Scripts pour création topologique]] : Un tutoriel qui couvre les bases de la création de scripts<br /> |
||
[[Scripted Parts: Ball Bearing - Part 2]]: |
[[Scripted Parts: Ball Bearing - Part 2/fr|Objets scriptés "Part" : Roulement à billes - Partie 2]] : Le faire avec des esquisses<br /> |
||
[http://linuxforanengineer.blogspot.de/2013/08/free-cad-bearing-script.html Bearing Script 1]: Base |
[http://linuxforanengineer.blogspot.de/2013/08/free-cad-bearing-script.html Bearing Script 1] : Base utilisée pour ce tutoriel, grâce à JMG ...<br /> |
||
Latest revision as of 17:23, 11 September 2020
Tutoriel |
Thème |
---|
Part : écrire un script - Roulement à bille #1 |
Niveau |
Débutant |
Temps d'exécution estimé |
30 min |
Auteurs |
r-frank |
Version de FreeCAD |
0.16.6706 |
Fichiers exemples |
Voir aussi |
None |
Introduction
Ce tutoriel est conçu comme une introduction pour les débutants à la création de pièces avec des scripts python dans FreeCAD.
Ce tutoriel expliquera comment construire un roulement à billes avec un workflow (flux de travail) CSG.
Le code produira un nouveau document FreeCAD avec 12 formes (anneau intérieur, anneau extérieur et 10 billes / sphères).
Cela ressemblera à ceci :
Workflow ou flux de travail
Le flux de travail est plus ou moins identique à la façon dont vous créeriez la pièce dans l'atelier Part.
Juste quelques petites differences.
- Créer un nouveau document vide et en faire le document actif
- Insérez un cylindre
- Insérez un cylindre
- Faites une coupe booléenne pour obtenir la forme de base de la bague intérieure
- Sélectionnez toutes les arêtes et appliquez un congé
- Insérez un tore
- Déplacez le tore en position et faites une coupe booléenne pour créer la rainure pour les billes
- Répétez toutes les étapes pour obtenir la forme de la bague extérieure
- Insérer la première bille
- Insérez d'autres billes en utilisant les mathématiques pour calculer la position des billes
- Définir la vue sur axonométrique
- Zoomez pour une vue d'ensemble
Filetage des arrêtes
Dans l'atelier Part (pièce) en utilisant l'interface graphique, vous sélectionneriez des chanfreins dans la vue 3D ou dans le menu pour les congés, puis appliquez les congés.
Ici, nous sélectionnons toutes les arrêtes d'une forme et appliquons des congés.
Par conséquent, nous devons sélectionner les arrêtes AVANT de créer la rainure.
Notes
Ce tutoriel utilise des primitives Part et des opérations booléennes, ce qui peut nécessiter de la puissance de calcul.
Pour faire une pièce "scriptée" avec des esquisses de révolution, consultez le didacticiel Scripted Parts: Ball Bearing - Part 2.
Liens
Objets créés par script : La page wiki expliquant les bases du langage de script
Scripts pour création topologique : Un tutoriel qui couvre les bases de la création de scripts
Objets scriptés "Part" : Roulement à billes - Partie 2 : Le faire avec des esquisses
Bearing Script 1 : Base utilisée pour ce tutoriel, grâce à JMG ...
Code
## Ball-bearing script
## 11.08.2016 by r-frank (BPLRFE/LearnFreeCAD on Youtube)
## based on ball bearing script by JMG
## (http://linuxforanengineer.blogspot.de/2013/08/free-cad-bearing-script.html)
#
#needed for inserting primitives
import Part
#needed for calculating the positions of the balls
import math
#needed for translation of torus
from FreeCAD import Base
#
#VALUES#
#(radius of shaft/inner radius of inner ring)
R1=15.0
#(outer radius of inner ring)
R2=25.0
#(inner radius of outer ring)
R3=30.0
#(outer radius of outer ring)
R4=40.0
#(thickness of bearing)
TH=15.0
#(number of balls)
NBall=10
#(radius of ball)
RBall=5.0
#(rounding radius for fillets)
RR=1
#first coordinate of center of ball
CBall=((R3-R2)/2)+R2
#second coordinate of center of ball
PBall=TH/2
#
#Create new document
App.newDocument("Unnamed")
App.setActiveDocument("Unnamed")
App.ActiveDocument=App.getDocument("Unnamed")
Gui.ActiveDocument=Gui.getDocument("Unnamed")
#
#Inner Ring#
B1=Part.makeCylinder(R1,TH)
B2=Part.makeCylinder(R2,TH)
IR=B2.cut(B1)
#get edges and apply fillets
Bedges=IR.Edges
IRF=IR.makeFillet(RR,Bedges)
#create groove and show shape
T1=Part.makeTorus(CBall,RBall)
T1.translate(Base.Vector(0,0,TH/2))
InnerRing=IRF.cut(T1)
Part.show(InnerRing)
#
#Outer Ring#
B3=Part.makeCylinder(R3,TH)
B4=Part.makeCylinder(R4,TH)
OR=B4.cut(B3)
#get edges and apply fillets
Bedges=OR.Edges
ORF=OR.makeFillet(RR,Bedges)
#create groove and show shape
T2=Part.makeTorus(CBall,RBall)
T2.translate(Base.Vector(0,0,TH/2))
OuterRing=ORF.cut(T2)
Part.show(OuterRing)
#
#Balls#
for i in range(NBall):
Ball=Part.makeSphere(RBall)
Alpha=(i*2*math.pi)/NBall
BV=(CBall*math.cos(Alpha),CBall*math.sin(Alpha),TH/2)
Ball.translate(BV)
Part.show(Ball)
#
#Make it pretty#
App.activeDocument().recompute()
Gui.activeDocument().activeView().viewAxometric()
Gui.SendMsgToActiveView("ViewFit")
- Scripts FreeCAD : Python, Introduction à Python, Tutoriel sur les scripts Python, Débuter avec les scripts
- Modules : Modules intégrés, Unités, Quantity
- Ateliers : Création d'atelier, Commands Gui, Les commandes, Installer des ateliers supplémentaires
- Maillages et objets Parts : Scripts Mesh, Script de données topologiques, Conversion objet Mesh en Part, PythonOCC
- Objets paramétriques : Objets créés par script, Viewproviders (Icône personnalisée dans l'arborescence)
- Scénographie : Graphe de scène Coin (Inventor), Pivy
- Interface graphique : Création d'interface, Création d'une boite de dialogue (1, 2, 3, 4, 5), PySide, Exemples PySide débutant, intermédiaire, expérimenté
- Macros : Macros, Comment installer des macros
- Intégration : Intégrer FreeCAD, Intégration de FreeCADGui
- Autre : Expressions, Extraits de codes, Fonction - tracer une ligne, Bibliothèque mathématique vectorielle de FreeCAD (déprécié)