NGCGUI wyrzuca błąd!!

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

kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 28
Posty: 16735
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: NGCGUI wyrzuca błąd!!

#11

Post napisał: kamar » 06 sie 2025, 16:50

wm56 pisze:
05 sie 2025, 23:35
ngcgui, który został stworzony przez Copilot.
Pytam całkiem poważnie - jak to się robi ?
Drobne błędy popełnił ale stworzył suba dość poprawnie i kupę roboty zaoszczędził.

Dodane 50 minuty 55 sekundy:
Już wiem :) Udzielono mi krótkiej instrukcji, skonfigurowano Claude :)




kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 28
Posty: 16735
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: NGCGUI wyrzuca błąd!!

#12

Post napisał: kamar » 06 sie 2025, 23:08

No to się pobawiłem :) Sub kolegi zassałem do Claude i kazałem poprawić.
Wypluł plik rozbudowany, z komentarzami ale DZIAŁAJĄCY :)

Kod: Zaznacz cały

( ------------------------------ )
(     R O W K I   F R E Z O W A N E )
( ------------------------------ )
( Wersja poprawiona              )
( Time-stamp: <2025-08-06 12:00> )

(info: Frezowanie rowków równoległych)

O<rowki> SUB

; Parametry wejściowe z opisami
#<dl_mater> = #1 (= długość materiału [mm])  
#<odl_rowki> = #2 (= odległość między rowkami [mm])  
#<sr_freza> = #3 (= średnica frezu [mm])  
#<glebokosc> = #4 (= głębokość rowka [mm])  
#<wyjazd> = #5 (= wyjazd poza materiał [mm])  
#<obroty> = #6 (= prędkość obrotowa wrzeciona [RPM])  
#<mgla> = #7 (= mgła olejowa [1=ON, 0=OFF])  
#<marg_pocz> = #8 (= margines początkowy [mm])  
#<marg_kon> = #9 (= margines końcowy [mm])  
#<start_x> = #10 (= pozycja startowa X [mm])  
#<start_y> = #11 (= pozycja startowa Y [mm])  
#<powrot> = #12 (= powrót do XY po zakończeniu [1=TAK, 0=NIE])  
#<kier_frezowania> = #13 (= kierunek frezowania [0=lewa→prawa, 1=prawa→lewa])  
#<start_z> = #14 (= wysokość startowa Z [mm])  
#<tryb_rampy> = #15 (= tryb rampy [0=brak, 1=rampa X, 2=rampa Y])  
#<posuw> = #16 (= posuw [mm/min])  
#<dl_y> = #17 (= długość frezowania w osi Y [mm])  
#<warstwy> = #18 (= liczba warstw frezowania w osi Z)

