Video
Hammaspyörien mallintamiseen ja malleihin lisättävään Python-ohjelmointiin löytyy vinkkivideo Vertex Systems Oy:n Youtube-kanavalta. Klikkaa alla olevaa linkkiä.
Tämä teksti on generoitu videon litteroinnin perusteella
Hammaspyörien mallintaminen ja Python-ohjelmointi mallin mittataulukkoon (Vertex G4)
Tässä artikkelissa käydään läpi, miten:
-
mallinnat parametristen hammaspyörien perusgeometrian Vertex G4:ssä
-
sidot tärkeät mitat mallin mittataulukkoon
-
liität mittataulukkoon Python-ohjelman, joka laskee hammaspyörän mitat kaavoista ja päivittää mallin automaattisesti.
Lopputuloksena saat hammaspyörämallin, jota voi ohjata muutamalla syöttöarvolla (esim. moduuli ja hammasluku) – Python laskee loput.
1. Lähtökohta: mitä hammaspyörästä tarvitaan malliin?
Hammaspyöräteoria sinällään on laaja, mutta mallin kannalta tarvitset ainakin nämä mitat tai niistä johdetut arvot:
-
Moduuli m
– hammaspyörän “perusmitta”, mm/hammas -
Hammasluku z
– hampaiden kappalemäärä -
Jakohalkaisija d
– kaava: d = m × z -
Päähalkaisija dₐ (hampaan kärkiympyrä)
– tyypillisesti dₐ = d + 2m -
Juurihalkaisija d_f (hampaan juuriympyrä)
– esim. standardin mukaan d_f = d − (2,25…2,5)m (riippuu standardista) -
Perusympyrä d_b (involuutin lähtöympyrä)
– d_b = d × cos(α), jossa α on painekulma (esim. 20°)
Lisäksi mallissa voi olla muita mittoja, joita haluat ohjata mittataulukosta ja Pythonista, esimerkiksi:
-
hammaspyörän leveys
-
akselireikä, kiilaura, olakkeet
-
mahdollisen hammaspyöräparin keskiöväli
Kaavat on hyvä kirjoittaa ylös – samoja kaavoja käytetään sekä mittataulukossa että Python-koodissa.
2. Hammaspyörän skeleton-malli Vertex G4:ssä
Ensin tehdään ns. skeleton-malli – korkeintaan yksi hammas ja siihen liittyvät perusympyrät. Sen päälle voidaan rakentaa lopullinen “oikea” hammaspyörä.
2.1 Perusympyröiden luonnostelu
-
Luo uusi osamalli hammaspyörälle.
-
Tee luonnos (esim. XY-tasoon) ja piirrä:
-
jakoympyrä (halkaisija d, myöhemmin mittataulukosta/kaavasta)
-
pääympyrä (dₐ)
-
juuriympyrä (d_f)
-
perusympyrä (d_b), jos teet involuuttiprofiilin selkeästi näkyviin
-
-
Sidot ympyröiden halkaisijat mittoihin, jotka myöhemmin viedään mittataulukkoon:
-
esim. D_JAKO, D_PAA, D_JUURI, D_PERUS
-
2.2 Yhden hampaan muoto
-
Samassa luonnoksessa (tai erillisessä luonnoksessa) luonnostele yhden hampaan poikkileikkaus:
-
hampaan paksuus jakoympyrällä (puolikas hampaan paksuus, ym.)
-
hampaan kyljet (involuuttikäyrä tai sitä likiarvoava kaari/viivasarja)
-
hampaan kärki ja juuriosan kaaret
-
-
Käytä mittasuhteissa kaavallisia mittoja (esim. paksuus = π × m / 2 jne. – transcriptissa viitattiin mm. π × moduuli / 4, “puolikas hampaan paksuus”).
-
Varmista, että:
-
hampaan pään tasoviiva on tangentiaalinen pääympyrälle
-
hampaan juuren kaaret ovat sidottu juuriympyrään
-
kaikki kriittiset mitat on sidottu nimettyihin mittoihin, ei “vapaaseen” numeromittaan.
-
2.3 Polar-sarja koko hammaspyöräksi
-
Kun yksi hammas on kunnossa, tee siitä polaarinen sarja:
-
“Hampaiden lukumäärä” = hammasluku z
-
-
Sarjan ohjausdimensioiksi tulee mm. hammasmäärä – se voidaan viedä mittataulukkoon (esim. Z_HAMPAAT).
Tässä vaiheessa sinulla on perusmalli yhdestä hammaspyörästä, ja mallin tärkeät mitat on nimetty.
3. Mittataulukon rakentaminen hammaspyörälle
Seuraavaksi kytket mallin Vertex G4:n mittataulukkoon (dimtable).
3.1 Mittataulukon aktivointi
-
Avaa hammaspyörämalli.
-
Valitse Mittataulukko (esim. Ominaisuuksista / toiminnoista).
-
Lisää taulukkoon vähintään seuraavat muuttujat:
-
MODUULI (m) – käyttäjän syöttämä
-
Z_HAMPAAT (z) – käyttäjän syöttämä
-
LEVEYS – käyttäjän syöttämä hammaspyörän leveys
-
haluamasi muut: esim. REIKA, OLAKE, KESKIOVALI, jne.
-
3.2 Johdetut mitat kaavoilla
Sitten lisätään mittataulukkoon kaavalla lasketut mitat:
-
Jakohalkaisija
-
D_JAKO = MODUULI × Z_HAMPAAT
-
-
Päähalkaisija
-
D_PAA = D_JAKO + 2 × MODUULI
-
-
Juurihalkaisija
-
D_JUURI = D_JAKO − 2,5 × MODUULI (esimerkki, käytä omaa standardiasi)
-
-
Perusympyrä
-
D_PERUS = D_JAKO × cos(α)
-
Kirjoita nämä suoraan mittataulukkoon kaavoina. Transcriptissa korostettiin, että samat hammaspyöräkaavat toistuvat useassa kohtaa – kun laitat ne kerran mittataulukkoon selkeästi ja lisäät kuvauksia, kaavojen logiikka pysyy näkyvissä myös myöhemmin (sinulle ja kollegoille).
4. Python-ympäristö mittataulukon ohjaamiseen
Ennen kuin käytät “Muokkaa Pythonissa” -toimintoa:
-
Asenna Python työasemalle.
-
Lisää Pythonin polku (PATH) ja Vertexin asetuksiin se Python-tulkki, jota haluat käyttää.
-
Litteroinnissa mainittiin: “kun on Python asennettu ja polut laitettu ja mittataulukon sitten Muokkaa Pythonissa…”.
-
Kun ympäristö on kunnossa, Vertex pystyy avaamaan mittataulukon Python-skriptinä.
5. Mittataulukon muokkaus Pythonissa
5.1 “Muokkaa Pythonissa” –toiminnon käyttö
-
Avaa hammaspyörämallin mittataulukko.
-
Valitse Muokkaa Pythonissa (tai vastaava komento valikosta).
-
Vertex luo malliin liittyvän Python-tiedoston (yleensä samaan hakemistoon ja mallin nimellä) ja avaa sen editoriin.
Tämä skripti toimii “liimana” käyttäjän syöttämien arvojen ja mittataulukon välillä.
5.2 Python-skriptin periaate
Tyypillinen skripti tekee suunnilleen näin:
-
Avaa nykyisen mittataulukon.
-
Kysyy käyttäjältä syöttöarvot (esim. moduuli, hammasluku, leveys).
-
Laskee johdetut arvot samoilla kaavoilla kuin mittataulukossa.
-
Kirjoittaa arvot takaisin mittataulukon soluihin.
-
Tallentaa mittataulukon ja päivittää mallin.
Esimerkkipseudokoodi (ei sidottu mihinkään tiettyyn Vertex-kirjastoon, periaatekuvaus):
def paivita_hammaspyora(dt):
# 1. Kysy käyttäjältä perusmitat
m = float(input("Moduuli (mm): "))
z = int(input("Hammasluku: "))
leveys = float(input("Leveys (mm): "))
# 2. Laske johdetut mitat
d_jako = m * z
d_paa = d_jako + 2 * m
d_juuri = d_jako - 2.5 * m # esimerkki
alpha = 20.0 # painekulma (deg)
d_perus = d_jako * math.cos(math.radians(alpha))
# 3. Kirjoita mittataulukkoon
dt["MODUULI"] = m
dt["Z_HAMPAAT"] = z
dt["LEVEYS"] = leveys
dt["D_JAKO"] = d_jako
dt["D_PAA"] = d_paa
dt["D_JUURI"] = d_juuri
dt["D_PERUS"] = d_perus
# 4. Tallenna
dt.save()
Vertexin demoissa käytetään usein valmista “dimtable-objektia”, jonka avulla rivit päivitetään nimen mukaan. Täsmällinen API riippuu Vertexin versio- ja esimerkkiskripteistä – perusidea on kuitenkin tämä.
6. Python-skriptin kytkentä malliin ja uudelleennimeäminen
Litteroinnissa painotettiin yhtä tärkeää käytännön asiaa:
-
Kun tallennat skeleton-mallin Tiedosto → Tallenna uudeksi, myös samaan malliin kytketty Python-tiedosto tallentuu uudella nimellä.
-
Eli jos sinulla on malli
hammas_demo.vxmja siihen liittyvähammas_demo.py, ja tallennat sen uudeksi nimellähammas_40hamp.vxm, myös Python-tiedosto seuraa mukana.
-
Tämä tekee Python-ohjatusta hammaspyörämallista käytännössä kopioitavan komponentin – voit tehdä eri kokoisia variaatioita ilman, että koodia täytyy kirjoittaa uudestaan.
7. Hammaspyöräparin käyttö ja animointi
Kun sinulla on yksi toimiva hammaspyörä, samalla periaatteella voit:
-
Mallintaa toisen hammaspyörän (eri moduuli/hammasluku tai sama moduuli, eri hammasluku).
-
Ohjata molempia Pythonista (esim. sama skripti laskee molempien mitat ja keskiövälin).
-
Rakentaa kokoonpanon, jossa hammaspyörät ovat kytköksissä ja käyttää Vertex G4:n liikesimulointia/animointia, kuten videolla demonstroitiin.
Tällöin Pythonin ja mittataulukon yhdistelmä ei ainoastaan mitoita yksittäistä osaa, vaan toimii lähtökohtana koko kytkennän toimivuuden arviointiin.
8. Vinkit ja tyypilliset kompastuskivet
-
Nimeä mitat järkevästi
– esim. MODUULI, Z_HAMPAAT, D_JAKO; se helpottaa sekä mittataulukon lukemista että Python-koodia. -
Pidä kaavat yhdessä paikassa
– käytä samoja kaavoja mittataulukossa ja Pythonissa. Jos logiikka muuttuu, sinun ei tarvitse metsästää useita eri versioita. -
Tarkista perusympyrä
– transcriptissa mainittiin, että malli ei toiminut ilman perusympyrää; lisää se mieluummin heti alkuvaiheessa mukaan, jos teet involuutin. -
Testaa käsin yksi hammaspyörä
– varmista ensin, että mittataulukon kaavat ovat oikein, ennen kuin tuot Pythonin mukaan. -
Muista Python-ympäristö
– jos “Muokkaa Pythonissa” ei toimi, vika on yleensä Pythonin asennuksessa tai polussa.
Yhteenveto
Prosessi “hammaspyörien mallintaminen + Python-ohjelmointi mittataulukkoon” menee käytännössä näin:
-
Mallinna yksi hammas ja perusympyrät skeleton-malliksi.
-
Vie mitat mittataulukkoon, nimeä syöttöarvot ja määritä kaavat johdetuille mitoille.
-
Ota käyttöön “Muokkaa Pythonissa”, kun Python on asennettu ja polut on asetettu.
-
Kirjoita Python-skripti, joka:
-
kysyy moduulin, hammasluvun ja muut tarvittavat arvot
-
laskee hammaspyörän mitat kaavoista
-
kirjoittaa ne mittataulukkoon
-
-
Tallenna malli uudeksi, tarvittaessa useiksi eri hammaspyöriksi – Python-skripti seuraa mukana.
Related Articles
- Vertex G4:n mittataulukkoa ohjaavan Python-koodin käyttämistä omien apuohjelmien ajamiseen
- Python-apuohjelmien ajaminen asiakaskohtaisesta valikosta Vertex G4:ssä
- Ideoita tuotedokumenttien rakentamisen nopeuttamiseen
- Revisiomerkinnät piirustusten dxf-, dwg- ja pdf-tiedostoihin Vertex G4:n avulla
- Mittaohjautuva kokoonpanomalli lisättynä Python-ohjelmalla