Scripted Parts: Ball Bearing - Part 2: Difference between revisions
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
<!--T:2--> |
<!--T:2--> |
||
===Introduction=== |
|||
⚫ | |||
This tutorial is meant as a beginner's introduction to creating parts with python scripts within FreeCAD.<br /> |
|||
This tutorial will cover how to build a ball bearing with a workflow that consists of creating sketches and revolving them.<br /> |
|||
The code will produce a new FreeCAD document with 12 shapes (Inner Ring, Outer Ring and 10 balls/spheres).<br /> |
|||
It will look like this:<br /> |
|||
[[Image:Tutorial_BallBearing01.jpg|400px]] |
|||
<!--T:3--> |
<!--T:3--> |
||
===Workflow=== |
|||
Todo |
|||
The workflow is more or less identical how you would create the part in part design workbench.<br /> |
|||
Just some small differences.<br /> |
|||
*Create a new empty document and make it the active document |
|||
*Set view to axometric |
|||
*Zoom to fit all |
|||
<!--T:4--> |
<!--T:4--> |
||
===Making the groove=== |
|||
Todo |
|||
Bla and blub ... |
|||
<!--T:5--> |
<!--T:5--> |
||
===Notes=== |
|||
Todo |
|||
Bla and blub ... |
|||
<!--T:6--> |
<!--T:6--> |
||
===Links=== |
|||
Todo |
|||
[[Scripted objects]]: The wiki page explaing the basics of scripting<br /> |
|||
[[Topological data scripting]]: A tutorial for covering basics of scripting<br /> |
|||
[[Scripted Parts: Ball Bearing - Part 1]]: Doing it with part primitives<br /> |
|||
[http://linuxforanengineer.blogspot.de/2013/12/bearings-from-scripted-sketches.html Bearings from scripted sketches]: Base for this tutorial, thanks to JMG ...<br /> |
|||
<!--T:7--> |
<!--T:7--> |
||
===Code=== |
|||
Todo |
|||
{{Code|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/12/bearings-from-scripted-sketches.html) |
|||
#needed for doing boolean operations |
|||
import Part |
|||
#needed for calculating the positions of the balls |
|||
import math |
|||
#needed for translation and rotation of objects |
|||
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") |
|||
⚫ | |||
#Make it pretty# |
|||
App.activeDocument().recompute() |
|||
Gui.activeDocument().activeView().viewAxometric() |
|||
Gui.SendMsgToActiveView("ViewFit") |
|||
}} |
|||
<!--T:8--> |
|||
Todo |
|||
</translate> |
</translate> |
Revision as of 08:35, 16 August 2016
Tutorial |
Topic |
---|
Part Scripting - Ball Bearing #2 |
Level |
Beginner |
Time to complete |
30 min |
Authors |
r-frank |
FreeCAD version |
0.16.6706 |
Example files |
See also |
None |
Introduction
This tutorial is meant as a beginner's introduction to creating parts with python scripts within FreeCAD.
This tutorial will cover how to build a ball bearing with a workflow that consists of creating sketches and revolving them.
The code will produce a new FreeCAD document with 12 shapes (Inner Ring, Outer Ring and 10 balls/spheres).
It will look like this:
Workflow
The workflow is more or less identical how you would create the part in part design workbench.
Just some small differences.
- Create a new empty document and make it the active document
- Set view to axometric
- Zoom to fit all
Making the groove
Bla and blub ...
Notes
Bla and blub ...
Links
Scripted objects: The wiki page explaing the basics of scripting
Topological data scripting: A tutorial for covering basics of scripting
Scripted Parts: Ball Bearing - Part 1: Doing it with part primitives
Bearings from scripted sketches: Base for this tutorial, thanks to 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/12/bearings-from-scripted-sketches.html)
#needed for doing boolean operations
import Part
#needed for calculating the positions of the balls
import math
#needed for translation and rotation of objects
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")
#Todo
#Make it pretty#
App.activeDocument().recompute()
Gui.activeDocument().activeView().viewAxometric()
Gui.SendMsgToActiveView("ViewFit")