elipsa

Diskuze o softvéru MACH od tvůrců Artsoft všech verzí: dotazy, programování, skripty, poznatky atd...
Uživatelský avatar
sysel
Příspěvky: 655
Registrován: 12. 6. 2007, 9:24
Bydliště: Šenov u Ostravy
Kontaktovat uživatele:

29. 1. 2009, 7:45

robokop píše:kdyz zmenim meritko v jedne os tak musi vyjit vzdy elipsa
Jenže když udělaš kružnic střed X0 Y0 a R5 tak musiš ji napsat aspon jako
G1 X5 Y0
G2 X-5 Y0 R5
G2 X5 Y0 R5

a když změníš měřítko osy X tak bude jezdit na X10 X-10 a máš z toho dvojnásobnou kružnici....

Pokud to uděláš jako:
G01 X5
G02 X0 Y-5 R5
G02 X-5 Y0 R5
G02 X0 Y5 R5
G02 X5 Y0 R5

A změníš X na 2 tak bude jezdit na X10 ale Y5, což by odpovídalo, ale rádius je mez itěmi body konstantní, čili R5, takže vznikne domršenina....
PavelZ píše:pro každý bod křivky lze analyticky velmi jednoduše vypočítat poloměr křivosti)
z čehož plyne že rádius je proměnný a ještě navíc má pokaždé střed v jiném bodě
:wink:
5/2007 přístup na přestavěnou BF20
5/2009 dokončeno vlastní CNC
http://cnc.usysla.eu/
Uživatelský avatar
bobik
Příspěvky: 4556
Registrován: 11. 12. 2007, 7:48
Bydliště: Okres Klatovy

29. 1. 2009, 7:53

Mám dojem, že robokop myslel změnit nastavení stroje, například zadat dvounásobné stoupání šroubovice než je.
Uživatelský avatar
sysel
Příspěvky: 655
Registrován: 12. 6. 2007, 9:24
Bydliště: Šenov u Ostravy
Kontaktovat uživatele:

29. 1. 2009, 7:56

bobik píše:Mám dojem, že robokop myslel změnit nastavení stroje, například zadat dvounásobné stoupání šroubovice než je.
Tak jestli to myslel tak, tak to by šlo, třeba nastvit jiný počet kroků na milimetr a tím to řešit až na HW úrovni....
5/2007 přístup na přestavěnou BF20
5/2009 dokončeno vlastní CNC
http://cnc.usysla.eu/
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

29. 1. 2009, 8:02

najjednoduchsie je to spravit nagenerovanim G1 v nejakom inom softe .. bude to sice dlhsi G kod ale da sa to optimalizovat pri generovani na hw krok stroja. Ak zmenite mierku suradnic tak budete musiet primerane tomu upravit aj ostatne suradnice pre G0, G1 .. takze to moze byt v konecnom dosledku vacsi problem.
Uživatelský avatar
Radek-B
Příspěvky: 2137
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

29. 1. 2009, 8:55

Ne sice nejjednodussi ale nejelegantnejsi je naprogramovat si to parametricky.

Pro vypocet elipsy prece existuje matematicky model.

RADEK
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

29. 1. 2009, 9:08

ked uz programovat .. tak bresenham - ziadne blbnutie s floating point sin/cos ktore pri parametrickom vyjadreni budete mat, ale priamo vyratat celociselne suradnice do rastru stroja. To je elegantnost, ziadne zaokruhlovanie.

bresenham na elipsu zial bude kusok problem .. bez 64 bit aritmetiky sa pri vacsich rozmeroch a velkom rozliseni velmi rychle ukaze pretecenie vdaka mocnine ^4 ktora tam viackrat vznika (navias sa scitava). Pre tento problem sa ani do vaznejsich HW CNC generatorov nezabudovava interpolator elips.


To "programovat' je ale uloha pre programatora a nie pre cloveka co si xce nieco vyrezat .. tam je najrychlejsie riesenie nechat to vygenerovat z nejakeho CAD/ CAM v rozumnom rozliseni aby to bolo uz presne a zas aby to nemalo zialeny pcet bodov takze by na jeden HW krok stroja bolo 100 suradnic.
PavelZ
Příspěvky: 356
Registrován: 10. 3. 2008, 11:48
Bydliště: Praha

29. 1. 2009, 9:17

Koukám že elipsa, obyčejná elipsa, je trochu ořech. Pokud jde o tu změnu poměrů (třeba změnou stoupání šroubu), pořád to komplexně neřeší celý problém, protože obecně elipsa může mít natočenu hlavní osu o libovolný úhel od osy (x či y), a pak to je beztak v háji. Navíc by se v tomto nastavení již nemohlo obrábět nic jiného normálního a mohl by být problém po úpravě do standardního stavu správně a přesně najet.
Jediné schůdné řešení se mi zdá opravdu nahradit profil elipsy buď usečkama nebo obloukama a nebo kombinací obého. Pak záleží na tom, jestli se to vygeneruje v nějakém softu přímo do g-kódu anebo si to třeba překladač machu spočte sám.