; Walidacja parametrów wejściowych
O100 IF [#<dl_mater> LE 0]
    (MSG, Błąd: Długość materiału musi być większa od 0!)
    M2
O100 ENDIF

O101 IF [#<odl_rowki> LE 0]
    (MSG, Błąd: Odległość między rowkami musi być większa od 0!)
    M2
O101 ENDIF

O102 IF [#<sr_freza> LE 0]
    (MSG, Błąd: Średnica frezu musi być większa od 0!)
    M2
O102 ENDIF

O103 IF [#<glebokosc> LE 0]
    (MSG, Błąd: Głębokość rowka musi być większa od 0!)
    M2
O103 ENDIF

O104 IF [#<warstwy> LE 0]
    (MSG, Błąd: Liczba warstw musi być większa od 0!)
    M2
O104 ENDIF

O105 IF [[#<marg_pocz> + #<marg_kon>] GE #<dl_mater>]
    (MSG, Błąd: Suma marginesów przekracza długość materiału!)
    M2
O105 ENDIF

O106 IF [#<posuw> LE 0]
    (MSG, Błąd: Posuw musi być większy od 0!)
    M2
O106 ENDIF

O107 IF [#<obroty> LE 0]
    (MSG, Błąd: Obroty muszą być większe od 0!)
    M2
O107 ENDIF

; Ustawienie płaszczyzny XY
G17

; Włączenie wrzeciona
M3 S[#<obroty>]

; Włączenie mgły olejowej jeśli wybrane
O108 IF [#<mgla> EQ 1]
    M7
    (MSG, Włączono mgłę olejową)
O108 ENDIF

; Czas na rozbieg wrzeciona
G4 P2

; Pozycjonowanie początkowe
G0 X#<start_x> Y#<start_y> Z#<start_z>

; Obliczenia podstawowe
#<dl_robocza> = [#<dl_mater> - #<marg_pocz> - #<marg_kon>]
#<liczba_rowkow> = [FIX[#<dl_robocza> / #<odl_rowki>] + 1]
#<skok_z> = [#<glebokosc> / #<warstwy>]

(MSG, Długość robocza: #<dl_robocza> mm)
(MSG, Liczba rowków: #<liczba_rowkow>)
(MSG, Skok na warstwę: #<skok_z> mm)

; Ustalenie pozycji początkowej rowków
O110 IF [#<kier_frezowania> EQ 0]
    #<pocz_rowek> = [#<start_x> + #<marg_pocz>]
    (MSG, Kierunek: lewa → prawa)
O110 ELSE
    #<pocz_rowek> = [#<start_x> + #<dl_mater> - #<marg_kon>]
    (MSG, Kierunek: prawa → lewa)
O110 ENDIF

; Główna pętla frezowania rowków
#<i> = 0
O200 WHILE [#<i> LT #<liczba_rowkow>]
    
    ; Obliczenie pozycji X dla aktualnego rowka
    O300 IF [#<kier_frezowania> EQ 0]
        #<x_rowek> = [#<pocz_rowek> + [#<odl_rowki> * #<i>]]
    O300 ELSE
        #<x_rowek> = [#<pocz_rowek> - [#<odl_rowki> * #<i>]]
    O300 ENDIF
    
    ; Sprawdzenie czy rowek mieści się w materiale
    O301 IF [#<kier_frezowania> EQ 0]
        O302 IF [#<x_rowek> GT [#<start_x> + #<dl_mater> - #<marg_kon>]]
            (MSG, Rowek #<i> poza materiałem - pomijam)
            #<i> = [#<i> + 1]
            O200 CONTINUE
        O302 ENDIF
    O301 ELSE
        O303 IF [#<x_rowek> LT [#<start_x> + #<marg_pocz>]]
            (MSG, Rowek #<i> poza materiałem - pomijam)
            #<i> = [#<i> + 1]
            O200 CONTINUE
        O303 ENDIF
    O301 ENDIF
    
    (MSG, Frezowanie rowka #<i> w pozycji X: #<x_rowek>)
    
    ; Pozycjonowanie nad rowkiem
    G0 X#<x_rowek> Y#<start_y> Z#<start_z>
    
    ; Pętla warstw dla aktualnego rowka
    #<j> = 1
    O410 WHILE [#<j> LE #<warstwy>]
        
        #<z_poziom> = [#<start_z> - [#<skok_z> * #<j>]]
        
        ; Zabezpieczenie przed przekroczeniem głębokości
        O420 IF [#<z_poziom> LT [#<start_z> - #<glebokosc>]]
            #<z_poziom> = [#<start_z> - #<glebokosc>]
        O420 ENDIF
        
        ; Wjazd do materiału z rampą lub pionowo
        O430 IF [#<tryb_rampy> EQ 0]
            ; Wjazd pionowy
            G1 Z[#<z_poziom>] F[#<posuw> / 2]
        O430 ELSEIF [#<tryb_rampy> EQ 1]
            ; Rampa w osi X
            G1 X[#<x_rowek> - [#<sr_freza> / 2]] Z[#<z_poziom>] F[#<posuw>]
            G1 X[#<x_rowek>]
        O430 ELSEIF [#<tryb_rampy> EQ 2]
            ; Rampa w osi Y
            G1 Y[#<start_y> - [#<sr_freza> / 2]] Z[#<z_poziom>] F[#<posuw>]
            G1 Y[#<start_y>]
        O430 ENDIF
        
        ; Frezowanie rowka w aktualnej warstwie
        G1 Y[#<start_y> + #<dl_y>] F[#<posuw>]
        
        ; Powrót do początku rowka
        G1 Y#<start_y>
        
        #<j> = [#<j> + 1]
    O410 ENDWHILE
    
    ; Wyjazd z rowka na bezpieczną wysokość
    G0 Z#<start_z>
    
    #<i> = [#<i> + 1]
O200 ENDWHILE

; Dodatkowy wyjazd dla ostatniego rowka jeśli określono
O500 IF [#<wyjazd> GT 0]
    O510 IF [#<kier_frezowania> EQ 0]
        #<x_wyjazd> = [#<start_x> + #<dl_mater> + #<wyjazd>]
    O510 ELSE
        #<x_wyjazd> = [#<start_x> - #<wyjazd>]
    O510 ENDIF
    
    G0 X[#<x_wyjazd>] Y#<start_y>
    G1 Z[#<start_z> - #<glebokosc>] F[#<posuw> / 2]
    G1 Y[#<start_y> + #<dl_y>] F[#<posuw>]
    G0 Z#<start_z>
O500 ENDIF

; Powrót do pozycji startowej jeśli wybrano
O600 IF [#<powrot> EQ 1]
    G0 X#<start_x> Y#<start_y> Z#<start_z>
    (MSG, Powrót do pozycji startowej)
O600 ENDIF

; Wyłączenie chłodzenia i wrzeciona
M9    ; Wyłączenie chłodzenia
M5    ; Zatrzymanie wrzeciona

(MSG, Frezowanie rowków zakończone)

O<rowki> ENDSUB

M2 

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 34
Posty: 9837
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: NGCGUI wyrzuca błąd!!

#13

Post napisał: tuxcnc » 07 sie 2025, 05:46

kamar pisze:
06 sie 2025, 23:08
No to się pobawiłem :) Sub kolegi zassałem do Claude i kazałem poprawić.
Wypluł plik rozbudowany, z komentarzami ale DZIAŁAJĄCY
DZIAŁAJĄCY ???
Sztuczny debilizm może i potrafi znaleźć w kodzie literówki, a nie poprawi programu spieprzonego na etapie koncepcji.
Pytałem po jasną cholerę jest rampa w X lub Y i co ona ma robić.
Sztuczny debilizm o to nie zapyta, bo jest na to zbyt głupi.
Tak to "działa":
Obrazek


kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 28
Posty: 16735
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: NGCGUI wyrzuca błąd!!

#14

Post napisał: kamar » 07 sie 2025, 16:50

Największy debilizm, (nie ważne - sztuczny czy naturalnie nabyty) jak nie ma o czymś pojęcia a deprecjonuje wszystko wokół.
Ustaw (albo poproś kogoś co potrafi) symulator przyzwoicie i wtedy będzie robił tak :

Obrazek

Dodane 2 godziny 18 minuty 56 sekundy:
Zabawy ciąg dalszy :
sub poprawiony wyżej działa dobrze ale ma wqwiające wyświetlanie wszystkich komend
więc gadamy dalej :
Obrazek

i zwrócony cod:

Kod: Zaznacz cały

( ------------------------------ )
(     R O W K I   F R E Z O W A N E )
( ------------------------------ )
( Wersja poprawiona              )
( Time-stamp: <2025-08-06 12:00> )

(info: Frezowanie rowków równoległych)

O<rowki> SUB

; Parametry wejściowe z opisami
#<dl_mater> = #1 (= długość materiału [mm])  
#<odl_rowki> = #2 (= odległość między rowkami [mm])  
#<sr_freza> = #3 (= średnica frezu [mm])  
#<glebokosc> = #4 (= głębokość rowka [mm])  
#<wyjazd> = #5 (= wyjazd poza materiał [mm])  
#<obroty> = #6 (= prędkość obrotowa wrzeciona [RPM])  
#<mgla> = #7 (= mgła olejowa [1=ON, 0=OFF])  
#<marg_pocz> = #8 (= margines początkowy [mm])  
#<marg_kon> = #9 (= margines końcowy [mm])  
#<start_x> = #10 (= pozycja startowa X [mm])  
#<start_y> = #11 (= pozycja startowa Y [mm])  
#<powrot> = #12 (= powrót do XY po zakończeniu [1=TAK, 0=NIE])  
#<kier_frezowania> = #13 (= kierunek frezowania [0=lewa→prawa, 1=prawa→lewa])  
#<start_z> = #14 (= wysokość startowa Z [mm])  
#<tryb_rampy> = #15 (= tryb rampy [0=brak, 1=rampa X, 2=rampa Y])  
#<posuw> = #16 (= posuw [mm/min])  
#<dl_y> = #17 (= długość frezowania w osi Y [mm])  
#<warstwy> = #18 (= liczba warstw frezowania w osi Z)

; Walidacja parametrów wejściowych
O100 IF [#<dl_mater> LE 0]
    (MSG, Błąd: Długość materiału musi być większa od 0!)
    M2
O100 ENDIF

O101 IF [#<odl_rowki> LE 0]
    (MSG, Błąd: Odległość między rowkami musi być większa od 0!)
    M2
O101 ENDIF

O102 IF [#<sr_freza> LE 0]
    (MSG, Błąd: Średnica frezu musi być większa od 0!)
    M2
O102 ENDIF

O103 IF [#<glebokosc> LE 0]
    (MSG, Błąd: Głębokość rowka musi być większa od 0!)
    M2
O103 ENDIF

O104 IF [#<warstwy> LE 0]
    (MSG, Błąd: Liczba warstw musi być większa od 0!)
    M2
O104 ENDIF

O105 IF [[#<marg_pocz> + #<marg_kon>] GE #<dl_mater>]
    (MSG, Błąd: Suma marginesów przekracza długość materiału!)
    M2
O105 ENDIF

O106 IF [#<posuw> LE 0]
    (MSG, Błąd: Posuw musi być większy od 0!)
    M2
O106 ENDIF

O107 IF [#<obroty> LE 0]
    (MSG, Błąd: Obroty muszą być większe od 0!)
    M2
O107 ENDIF

; Ustawienie płaszczyzny XY
G17

; Włączenie wrzeciona
M3 S[#<obroty>]

; Włączenie mgły olejowej jeśli wybrane
O108 IF [#<mgla> EQ 1]
    M7
O108 ENDIF

; Czas na rozbieg wrzeciona
G4 P2

; Pozycjonowanie początkowe
G0 X#<start_x> Y#<start_y> Z#<start_z>

; Obliczenia podstawowe
#<dl_robocza> = [#<dl_mater> - #<marg_pocz> - #<marg_kon>]
#<liczba_rowkow> = [FIX[#<dl_robocza> / #<odl_rowki>] + 1]
#<skok_z> = [#<glebokosc> / #<warstwy>]

; Ustalenie pozycji początkowej rowków
O110 IF [#<kier_frezowania> EQ 0]
    #<pocz_rowek> = [#<start_x> + #<marg_pocz>]
O110 ELSE
    #<pocz_rowek> = [#<start_x> + #<dl_mater> - #<marg_kon>]
O110 ENDIF

; Główna pętla frezowania rowków
#<i> = 0
O200 WHILE [#<i> LT #<liczba_rowkow>]
    
    ; Obliczenie pozycji X dla aktualnego rowka
    O300 IF [#<kier_frezowania> EQ 0]
        #<x_rowek> = [#<pocz_rowek> + [#<odl_rowki> * #<i>]]
    O300 ELSE
        #<x_rowek> = [#<pocz_rowek> - [#<odl_rowki> * #<i>]]
    O300 ENDIF
    
    ; Sprawdzenie czy rowek mieści się w materiale
    O301 IF [#<kier_frezowania> EQ 0]
        O302 IF [#<x_rowek> GT [#<start_x> + #<dl_mater> - #<marg_kon>]]
            #<i> = [#<i> + 1]
            O200 CONTINUE
        O302 ENDIF
    O301 ELSE
        O303 IF [#<x_rowek> LT [#<start_x> + #<marg_pocz>]]
            #<i> = [#<i> + 1]
            O200 CONTINUE
        O303 ENDIF
    O301 ENDIF
    
    ; Pozycjonowanie nad rowkiem
    G0 X#<x_rowek> Y#<start_y> Z#<start_z>
    
    ; Pętla warstw dla aktualnego rowka
    #<j> = 1
    O410 WHILE [#<j> LE #<warstwy>]
        
        #<z_poziom> = [#<start_z> - [#<skok_z> * #<j>]]
        
        ; Zabezpieczenie przed przekroczeniem głębokości
        O420 IF [#<z_poziom> LT [#<start_z> - #<glebokosc>]]
            #<z_poziom> = [#<start_z> - #<glebokosc>]
        O420 ENDIF
        
        ; Wjazd do materiału z rampą lub pionowo
        O430 IF [#<tryb_rampy> EQ 0]
            ; Wjazd pionowy
            G1 Z[#<z_poziom>] F[#<posuw> / 2]
        O430 ELSEIF [#<tryb_rampy> EQ 1]
            ; Rampa w osi X
            G1 X[#<x_rowek> - [#<sr_freza> / 2]] Z[#<z_poziom>] F[#<posuw>]
            G1 X[#<x_rowek>]
        O430 ELSEIF [#<tryb_rampy> EQ 2]
            ; Rampa w osi Y
            G1 Y[#<start_y> - [#<sr_freza> / 2]] Z[#<z_poziom>] F[#<posuw>]
            G1 Y[#<start_y>]
        O430 ENDIF
        
        ; Frezowanie rowka w aktualnej warstwie
        G1 Y[#<start_y> + #<dl_y>] F[#<posuw>]
        
        ; Powrót do początku rowka
        G1 Y#<start_y>
        
        #<j> = [#<j> + 1]
    O410 ENDWHILE
    
    ; Wyjazd z rowka na bezpieczną wysokość
    G0 Z#<start_z>
    
    #<i> = [#<i> + 1]
O200 ENDWHILE

; Dodatkowy wyjazd dla ostatniego rowka jeśli określono
O500 IF [#<wyjazd> GT 0]
    O510 IF [#<kier_frezowania> EQ 0]
        #<x_wyjazd> = [#<start_x> + #<dl_mater> + #<wyjazd>]
    O510 ELSE
        #<x_wyjazd> = [#<start_x> - #<wyjazd>]
    O510 ENDIF
    
    G0 X[#<x_wyjazd>] Y#<start_y>
    G1 Z[#<start_z> - #<glebokosc>] F[#<posuw> / 2]
    G1 Y[#<start_y> + #<dl_y>] F[#<posuw>]
    G0 Z#<start_z>
O500 ENDIF

; Powrót do pozycji startowej jeśli wybrano
O600 IF [#<powrot> EQ 1]
    G0 X#<start_x> Y#<start_y> Z#<start_z>
O600 ENDIF

; Wyłączenie chłodzenia i wrzeciona
M9    ; Wyłączenie chłodzenia
M5    ; Zatrzymanie wrzeciona

O<rowki> ENDSUB

M2
Dodane 21 minuty 48 sekundy:
A żeby było jeszcze śmieszniej to zasysam swoje wcześniejsze suby i wstawia mi elegancko zabezpieczenia których nie chciało mi się pisać :)

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 34
Posty: 9837
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: NGCGUI wyrzuca błąd!!

#15

Post napisał: tuxcnc » 07 sie 2025, 17:17

kamar pisze:
07 sie 2025, 16:50
Ustaw (albo poproś kogoś co potrafi) symulator przyzwoicie i wtedy będzie robił tak
Z głową wszystko w porządku?
Co ma jakieś magiczne "ustawienie symulatora" ze spieprzonym kodem, który potrafi robić głupoty.
Winna jest ta linia:

Kod: Zaznacz cały

G1 X[#<x_rowek> - [#<sr_freza> / 2]] Z[#<z_poziom>] F[#<posuw>]
Co poeta miał na myśli pozostanie zapewne tajemnicą na zawsze...

Ty chcesz udowodnić za wszelką cenę, że masz rację.
A robi się dokładnie odwrotnie - podaje się takie parametry, żeby program się wy***przył i jeśli się wy***przy, to znaczy że jest spieprzony i się nie nadaje.

My nie żyjemy w Chinach, tylko w Europie, więc "działa" znaczy że zawsze działa.
To w Chinach coś może być "wystarczająco dobre". Na przykład jak kupisz od Chińczyka nóż, który jest w połowie tępy, to on Ci powie że nóż jest dobry, a tej tępej połowy ostrza nie musisz używać....


kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 28
Posty: 16735
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: NGCGUI wyrzuca błąd!!

#16

Post napisał: kamar » 07 sie 2025, 17:55

Obrazek

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 34
Posty: 9837
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: NGCGUI wyrzuca błąd!!

#17

Post napisał: tuxcnc » 07 sie 2025, 19:53

kamar pisze:
07 sie 2025, 17:55
Obrazek
Ale rampa jest potrzebna, problem polegał tylko na tym, żeby nie robić jej w X, skoro rowki są frezowane w Y...
Widzisz, cały spór nie polega na tym, czy AI coś potrafi, bo wiele rzeczy umie i robi to lepiej i szybciej od człowieka, tylko o to, czy jakiś nieuk i ignorant jest w stanie przy jego pomocy stworzyć poprawnie, bezpiecznie i sensownie działający program. Odpowiedź brzmi oczywiście nie, na co dowód mamy tutaj. AI, w końcu, bo przecież nie za pierwszym razem, napisał formalnie poprawny kod, tyle że wykonujący operację kompletnie bez sensu. I to tutaj jest istota problemu, że AI takich rzeczy ocenić nie potrafi...


kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 28
Posty: 16735
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: NGCGUI wyrzuca błąd!!

#18

Post napisał: kamar » 07 sie 2025, 20:33

tuxcnc pisze:
07 sie 2025, 19:53
napisał formalnie poprawny kod, tyle że wykonujący operację kompletnie bez sensu. I to tutaj jest istota problemu, że AI takich rzeczy ocenić nie potrafi...
A tuxcnc potrafi :) I fakt, że były trzy opcje do wyboru nie ma na to wpływu. No bo jak sobie wyobrazić wejście po x poza materiałem jak mało miejsca. A śrubowe rampy sobie wyobrażasz ? A zygzakiem ? Pokory trochę , za mało wiesz i umiesz. A spartaczone ustawienia symulatora w stosunku do maszynki maszyny spowodowały wejście w rampę od dołu materiału.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 34
Posty: 9837
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: NGCGUI wyrzuca błąd!!

#19

Post napisał: tuxcnc » 07 sie 2025, 20:49

kamar pisze:
07 sie 2025, 20:33
A tuxcnc potrafi :) I fakt, że były trzy opcje do wyboru nie ma na to wpływu. No bo jak sobie wyobrazić wejście po x poza materiałem jak mało miejsca. A śrubowe rampy sobie wyobrażasz ? A zygzakiem ? Pokory trochę , za mało wiesz i umiesz. A spartaczone ustawienia symulatora w stosunku do maszynki maszyny spowodowały wejście w rampę od dołu materiału.
Bredzisz jak potłuczony.
Nie mam pojęcia o jakich "ustawieniach symulatora" mówisz. Sub generował taką ścieżkę i Axis ją prawidłowo pokazywał.
A rampa to rampa. Ma początek, koniec i kąt. Cały problem polega na tym, że jak frezujesz kieszeń (program rowki tnie kieszenie w kształcie rowka), to rampę trzeba zmieścić w kieszeni. Ogólnie to cały rowek można ciąć rampą, tylko samo dno na płasko. (Coś w podobie frezowania ślepego otworu helisą).


drzasiek90
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 19
Posty: 2487
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: NGCGUI wyrzuca błąd!!

#20

Post napisał: drzasiek90 » 08 sie 2025, 12:02

Ustaliliście już, który ma większego? :)
tuxcnc pisze:
07 sie 2025, 19:53
cały spór nie polega na tym, czy AI coś potrafi, bo wiele rzeczy umie i robi to lepiej i szybciej od człowieka
To już i tak postęp, bo jeszcze nie dawno uważałeś, że AI jest zupełnie do niczego.
Jeszcze trochę i się nawet ty przekonasz, że z narzędzi warto korzystać.
tuxcnc pisze:
07 sie 2025, 19:53
czy jakiś nieuk i ignorant jest w stanie przy jego pomocy stworzyć poprawnie, bezpiecznie i sensownie działający program. Odpowiedź brzmi oczywiście nie
Ale o to nie było i nie ma żadnego sporu.
AI to narzędzie. Z każdego narzędzia trzeba umieć korzystać i przy okazji mieć odrobinę pojęcia o tym, do czego się chce go użyć.
Jak dasz młotek kompletnemu lamusowi to nie dość, że gwoździa nie wbije to i sobie krzywdę zrobi.
To nie jest dowód na to, że młotek jest do du** i nie należy z niego korzystać.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”