Scripted Parts: Ball Bearing - Part 1/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "===Wprowadzenie=== Ten samouczek ma na celu wprowadzenie początkujących urzytkowników w tworzenie części za pomocą skryptów Python w programie FreeCAD.<br /> Ten samouczek będzie omawiał, jak zbudować łożysko kulkowe przy użyciu metody CSG.<br /> Kod wygeneruje nowy dokument FreeCAD zawierający 12 kształtów ''(wewnętrzną obręcz, zewnętrzną obręcz i 10 kul/sfer)''.<br /> Będzie to wyglądać tak:<br /> <br /> 400px")
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 11: Line 11:


===Wprowadzenie===
===Wprowadzenie===
Ten samouczek ma na celu wprowadzenie początkujących urzytkowników w tworzenie części za pomocą skryptów Python w programie FreeCAD.<br />
Ten poradnik ma na celu wprowadzenie początkujących użytkowników w tworzenie części za pomocą skryptów Python w programie FreeCAD.<br />
Ten samouczek będzie omawiał, jak zbudować łożysko kulkowe przy użyciu metody CSG.<br />
Ten samouczek będzie omawiał, jak zbudować łożysko kulkowe przy użyciu metody CSG.<br />
Kod wygeneruje nowy dokument FreeCAD zawierający 12 kształtów ''(wewnętrzną obręcz, zewnętrzną obręcz i 10 kul/sfer)''.<br />
Kod wygeneruje nowy dokument FreeCAD zawierający 12 kształtów ''(wewnętrzną obręcz, zewnętrzną obręcz i 10 kul/sfer)''.<br />
Line 19: Line 19:




===Workflow===
===Przebieg pracy===
Przebieg pracy jest mniej więcej identyczny z tym, jak tworzyłbyś część w środowisku pracy Część.<br>
The workflow is more or less identical how you would create the part in part workbench.<br />
Just some small differences.<br />
Tylko kilka małych różnic.<br>
* Utwórz nowy pusty dokument i ustaw go jako aktywny dokument.
*Create a new empty document and make it the active document
* Wstaw Walec.
*Insert Cylinder
* Wstaw Walec.
*Insert Cylinder
* Wykonaj operację logiczną - wycięcia, aby uzyskać podstawowy kształt wewnętrznej obręczy.
*Do boolean cut to get basic shape of inner ring
* Wybierz wszystkie krawędzie i zastosuj filet.
*Select all edges and apply a fillet
*Insert torus
* Wstaw torus.
* Przesuń torus w odpowiednie miejsce i wykonaj operację logiczną wycięcia, aby utworzyć rowek na kule.
*Move torus into position and do a boolean cut to create the groove for the balls
* Powtórz wszystkie kroki, aby uzyskać kształt zewnętrznej obręczy.
*Repeat all steps for getting the shape for the outer ring
* Wstaw pierwszą kulę.
*Insert first ball
* Wstaw inne kule, używając matematyki do obliczenia pozycji kul.
*Insert other balls using math to calculate the position of the balls
* Ustaw widok na izometryczny.
*Set view to axometric
* Przybliż, aby zmieścić wszystko.
*Zoom to fit all




===Filleting edges===
===Zaokrąglanie krawędzi===
W warsztacie częściowym, korzystając z interfejsu graficznego, wybierasz skosy w widoku 3D lub w menu dla zaokrągleń, a następnie stosujesz zaokrąglenia.<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 />
Tutaj wybieramy wszystkie krawędzie kształtu i stosujemy zaokrąglenia.<br>
Here we select all edges of a shape and apply fillets.<br />
Dlatego musimy wybrać krawędzie PRZED utworzeniem rowka.
Therefore we need to select the edges BEFORE creating the groove.




===Notes===
===Uwagi===
Ten poradnik wykorzystuje elementy pierwotne części i operacje logiczne, co może być wymagające dla wydajności.<br>
This tutorial is using part primitives and boolean operations, which can be performance consuming.<br />
Aby wykonać zeszkolony fragment z przekręconymi szkicami, przejrzyj samouczek [[Scripted_Parts:_Ball_Bearing_-_Part_2/pl|Skrypty części: Łożysko kulkowe - część 2]].
For doing a scripted part with revolved sketches have a look at the tutorial [[Scripted Parts: Ball Bearing - Part 2]].




