Suby ngcgui do wykrawarki

Dyskusje dotyczące działania obsługi programu LinuxCNC

Autor tematu
szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Suby ngcgui do wykrawarki

#1

Post napisał: szatri » 29 sty 2024, 21:00

Witam, potrzebuję pomocy w zrobieniu/przerobieniu paru subów na wykrawarkę.
Jest tam ręczna zmiana narzędzi wiec raczej będzie jeden program pod jeden stempel.
Rodzaje stempli ograniczam na radzie do dwóch kształtów, kwadrat i koło.
Potrzebuję pomoc w napisaniu paru subów na podstawowe kształty:
- wycinanie otworów stęplem kwadrat w szyku (siatka, otwory prostokątne)
- wycinanie otworów stęplem koło w szyku kołowym (otwory okrągłe)
- wycinanie otworów w nie regularnych odstępach

Cykle wiercenia po części się nadają ale przydała by się korekcja o szerokość stempla.

Może są jakieś materiały o tym programowaniu w o-kodzie z przykładami lepiej obrazujące niż te z oficjalnej strony?




kszumek
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 377
Rejestracja: 04 kwie 2006, 18:08
Lokalizacja: Białystok

Re: Suby ngcgui do wykrawarki

#2

Post napisał: kszumek » 29 sty 2024, 21:57

Witam
co nieco fajnie opisane jest tu
https://www.obliczeniowo.com.pl/869
no to pytanie
jakie konkretnie informacje chcesz wprowadzać jako dane wejściowe?
liczba wierszy ,kolumn , może sie coś wymyśli


Autor tematu
szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: Suby ngcgui do wykrawarki

#3

Post napisał: szatri » 30 sty 2024, 08:23

Z tą ilością kolumn i wierszy to nie chce się określić, preferuje uniwersalne podejście do tematu, tj, bez uprzednio zdefiniowanej ich ilości, tylko wpisanie ich ilosci w formularzu, a algorytm policzy współrzędne do głosu.


Autor tematu
szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: Suby ngcgui do wykrawarki

#4

Post napisał: szatri » 30 sty 2024, 12:31

*kodu


Autor tematu
szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: Suby ngcgui do wykrawarki

#5

Post napisał: szatri » 11 lut 2024, 12:06

Wyszukałem subik na wiercenie siatki i go trochę zmodyfikowałem.

Kod: Zaznacz cały


( ------------------------------ )
(           Wiercenie            )
( ------------------------------ )
( Miki                          )
( Time-stamp: <09-09-2013 17:31> )
( ------------------------------ )

(info: Wiercenie )
; Author: Z. Maciej "Miki" Bajkowski
; time stamp: 03.02.2013 21:37
; logiczny operator "lub" (OR)
; alternatywa wykluczająca (XOR) prawdziwe, gdy nieparzysta liczba argumentów jest prawdziwa
; logiczny operator "i" (AND)
; równe (EQ)
; nierówne (NE)
; większe od (GT)
; większe lub równe (GE)
; mniejsze (LT)
; mniejsze lub równe (LE)
;
; ATAN[Y]/[X] Four quadrant inverse tangent
; ABS[arg] wartość absolutna
; ACOS[arg] Inverse cosine
; ASIN[arg] Inverse sine
; COS[arg] cosinus
; EXP[arg] e raised to the given power
; FIX[arg] zaokrąglenie w dół
; FUP[arg] zaokrąglenie w górę
; ROUND[arg] zaokrąglenie
; LN[arg] logarytm
; SIN[arg] sinus
; SQRT[arg] Pierwiastek kwadratowy
; TAN[arg] Tangens
; EXISTS[arg] szuka zmiennej
o<wier> sub

#<x_pocz> = #1 (=0 początek X)
#<y_pocz> = #2 (=0 początek Y)
#<ilosc_rzedow> = #3 (=1 ilosc rzedow)
#<ilosc_otworow> = #4 (=1 ilosc otworow)
#<szybkosc_posuwu> = #5 (=300 Posuw)
#<odstep_x> = #6 (=100 odstep X)
#<odstep_y> =#7 (=100 odstep Y)


#<ilosc_otworow_1>=#<ilosc_otworow>
#<ilosc_rzedow_1>=#<ilosc_rzedow>
o200 while [#<ilosc_rzedow_1> gt 0]

o110 while [#<ilosc_otworow_1> gt 0]

g0 x[[#<x_pocz>]+[#<odstep_x>*#<ilosc_otworow_1>]-#<odstep_x>+0.1] y[[#<y_pocz>]+[#<odstep_y>*#<ilosc_rzedow_1>]-#<odstep_y>]
x[[#<x_pocz>]+[#<odstep_x>*#<ilosc_otworow_1>]-#<odstep_x>]

g15

#<ilosc_otworow_1>=[#<ilosc_otworow_1>-1]

o1 if [#<ilosc_otworow_1> eq 0]
#<ilosc_rzedow_1>=[#<ilosc_rzedow_1>-1]

o1 endif


o2 if [#<ilosc_rzedow_1> eq 0]
#<ilosc_otworow>=0
o2 endif
o110 endwhile
#<ilosc_otworow_1>=#<ilosc_otworow>
o200 endwhile
o<wier> endsub
Tylko nie rozumiem po co są te wstawki +0,1?

Przydałoby się go jeszcze "doprawić" o wymiar stempla w x i y
Albo na jego podstawie napisać taki by wyklepał kwadrat/prostokat po obwodzie z uwzględnieniem kompensacji szerokości stempla?

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”