Univerza v Ljubljani

Fakulteta za strojništvo

Laboratorij za CAD-LECAD

7.4 ZATIČ - OBREMENITVENI PRIMER III

Avtor: Damjan Jurjavčič

Mentor: Roman Žavbi

Ljubljana, avgust 2000

Kazalo vsebine:


1.0 Abstract

In the first part of the seminar there is represented a simple calculation of perch and pin for torsian charge.
Secont part of the seminar is a graphical representation of 3D-calculated part with the support of grapichal library PHIGS. Some basic geometrical transforamtions are allowed, such as rotation, scaling and translation.

2.0 Uvod

Namen izdelave programa je rešitev konkretnega primera iz strojništva in hrati spoznavanje teoretičnih osnov glede 3D transformacij ter spoznavanje programskega jezika HTML, Javascript in graficne knjiznice PHIGS. Uporaba HTML-ja je v zadnjem casu vedno več v uporabi, predvsem zaradi interneta. S HTML in Javascript-om lahko sami oblikujemo spletne strani na internetu in na njih izvajamo želene programe.

3.0 Definicija naloge

Izdelajte računalniški program za kontrolo valjastega zatiča (DIN 7), ki je obremenjen s torzijskim momentom. Vhodni podatki so moč, ki jo gredna vez prenaša, materiala gredi in pesta. Premer gredi določite po poenostavljeni formuli za torzijsko obremenjene gredi. Klasične tabele oblikujte kot datoteke. Upoštevajte statične in dinamične obremenitve.
Grafični del programa naj prikaže žični model kontroliranega sklopa po sliki, z vsemi kotami. Funkcionalni deli maj bodo različnih barv. Omogoči naj tudi tri osnovne geometrijske transformacije: rotacijo, translacijo in skaliranje. Vnos transformacijskih parametrov naj bo izveden preko enostavnega menuja. Objekt transformiranja naj bo sklop z zaticem brez kot in kotirnih črt.


4.0 Teoretične osnove

4.1 Transformacije

4.1.1 Rotacija točke v 3D prostoru

Običajno se rotacija izvaja okrog določene osi. Spodaj predstavljena rotacija je okrog Z-osi. Princip za ostali dve transformaciji je isti le transformacijski matriki se razlikujeta predstavljeni sta v točki zapis transformacij v homogenih koordinatah (rotacija).

4.1.2 Skaliranje točke v 3D prostoru

4.2 Zapis transformacij v homogenih koordinatah

4.2.1 Skaliranje

4.2.2 Translacija

a) okoli X osi:

b) okoli Y osi:

c) okoli Z osi:

5.0 Opis programa

5.1 Izračun dimenzij gredi in zatiča

Pri preračunu sklopa sem uporabil standard DIN 7, ki določa dimenzije, materiale, dopustne obremenitve zatičev ter druge standarde, ki določajo materiale in dopustne obremenitve za materiale gredi in peste. Pri preračunu gredi pa sem upošteval še vpliv luknje zatiča na koncentracijo napetosti. Pri tem sem določil dodatni pogoj, da mora biti premer gredi vsaj trikrat večji od premera zatiča, material zatiča pa mora biti vedno za razred boljši od materiala gredi in peste.

Uporabnost programa pri preračunu sklopa je omejena na standardne dimenzije zatičev, premerov od 0.8 do 100 mm in dolžine do 320 mm. Tak sklop lahko prenaša že zelo velik moment, čeprav je za take momente gotovo primernejša druga oblika gredne vezi.

5.2 Grafika

Pri izdelavi programa nisem uporabljal zgoraj predstavljenih teoretičnih osnov o transformacijah, uporabil pa sem poenostavljeno teorijo 3D transformacij.

5.2.1 Določitev točk na krogu

Najprej določimo dva vektorja e1 in e2 katerima določimo dolžino, ki je enaka radiju kroga. Oddaljenost posamezne točke dobimo tako, da seštejemo posamezne komponente vektorjev e1 in e2. Vse ostale točke pa dobimo tako, da v programu uporabimo funkcijo, ki spreminja kot od 0 do 360 po koraku p. Del programa, ki določi razdalje tock tx in ty je predstavljen v spodnji enacbi

5.2.2 Izris valjev

Izrisemo dva kroga, ki sta medsebojno oddaljena za določeno razdaljo in jih povežemo s črtami. Črte so porazdeljene okoli krogov po nekaj stopinj.
Funkcija je odvisna od koordinate z, pozicije prvega in drugega kroga, premera kroga in barve.

5.2.3 Predstavitev rotacije

Rotacija je izvedena tako, da izračunamo nek nov vektor v, ki je zamaknjen za določen kot okoli z osi (vektorja ni). Nato vektorju k določimo nov položaj, ki je enak vektorju v. Dobljeni vektor k v novem položaju je osnova za izris valjev.

5.2.4 Izris koordinatnih sistemov

Koordinatna sitema izrišemo v 2D prostoru s funkcijami za izris premic. Pri lokalnem koordinatnem sistemu zavisi velikost kordinatnih osi od premera peste in dolžine gredi zaradi sorazmerja pri izrisu slike. Nato izrišemo globalni koordinatni sistem (osi X,Y,Z). Osi globalnega koordinatnega sistema vedno mirujejo, medtem, ko se lokalne koordinatne osi premikajo translatorno, se rotirajo in skalirajo skupaj z objektom teh transformacij.

5.2.5 Skaliranje

Funkcija skaliranja omogoča povečavo ali pomanjšavo. Pri tem se skalirni faktor spreminja - poveča ali pomanjša.

5.2.6 Translacija

Funkcija translacije je izvedena tako, da se spreminjata spremenljivki, ki predstavljata pomik lokalnega koordinatnega sistema v horizontalni in vertikalni smeri ekrana glede na globalni oziroma fiksni koordinatni sistem. Isti spremenljivki vplivata tudi na translacijo sklopa na skici.

5.2.6 Funkcija inicializacija

Podprogram inicializacija služi zato, da se slika sklopa gredi pesta in zatiča izriše v želenem položaju, to je: definicija vektorja k, ki predstavlja rotacijo in spremenljivki offset, translacijo lokalnega kooridnatnega sistema. Komponente vektorja ni pa predstavljajo usmerjenost gredi. Podane pa so tudi koordinate položaja začetnega izrisa gredi in faktor povečave.

6.0 Zagon programa

    ZAGON PROGRAMA


7.0 Zaključek

Pri izdelavi programa sem spoznal teorijo 3D transformacij in z njo povezane transformacijske matrike (translacije, rotacije, skaliranja), način programiranja v programskem jeziku JavaScript ter uporabo grafične knjižnice PHIGHS.
Za izračun sklopa zatiča, gredi in peste pa sem moral najprej osvežiti znanje s pregledom zapiskov predavanj iz predmeta Strojni elementi, izračun pa sem izvedel po knjigi Decker-Elementi strojeva in Strojni elementi II.

8.0 Uporabljena literatura

1. DIN 7 standard
2. A.Decker, Elementi strojeva
3. I. Janežič, Strojni elementi II
2. Peter Hribar, Spoznajmo JavaScript, Flamingo trade, 1998
3. Zapiski z vaj predmeta Računalniško podprto programiranje.