===Links===
===Odnośniki internetowe===
[[Scripted_objects/pl|Obiekty tworzone skryptami]]: Strona Wiki wyjaśniająca podstawy tworzenia skryptów<br>
[[Scripted objects]]: The wiki page explaing the basics of scripting<br />
[[Topological_data_scripting/pl|Skrypty danych topologicznych]]: Samouczek odsłaniający podstawy tworzenia skryptów<br>
[[Topological data scripting]]: A tutorial for covering basics of scripting<br />
[[Scripted_Parts:_Ball_Bearing_-_Part_2/pl|Skrypty części: Łożysko kulkowe - część 2]]: Wykonanie za pomocą szkiców<br>
[[Scripted Parts: Ball Bearing - Part 2]]: Doing it with sketches<br />
[http://linuxforanengineer.blogspot.de/2013/08/free-cad-bearing-script.html Bearing Script 1]: Base for this tutorial, thanks to JMG ...<br />
[http://linuxforanengineer.blogspot.de/2013/08/free-cad-bearing-script.html Bearing Script 1]: Baza dla tego poradnika, podziękowania dla JMG ...<br>




===Code===
===Kod===
{{Code|code=
{{Code|code=
## Ball-bearing script
## Ball-bearing script

Latest revision as of 12:16, 19 March 2024

Ćwiczenie
Temat
Skrypty części: Łożysko kulkowe - część 1
Poziom trudności
Początkujący
Czas wykonania
30 min
Autorzy
r-frank
Wersja FreeCAD
0.16.6706
Pliki z przykładami
nie dołączono
Zobacz również
-


Wprowadzenie

Ten poradnik ma na celu wprowadzenie początkujących użytkowników w tworzenie części za pomocą skryptów Python w programie FreeCAD.
Ten samouczek będzie omawiał, jak zbudować łożysko kulkowe przy użyciu metody CSG.
Kod wygeneruje nowy dokument FreeCAD zawierający 12 kształtów (wewnętrzną obręcz, zewnętrzną obręcz i 10 kul/sfer).
Będzie to wyglądać tak:


Przebieg pracy

Przebieg pracy jest mniej więcej identyczny z tym, jak tworzyłbyś część w środowisku pracy Część.
Tylko kilka małych różnic.

  • Utwórz nowy pusty dokument i ustaw go jako aktywny dokument.
  • Wstaw Walec.
  • Wstaw Walec.
  • Wykonaj operację logiczną - wycięcia, aby uzyskać podstawowy kształt wewnętrznej obręczy.
  • Wybierz wszystkie krawędzie i zastosuj filet.
  • Wstaw torus.
  • Przesuń torus w odpowiednie miejsce i wykonaj operację logiczną wycięcia, aby utworzyć rowek na kule.
  • Powtórz wszystkie kroki, aby uzyskać kształt zewnętrznej obręczy.
  • Wstaw pierwszą kulę.
  • Wstaw inne kule, używając matematyki do obliczenia pozycji kul.
  • Ustaw widok na izometryczny.
  • Przybliż, aby zmieścić wszystko.


Zaokrąglanie krawędzi

W warsztacie częściowym, korzystając z interfejsu graficznego, wybierasz skosy w widoku 3D lub w menu dla zaokrągleń, a następnie stosujesz zaokrąglenia.
Tutaj wybieramy wszystkie krawędzie kształtu i stosujemy zaokrąglenia.
Dlatego musimy wybrać krawędzie PRZED utworzeniem rowka.


Uwagi

Ten poradnik wykorzystuje elementy pierwotne części i operacje logiczne, co może być wymagające dla wydajności.
Aby wykonać zeszkolony fragment z przekręconymi szkicami, przejrzyj samouczek Skrypty części: Łożysko kulkowe - część 2.


Odnośniki internetowe

Obiekty tworzone skryptami: Strona Wiki wyjaśniająca podstawy tworzenia skryptów
Skrypty danych topologicznych: Samouczek odsłaniający podstawy tworzenia skryptów
Skrypty części: Łożysko kulkowe - część 2: Wykonanie za pomocą szkiców
Bearing Script 1: Baza dla tego poradnika, podziękowania dla JMG ...


Kod

## 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")