![]() |
CNC Edward Dawidowicz |
|
CNC programowanie parametryczne cz.4temat: balustrada schodów
jest realizacja wypełnienia balustrady schodów. Zgodnie z oczekiwaniem klienta, wypełnienie miało zawierać motywy roślinne. Krawędzie konturów należało zfazować, a na płaszczyznach nanieść ryty. Oczywiście, te wymagania dotyczyły obydwu stron wypełnienia. Po zaakceptowaniu projektu, należało zabrać się do stworzenia programów realizujących dwustronną obróbkę. Najważniejszym zadaniem było stworzenie programów do dwustronnej obróbki krzywulców. Balustrada instalowana była na schodach z giętymi policzkami. Podobnie została zaprojektowana balustrada otworu, a wypełnienie stanowiło ciągłą zabudowę. Łączna długość wynosiła 10.5m, co dawało ok. 15m powierzchni. W tym 70% stanowiły krzywulce. . Na zrzucie ekranu pokazuję widok z góry i rozwinęcie widoku z boku. Producenci schodów wykorzystujący do ich wykonania maszyn CNC, z łatwością doliczą się 12 elementów wypełnień - krzywulców i 5 elementów płaskich. ![]()
W tym miejscu muszę powiedzieć, że zaplanowałem wykonanie tych elementów jako obróbkę kontórów i rytów 3 - osiową dla elementów płaskichi i 5 - osiową dla krzywulców. Projekt musiał zatem zawierać linie - tory narzędzi. ![]()
Widać wyrażnie, że narzędzie ustawione jest prostopadle do obrabianej powierzchni.
![]() ![]() ![]() ![]()
Kolejna obróbka - wycinanie konturu. ![]() ![]() ![]() ![]()
Obróbka powierzchni zewnętrznej krzywulców, wykonywana była po obróbce strony wewnętrznej. ![]() ![]() ![]() ![]() ![]()
Kolejności operacji:
- wykonanie fazek konturu - wykonanie rytów
- wykonanie fazek konturu - wykonanie rytów - odcięcie konturu Na zdjęciach poniżej pokazane zostały roboczo zestawione elementy wypełnienia balustrady otworu. ![]() ![]() ![]() ![]()
Oglądając te zdjęcia zastanawiacie się pewnie, gdzie jest tum miejsce na parametryzację? ![]()
Tworzymy projekt grawerki. umieszcająć go w układzie wspólrzędnych tak, aby pozioma oś symetrii leżała na osi X układu. Generujemy kod maszynowy do jej realizacji w obróbce 3 - osiowej. Pamiętajcie o "podziale" linii rysunkowych na odcinki! Na szybko, wystarczy dokonać exportu do pliku .wmf, importu tego pliku do ACAD (ZWCAD). Należy przeskalować zaimportoany plik. Ten sposób zamienia wszelkie łuki na odcinki, nie dzieli jednak odcinków na krótsze. Oto fragment takiego programu: G0 X459.34 Y245.49 Z=GL G1 X459.34 Y245.49 G1 X457.05 Y241.60 G1 X454.53 Y237.70 G1 X452.00 Y234.03 G1 X449.25 Y230.13 G1 X446.50 Y226.46 Aby nałożyć tory jazdy na powierzchnię walca,(walec leży równolegledo osi X) musimy współrzędne Y i Z"dopasować" do powiechni walca. Zależności możecie odczytać z rysunku. I co dalej? No cóż, najprościej przeliczyć to przy użyciu kalkulatora... Nie polecam. Lepiej ten zmarnowany czas poświęcić na coś innego. Można taki kod wkleić do arkusza kalkulacyjnego, używając fukcji arkuszowych wyodrębnić interesujące nas dane, przeliczyć, przeliczone połączyć w jeden tekst, skopiować gotowy program. Lepiej, ale... Polecam każdemu, kto planuje programować maszyny CNC, zapoznanie się z programowaniem w języku Visual Basic for Applications (VBA). Jedna z wersji jest dostępna w pakiecie Microsoft Office. Nie proponuję tworzenia bardzo skomplikowanych rozwiązań. Spróbujcie stworzyć prosty program (makro), odczytujący wartość z komórki arkusza, przeliczcie ja w dowolny sposób, i zapiszcie wynik w innej komórce. Na początek warto jest skorzystać z pomocy - rejestracji swoich dzałań na arkuszu. Przewagą tak stworzonego makra nad działaniem za pomocą funkji arkuszowych, jest możliwość stosowania pętli. Jest wiele informacji nt VBA, jednak to co nam jest potrzebne, jest stosunkowo małym wycinkiem możliwości programowania w tym jezyku, i tych najprostrzych rozwiązań powinniście nauczyć się sami. Namawiam Was do VBA, ponieważ ma on bardzo wiele wspólnego z językami wyższego rzedu stosowanymi do programowania maszyn CNC. Poniżej zamieściłem dwa fragmenty programów. 1. Makra obliczające elementy składowe prostego skrzydła WYS_SKRZ = 2000 ' WYSOKOSC SKRZYDŁA SZER_SKRZ = 900 ' SZEROKOSC SKRZYDŁA SZER_PIO_L = 135 ' SZEROKOSC RAMIAKA PIONOWEGO LEWEGO SZER_PIO_P = 135 'SZEROKOSC RAMIAKA PIONOWEGO PRAWEGO SZER_DOL = 160 'SZEROKOSC RAMIAKA DOLNEGO SZER_GOR = 135 'SZEROKOSC RAMIAKA GORNEGO '.... DLUG_PIO = WYS_SKRZ DLUG_RAM_POZ = SZER_SKRZ - SZER_PIO_L - SZER_PIO_P + 2 * PROFIL ' SZER_PLYC = SZER_SKRZ - SZER_PIO_L - SZER_PIO_P ' PŁYCINA, WYMIAR W SWIETLE WYS_PLYC = WYS_SKRZ - SZER_GOR - SZER_DOL ' PŁYCINA, WYMIAR W SWIETLE '.... 2. Fragment programu CNC obliczający elementy składowe prostego skrzydła L WYS_SKRZ = 2000 ; WYSOKOSC SKRZYDŁA L SZER_SKRZ = 900 ; SZEROKOSC SKRZYDŁA L SZER_PIO_L = 135 ; SZEROKOSC RAMIAKA PIONOWEGO LEWEGO L SZER_PIO_P = 135 ; SZEROKOSC RAMIAKA PIONOWEGO PRAWEGO L SZER_DOL = 160 ; SZEROKOSC RAMIAKA DOLNEGO L SZER_GOR = 135 ; SZEROKOSC RAMIAKA GORNEGO ;......... L DLUG_PIO =WYS_SKRZ ; DLUGOŚĆ RAMIAKÓW PIONOWYCH L DLUG_RAM_POZ =SZER_SKRZ-SZER_PIO_L-SZER_PIO_P+2*PROFIL ; DLUGOŚĆ RAMIAKÓW POZIOMYCH ; ..... L SZER_PLYC =SZER_SKRZ-SZER_PIO_L-SZER_PIO_P ; PŁYCINA, WYMIAR W SWIETLE L DLUG_PLYC =WYS_SKRZ-SZER_GOR-SZER_DOL ; PŁYCINA, WYMIAR W SWIETLE ;..... Zwróćcie uwagę na składni tych programow. Różnią sie one znakiem oddzielającum komentarz: apostrof - w makrze, srednik w programie cnc. W programie cnc, zmienne muszą być poprzedzone literą > L <, to wszystko. Opisane powyżej fragmenty, oczywiście z wieloma innymi obliczeniami można zastosować w praktyce tworząc dokumentację wykonawczą drzwi, oraz wycinać elementy drzwi na CNC. Wróćmy jednak do balustrady. Za pomocą makra VBA zmieniłem kod obróbki naszych rytów 2D na obróbkę 3D. Oczywiście można obliczyć wartości katów i położenia narzędzia, i takie wartości wpisać do kodu. Ja w tym przypadku wybrałem opcję, w którj maszyna w trakcie realizacji, sama dolicza sie właściwych paramaerów. W dołączonym fragmencie ( uwaga: pojedyncze bloki są tak długie, że musiałem rozbić je na trzy linie) widać początkowe X,Y. Wartość X nie zmieniona, Wartość Y przeliczana przez maszynę. Wyglada to mało przyjaźnie, ale taki zapis pozwolił mi na wykorzystanie tego samego kodu do obróbki obustronnej (parametr LUSTRO), odpowiednie PREZLICZENIE KĄTA, PROMIENI ROBOCZYCH, PROMIENI BEZPIECZNYCH, pozwala na zastosowanie tego kodu dla płaszczyzn walcowych o roznych wymiarach. W programie głownym definiujemy wymiary " wycinka rury", a maszyna sama naloży nasz rysunek na jej powierzhnię. G03D X= 459.34 Y=LUSTRO*SIN( 245.49*PRZ_KATA)*PROM_BEZP H=OS_Z-LUSTRO*COS(245.49*PRZ_KATA)*PROM_BEZP Q =KAT R = 245.49*PRZ_KATA ;-----------Z BEZP WEJSCIE G13D X= 459.34 Y=LUSTRO*SIN( 245.49*PRZ_KATA)*PROM_ROB H=OS_Z-LUSTRO*COS( 245.49*PRZ_KATA)*PROM_ROB Q =KAT R = 245.49*PRZ_KATA ;-----------Z BEZP WEJSCIE G13D X= 457.05 Y=LUSTRO*SIN( 241.6*PRZ_KATA)*PROM_ROB H=OS_Z-LUSTRO*COS( 241.6*PRZ_KATA)*PROM_ROB Q =KAT R = 241.6*PRZ_KATA G13D X= 454.53 Y=LUSTRO*SIN( 237.7*PRZ_KATA)*PROM_ROB H=OS_Z-LUSTRO*COS( 237.7*PRZ_KATA)*PROM_ROB Q =KAT R = 237.7*PRZ_KATA G13D X= 452 Y=LUSTRO*SIN( 234.03*PRZ_KATA)*PROM_ROB H=OS_Z-LUSTRO*COS( 234.03*PRZ_KATA)*PROM_ROB Q =KAT R = 234.03*PRZ_KATA G13D X= 449.25 Y=LUSTRO*SIN( 230.13*PRZ_KATA)*PROM_ROB H=OS_Z-LUSTRO*COS( 230.13*PRZ_KATA)*PROM_ROB Q =KAT R = 230.13*PRZ_KATA G13D X= 446.5 Y=LUSTRO*SIN( 226.46*PRZ_KATA)*PROM_ROB H=OS_Z-LUSTRO*COS( 226.46*PRZ_KATA)*PROM_ROB Q =KAT R = 226.46*PRZ_KATA UWAGA: przedstawiony kod realizowany jest przez maszyny SCM, gdzie kąt Q jest kątem w osi Z, R- kąt w osi X, H - wysokość od stołu maszyny. Inne sterowania wymagają podania kątów B,C i wysokości Z. Bardzo trudno jest w paru zdaniach opisać całość problemu, ale wierzę, że wnikliwi czytelnicy odnajdą tu wskazówki, które ułatwią im opanowanie tego typu pracy. Posumowując dodam tylko, że obróbka na maszynie tych elementów zajęła ok. 20 godzin pracy. Praktycy stwierdzą, że w tym czasie można co najwyżej obrobić powierzchnie krzywulców. No cóż, moje krzywulce wangowe obrabiane są 4-8 razy szybciej, niż te, wycinane min. z programu COMPASS. Nie odbywa to się wcale przez bardziej fosowną obróbkę, a jedynie dzięki wyeliminowaniu zbędnych przejazdów maszyny.
|
|
![]() |
![]() |