Rovnice elipsy zná každej osmák
Analyticky (x-xa)^2/a^2 + (y-ya)^2/b^2=1
nebo goniometricky: x=xa+a*cos(fi) a y=ya+b*sin(fi) pro fi=0÷2Pi

Jestli bude mít někdo čas, určite po chvilce brouzdání na netu narazí na soft, který to zvládne. Já na to juknu večer, pokud se tu nic neobjeví.
Uživatelský avatar
magi
Sponzor fora
Příspěvky: 2724
Registrován: 16. 10. 2006, 12:40
Bydliště: Třebíč
Kontaktovat uživatele:

29. 1. 2009, 10:28

Bezpochyby by to fungovalo ale je to neprofesionalni s tou zmenou meritka
Dle úpravy hnojiště poznáme hospodáře, dle výsledu voleb jakýchkoliv duševní úroveň voličů.
PavelZ
Příspěvky: 356
Registrován: 10. 3. 2008, 11:48
Bydliště: Praha

29. 1. 2009, 10:55

Jinak v AutoCADu to jde udělat poměrně jednoduše, a to metodou náhrady oblouky:

1) nastaví se systémová promměná peelipse na hodnotu 1
stačí příkazem (setvar "pellipse" 1)
2) Nakreslí se požadovaná elipsa (díky výše uvedené proměnné se vygeneruje jako křivka)
3) po rozložení této křivky se "elipsa" rozpadne na kruhové oblouky, které již lze bez problémů naprogramovat

Jediné, co není zaručeno, je přesnost, s jakou je tato náhrada provedena. Teď jsem to zkusil pro elipsu s parametry a=300/b=120 a max. odchylka byla 1,2 mm, což je brutálně moc, takže pro nějaké přesné obrábění použít nelze.
prochaska
Sponzor fora
Příspěvky: 8341
Registrován: 16. 7. 2006, 12:33
Bydliště: Praha Bohnice + Roudnice nad Labem
Kontaktovat uživatele:

29. 1. 2009, 1:21

Já už se na to nemůžu koukat. Tady máte program na aproximaci elipsy pomocí tečně navazujících kruhových oblouků. Převod do g-kódu a transformaci z normální do obecné polohy si už udělejte sami :-).

Poznámka 1: nechtěl jsem řešit okrajové případy, takže krok musí být zvolen tak, aby se nevyskytovala normála s úhlem π/2 a 3/2 π.

Poznámka 2: psal jsem to z hlavy, chyby vyhrazeny :-)
Přílohy
elipsa.xls
(37.5 KiB) Staženo 332 x
Naposledy upravil(a) prochaska dne 29. 1. 2009, 3:30, celkem upraveno 3 x.
Aleš Procháska
Uživatelský avatar
sysel
Příspěvky: 655
Registrován: 12. 6. 2007, 9:24
Bydliště: Šenov u Ostravy
Kontaktovat uživatele:

29. 1. 2009, 2:51

Tak jsem to zkusil, a nevím, řekl bych že je něco špatně... V excelu se mi nelíbí radius na řádku 12,13 a pak dále.... ten radius by se měl stále zvětšovat ne?
Přílohy
elipsa.jpg
5/2007 přístup na přestavěnou BF20
5/2009 dokončeno vlastní CNC
http://cnc.usysla.eu/
prochaska
Sponzor fora
Příspěvky: 8341
Registrován: 16. 7. 2006, 12:33
Bydliště: Praha Bohnice + Roudnice nad Labem
Kontaktovat uživatele:

29. 1. 2009, 3:01

To by měl, asi jsem něco zanedbal. Ještě se na to juknu.
Naposledy upravil(a) prochaska dne 29. 1. 2009, 3:32, celkem upraveno 1 x.
Aleš Procháska
Uživatelský avatar
Radek-B
Příspěvky: 2137
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

29. 1. 2009, 3:13

Skusim to zmastit primo parametricky, uz se na to nemuzu divat , jdu zjistovat jak se programuje parametry v machu :D
Z hlavy to umim jen v Heidnu.

RADEK
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
prochaska
Sponzor fora
Příspěvky: 8341
Registrován: 16. 7. 2006, 12:33
Bydliště: Praha Bohnice + Roudnice nad Labem
Kontaktovat uživatele:

29. 1. 2009, 3:31

Opraveno. Bylo přehozené jedno znaménko a co to nadělá :-)
Přílohy
elipsa.xls
(37.5 KiB) Staženo 353 x
Aleš Procháska
Uživatelský avatar
sysel
Příspěvky: 655
Registrován: 12. 6. 2007, 9:24
Bydliště: Šenov u Ostravy
Kontaktovat uživatele:

29. 1. 2009, 3:37

Už to chodí, stačí si dát CONCATENATE a sloučit souřadnice do příkazu pro mach... Jinak není potřeba to upravovat pro obecnou polohu, lze to udělat v G kodu funkcí G68 A0 B0 R30 a máte natočeno o 30° se středem v X0 Y0
5/2007 přístup na přestavěnou BF20
5/2009 dokončeno vlastní CNC
http://cnc.usysla.eu/
Odpovědět

Zpět na „MACH všech verzí“