AI w warsztacie

Tu można porozmawiać na dowolny temat nie koniecznie związany z tematyką maszyn i CNC

Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 147
Posty: 17168
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: AI w warsztacie

#61

Post napisał: kamar » 22 lis 2025, 13:02

To trzymaj w jednym chats-ie, tez powinien pamiętać
Tylko nie edytuj i poprawiaj wcześniejszych pytań bo stracisz wszystko co po nim. Odczułem na własnej ... :)



Awatar użytkownika

senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 83
Posty: 1640
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: AI w warsztacie

#62

Post napisał: senio » 22 lis 2025, 13:09

kamar pisze:
22 lis 2025, 13:02
To trzymaj w jednym chats-ie, tez powinien pamiętać
Raczej tak jest. Zobacz jak on to ujął

Rozumiem! Niestety nie mogę "wrócić do wersji 6" - widzę tylko aktualny stan artefaktu. Ale mogę przepisać sub od nowa na podstawie twojego działającego suba, tylko przystosowanego do gniazda łożyska.
Zaraz napiszę nową wersję bez MSG, wzorowaną na twoim działającym kodzie


Samodzielnie wrzucasz mu co chcesz i już widzi wtedy.


Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 147
Posty: 17168
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: AI w warsztacie

#63

Post napisał: kamar » 22 lis 2025, 13:28

Dawid92 pisze:
21 lis 2025, 23:27
OT @kamar Sprawdź sobie ten generator kół łańcuchowych do F360 https://github.com/kylediaz/Sprocket
Plik ściągnąłem ale dalej wiszę ?

Obrazek


Dawid92
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 186
Rejestracja: 27 kwie 2011, 00:13
Lokalizacja: Śląsk

Re: AI w warsztacie

#64

Post napisał: Dawid92 » 22 lis 2025, 13:36

W 2 podajesz mu folder gdzie rozpakowałeś.
Obrazek


Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 147
Posty: 17168
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: AI w warsztacie

#65

Post napisał: kamar » 22 lis 2025, 13:53

Nie widzi tego pliku

Obrazek

Obrazek


Dawid92
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 186
Rejestracja: 27 kwie 2011, 00:13
Lokalizacja: Śląsk

Re: AI w warsztacie

#66

Post napisał: Dawid92 » 22 lis 2025, 13:58

Musisz rozpakować to archiwum .zip, wtedy skopiuj sobie zawartość (te 3 foldery co u mnie na zrzucie ekranu do twojego katalogu generator)
Obrazek


Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 147
Posty: 17168
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: AI w warsztacie

#67

Post napisał: kamar » 23 lis 2025, 08:10

Ten generator to nie jest dobry wynalazek !!!!
Niby coś tam stworzył ale:
1.Koło z przypadkowymi parametrami bez możliwości wyboru i zmiany.
2. Ząb koła daleki od prawidłowego
3. Rozwalił mi działający, podobny generator do kół zębatych

Obrazek Obrazek


Koło generowane grzecznościowo z inventora wygląda tak :

Obrazek


Wprawdzie chętnych na suba od wrażej AI nie było ale i tak wstawię :)

Kod: Zaznacz cały

o<wal_3czopy> sub

(INFO: Toczenie walu z 3 czopami, fazkami i podcienciami)

#<start_z> = #1 (=0 pozycja Start Z)
#<material_diameter> = #2 (=50 srednica materialu)
#<safe_z> = #3 (=5 bezpieczna wysokosc Z)
#<spindle_rpm> = #4 (=1000 obroty wrzeciona RPM)
#<depth_of_cut> = #5 (=2 głębokość skrawania mm)

#<czop1_diameter> = #6 (=25 Czop1 średnica mm)
#<czop1_length> = #7 (=40 Czop1 długość mm)
#<czop1_chamfer> = #8 (=1 Czop1 fazka mm)
#<czop1_undercut> = #9 (=0 <> Czop1 podcięcie 0=nie 1=tak)

#<czop2_diameter> = #10 (=30 Czop2 średnica mm)
#<czop2_length> = #11 (=50 Czop2 długość mm)
#<czop2_chamfer> = #12 (=1.5 Czop2 fazka mm)
#<czop2_undercut> = #13 (=0 <> Czop2 podcięcie 0=nie 1=tak)

#<czop3_diameter> = #14 (=35 Czop3 średnica mm)
#<czop3_length> = #15 (=45 Czop3 długość mm)
#<czop3_chamfer> = #16 (=2 Czop3 fazka mm)
#<czop3_undercut> = #17 (=0 <> Czop3 podcięcie 0=nie 1=tak)

;; Stałe wartości
#<feed_roughing> = 0.2
#<feed_finishing> = 0.1

;; Wymiary podcięć znormalizowanych
#<czop1_undercut_width> = 3.0
#<czop1_undercut_depth> = 0.3
#<czop2_undercut_width> = 3.5
#<czop2_undercut_depth> = 0.3
#<czop3_undercut_width> = 3.0
#<czop3_undercut_depth> = 0.3

(========================================)
(   POCZĄTEK PROGRAMU                   )
(========================================)

;; Inicjalizacja
G21 (Jednostki metryczne)
G40 (Kasuj kompensację promienia)
G49 (Kasuj kompensację długości)
G54 (Układ współrzędnych)
G80 (Kasuj cykle)



;; Włącz wrzeciono
M3 S#<spindle_rpm>
G4 P2.0 (Pauza 2 sekundy)

;; Oblicz pozycje Z dla czopów
#<czop1_z_start> = #<start_z>
o505 if [#<czop1_length> GT 0]
    #<czop1_z_end> = [#<czop1_z_start> - #<czop1_length>]
o505 else
    #<czop1_z_end> = #<czop1_z_start>
o505 endif

#<czop2_z_start> = #<czop1_z_end>
o506 if [#<czop2_length> GT 0]
    #<czop2_z_end> = [#<czop2_z_start> - #<czop2_length>]
o506 else
    #<czop2_z_end> = #<czop2_z_start>
o506 endif

#<czop3_z_start> = #<czop2_z_end>
o507 if [#<czop3_length> GT 0]
    #<czop3_z_end> = [#<czop3_z_start> - #<czop3_length>]
o507 else
    #<czop3_z_end> = #<czop3_z_start>
o507 endif

(========================================)
(   TOCZENIE ZGRUBNE                    )
(========================================)

;; ETAP 1: Zgrubne toczenie do średnicy czopa 3 (największego)
(MSG, Zgrubne toczenie - etap 1/3)
#<current_diameter> = #<material_diameter>
#<target_diameter> = #<czop3_diameter>

o100 while [#<current_diameter> GT [#<target_diameter> + 0.3]]
    #<current_diameter> = [#<current_diameter> - [#<depth_of_cut> * 2]]
    o101 if [#<current_diameter> LT [#<target_diameter> + 0.3]]
        #<current_diameter> = [#<target_diameter> + 0.3]
    o101 endif
    
    G0 X[#<current_diameter> + 2] Z[#<czop1_z_start> + 2]
    G1 Z[#<czop1_z_start>] F[#<feed_roughing> * #<spindle_rpm>]
    G1 X[#<current_diameter>] F[#<feed_roughing> * #<spindle_rpm> / 3]
    G1 Z[#<czop3_z_end>] F[#<feed_roughing> * #<spindle_rpm>]
    G1 X[#<current_diameter> + 2] F[#<feed_roughing> * #<spindle_rpm> / 3]
o100 endwhile

;; ETAP 2: Zgrubne toczenie do średnicy czopa 2
o200 if [#<czop2_diameter> LT #<czop3_diameter>]
    (MSG, Zgrubne toczenie - etap 2/3)
    #<current_diameter> = #<czop3_diameter>
    #<target_diameter> = #<czop2_diameter>
    
    o201 while [#<current_diameter> GT [#<target_diameter> + 0.3]]
        #<current_diameter> = [#<current_diameter> - [#<depth_of_cut> * 2]]
        o202 if [#<current_diameter> LT [#<target_diameter> + 0.3]]
            #<current_diameter> = [#<target_diameter> + 0.3]
        o202 endif
        
        G0 X[#<current_diameter> + 2] Z[#<czop1_z_start> + 2]
        G1 Z[#<czop1_z_start>] F[#<feed_roughing> * #<spindle_rpm>]
        G1 X[#<current_diameter>] F[#<feed_roughing> * #<spindle_rpm> / 3]
        G1 Z[#<czop2_z_end>] F[#<feed_roughing> * #<spindle_rpm>]
        G1 X[#<current_diameter> + 2] F[#<feed_roughing> * #<spindle_rpm> / 3]
    o201 endwhile
o200 endif

;; ETAP 3: Zgrubne toczenie do średnicy czopa 1 (najmniejszego)
o300 if [#<czop1_diameter> LT #<czop2_diameter>]
    (MSG, Zgrubne toczenie - etap 3/3)
    #<current_diameter> = #<czop2_diameter>
    #<target_diameter> = #<czop1_diameter>
    
    o301 while [#<current_diameter> GT [#<target_diameter> + 0.3]]
        #<current_diameter> = [#<current_diameter> - [#<depth_of_cut> * 2]]
        o302 if [#<current_diameter> LT [#<target_diameter> + 0.3]]
            #<current_diameter> = [#<target_diameter> + 0.3]
        o302 endif
        
        G0 X[#<current_diameter> + 2] Z[#<czop1_z_start> + 2]
        G1 Z[#<czop1_z_start>] F[#<feed_roughing> * #<spindle_rpm>]
        G1 X[#<current_diameter>] F[#<feed_roughing> * #<spindle_rpm> / 3]
        G1 Z[#<czop1_z_end>] F[#<feed_roughing> * #<spindle_rpm>]
        G1 X[#<current_diameter> + 2] F[#<feed_roughing> * #<spindle_rpm> / 3]
    o301 endwhile
o300 endif

G0 Z[#<safe_z>]

(========================================)
(   TOCZENIE WYKAŃCZAJĄCE               )
(========================================)

;; Wykończenie jednym przejściem po całym konturze
(MSG, Wykończenie - jedno przejście)

G0 X[#<czop1_diameter> + 2] Z[#<czop1_z_start> + 2]
G1 Z[#<czop1_z_start>] F[#<feed_finishing> * #<spindle_rpm>]
G1 X[#<czop1_diameter>] F[#<feed_finishing> * #<spindle_rpm> / 3]
G1 Z[#<czop1_z_end>] F[#<feed_finishing> * #<spindle_rpm>]
G1 X[#<czop2_diameter>] F[#<feed_finishing> * #<spindle_rpm> / 3]
G1 Z[#<czop2_z_end>] F[#<feed_finishing> * #<spindle_rpm>]
G1 X[#<czop3_diameter>] F[#<feed_finishing> * #<spindle_rpm> / 3]
G1 Z[#<czop3_z_end>] F[#<feed_finishing> * #<spindle_rpm>]
G1 X[#<czop3_diameter> + 2] F[#<feed_finishing> * #<spindle_rpm> / 3]

G0 Z[#<safe_z>]

(========================================)
(   FAZKI                                )
(========================================)

;; Fazka czopa 1
o400 if [#<czop1_chamfer> GT 0]
    (MSG, Fazka czopa 1)
    #<chamfer_x_offset> = [#<czop1_chamfer> * 2]
    #<chamfer_z_offset> = #<czop1_chamfer>
    
    G0 X[[#<czop1_diameter>] - #<chamfer_x_offset> + 2] Z[#<czop1_z_start> + 2]
    G1 X[[#<czop1_diameter>] - #<chamfer_x_offset>] F[#<feed_finishing> * #<spindle_rpm> / 3]
    G1 Z[#<czop1_z_start>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<czop1_diameter>] Z[#<czop1_z_start> - #<chamfer_z_offset>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<czop1_diameter> + 2] F[#<feed_finishing> * #<spindle_rpm> / 3]
o400 endif

;; Fazka czopa 2
o401 if [#<czop2_chamfer> GT 0]
    (MSG, Fazka czopa 2)
    #<chamfer_x_offset> = [#<czop2_chamfer> * 2]
    #<chamfer_z_offset> = #<czop2_chamfer>
    
    G0 X[[#<czop2_diameter>] - #<chamfer_x_offset> + 2] Z[#<czop2_z_start> + 2]
    G1 X[[#<czop2_diameter>] - #<chamfer_x_offset>] F[#<feed_finishing> * #<spindle_rpm> / 3]
    G1 Z[#<czop2_z_start>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<czop2_diameter>] Z[#<czop2_z_start> - #<chamfer_z_offset>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<czop2_diameter> + 2] F[#<feed_finishing> * #<spindle_rpm> / 3]
o401 endif

;; Fazka czopa 3
o402 if [#<czop3_chamfer> GT 0]
    (MSG, Fazka czopa 3)
    #<chamfer_x_offset> = [#<czop3_chamfer> * 2]
    #<chamfer_z_offset> = #<czop3_chamfer>
    
    G0 X[[#<czop3_diameter>] - #<chamfer_x_offset> + 2] Z[#<czop3_z_start> + 2]
    G1 X[[#<czop3_diameter>] - #<chamfer_x_offset>] F[#<feed_finishing> * #<spindle_rpm> / 3]
    G1 Z[#<czop3_z_start>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<czop3_diameter>] Z[#<czop3_z_start> - #<chamfer_z_offset>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<czop3_diameter> + 2] F[#<feed_finishing> * #<spindle_rpm> / 3]
o402 endif

(========================================)
(   PODCIĘCIA                            )
(========================================)

;; Podcięcie czopa 1 - na końcu czopa
o500 if [#<czop1_undercut> EQ 1]
    (MSG, Podcięcie czopa 1)
    #<undercut_diameter> = [#<czop1_diameter> - [#<czop1_undercut_depth> * 2]]
    
    G0 X[#<czop1_diameter> + 2] Z[#<czop1_z_end> + #<czop1_undercut_width> + 1]
    G1 Z[#<czop1_z_end> + #<czop1_undercut_width>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<undercut_diameter>] F[#<feed_finishing> * #<spindle_rpm> / 2]
    G1 Z[#<czop1_z_end>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<czop1_diameter> + 2] F[#<feed_finishing> * #<spindle_rpm> / 3]
o500 endif

;; Podcięcie czopa 2 - na końcu czopa
o501 if [#<czop2_undercut> EQ 1]
    (MSG, Podcięcie czopa 2)
    #<undercut_diameter> = [#<czop2_diameter> - [#<czop2_undercut_depth> * 2]]
    
    G0 X[#<czop2_diameter> + 2] Z[#<czop2_z_end> + #<czop2_undercut_width> + 1]
    G1 Z[#<czop2_z_end> + #<czop2_undercut_width>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<undercut_diameter>] F[#<feed_finishing> * #<spindle_rpm> / 2]
    G1 Z[#<czop2_z_end>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<czop2_diameter> + 2] F[#<feed_finishing> * #<spindle_rpm> / 3]
o501 endif

;; Podcięcie czopa 3 - na końcu czopa
o502 if [#<czop3_undercut> EQ 1]
    (MSG, Podcięcie czopa 3)
    #<undercut_diameter> = [#<czop3_diameter> - [#<czop3_undercut_depth> * 2]]
    
    G0 X[#<czop3_diameter> + 2] Z[#<czop3_z_end> + #<czop3_undercut_width> + 1]
    G1 Z[#<czop3_z_end> + #<czop3_undercut_width>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<undercut_diameter>] F[#<feed_finishing> * #<spindle_rpm> / 2]
    G1 Z[#<czop3_z_end>] F[#<feed_finishing> * #<spindle_rpm>]
    G1 X[#<czop3_diameter> + 2] F[#<feed_finishing> * #<spindle_rpm> / 3]
o502 endif

(========================================)
(   ZAKOŃCZENIE PROGRAMU                )
(========================================)

;; Powrót do pozycji bezpiecznej
G0 Z[#<safe_z>]
G0 X[#<material_diameter> + 10]

;; Zatrzymaj wrzeciono
M5



(MSG, Program zakończony)
M30

o<wal_3czopy> endsub


I wersja na Mach3 :) :) :)

Kod: Zaznacz cały

%
O1001 (Toczenie walu z 3 czopami - Mach3)
(Parametry do ustawienia przed uruchomieniem)

(========================================)
(   PARAMETRY PROGRAMU                  )
(========================================)

(Parametry ogólne)
#1 = 0       (Pozycja Start Z)
#2 = 50      (Srednica materialu)
#3 = 5       (Bezpieczna wysokosc Z)
#4 = 1000    (Obroty wrzeciona RPM)
#5 = 2       (Głębokość skrawania mm)

(Czop 1 - najmniejszy)
#6 = 25      (Czop1 średnica mm)
#7 = 40      (Czop1 długość mm)
#8 = 1       (Czop1 fazka mm)
#9 = 0       (Czop1 podcięcie 0=nie 1=tak)

(Czop 2 - środkowy)
#10 = 30     (Czop2 średnica mm)
#11 = 50     (Czop2 długość mm)
#12 = 1.5    (Czop2 fazka mm)
#13 = 0      (Czop2 podcięcie 0=nie 1=tak)

(Czop 3 - największy)
#14 = 35     (Czop3 średnica mm)
#15 = 45     (Czop3 długość mm)
#16 = 2      (Czop3 fazka mm)
#17 = 0      (Czop3 podcięcie 0=nie 1=tak)

(========================================)
(   STAŁE WARTOŚCI                      )
(========================================)

#100 = 0.2   (Posuw zgrubny mm/obr)
#101 = 0.1   (Posuw wykańczający mm/obr)

(Wymiary podcięć znormalizowanych)
#110 = 3.0   (Czop1 szerokość podcięcia)
#111 = 0.3   (Czop1 głębokość podcięcia)
#112 = 3.5   (Czop2 szerokość podcięcia)
#113 = 0.3   (Czop2 głębokość podcięcia)
#114 = 3.0   (Czop3 szerokość podcięcia)
#115 = 0.3   (Czop3 głębokość podcięcia)

(Oblicz pozycje Z dla czopów)
#20 = #1     (Czop1 z_start)
#21 = [#20 - #7]   (Czop1 z_end)
#22 = #21    (Czop2 z_start)
#23 = [#22 - #11]  (Czop2 z_end)
#24 = #23    (Czop3 z_start)
#25 = [#24 - #15]  (Czop3 z_end)

(========================================)
(   POCZĄTEK PROGRAMU                   )
(========================================)

G21 (Jednostki metryczne)
G7 (Tryb średnicy)
G40 (Kasuj kompensację promienia)
G50 S[#4] (Ograniczenie obrotów)
G54 (Układ współrzędnych)
G80 (Kasuj cykle)

(Pozycja bezpieczna)
G28 U0 W0

(Włącz wrzeciono)
M3 S[#4]
G4 P2

(========================================)
(   TOCZENIE ZGRUBNE                    )
(========================================)

(MSG, Zgrubne toczenie - etap 1/3)
#30 = #2     (current_diameter)
#31 = #14    (target_diameter = czop3)

(Etap 1: do średnicy czopa 3)
N100
IF [#30 LE [#31 + 0.3]] THEN GOTO 200
  #30 = [#30 - [#5 * 2]]
  IF [#30 LT [#31 + 0.3]] THEN #30 = [#31 + 0.3]
  
  G0 X[#30 + 2] Z[#20 + 2]
  G1 Z[#20] F[#100 * #4]
  G1 X[#30] F[#100 * #4 / 3]
  G1 Z[#25] F[#100 * #4]
  G1 X[#30 + 2] F[#100 * #4 / 3]
  GOTO 100
N200

(MSG, Zgrubne toczenie - etap 2/3)
#30 = #14    (current_diameter = czop3)
#31 = #10    (target_diameter = czop2)

(Etap 2: do średnicy czopa 2)
N300
IF [#30 LE [#31 + 0.3]] THEN GOTO 400
  #30 = [#30 - [#5 * 2]]
  IF [#30 LT [#31 + 0.3]] THEN #30 = [#31 + 0.3]
  
  G0 X[#30 + 2] Z[#20 + 2]
  G1 Z[#20] F[#100 * #4]
  G1 X[#30] F[#100 * #4 / 3]
  G1 Z[#23] F[#100 * #4]
  G1 X[#30 + 2] F[#100 * #4 / 3]
  GOTO 300
N400

(MSG, Zgrubne toczenie - etap 3/3)
#30 = #10    (current_diameter = czop2)
#31 = #6     (target_diameter = czop1)

(Etap 3: do średnicy czopa 1)
N500
IF [#30 LE [#31 + 0.3]] THEN GOTO 600
  #30 = [#30 - [#5 * 2]]
  IF [#30 LT [#31 + 0.3]] THEN #30 = [#31 + 0.3]
  
  G0 X[#30 + 2] Z[#20 + 2]
  G1 Z[#20] F[#100 * #4]
  G1 X[#30] F[#100 * #4 / 3]
  G1 Z[#21] F[#100 * #4]
  G1 X[#30 + 2] F[#100 * #4 / 3]
  GOTO 500
N600

G0 Z[#3]

(========================================)
(   TOCZENIE WYKAŃCZAJĄCE               )
(========================================)

(MSG, Wykończenie - jedno przejście)

G0 X[#6 + 2] Z[#20 + 2]
G1 Z[#20] F[#101 * #4]
G1 X[#6] F[#101 * #4 / 3]
G1 Z[#21] F[#101 * #4]
G1 X[#10] F[#101 * #4 / 3]
G1 Z[#23] F[#101 * #4]
G1 X[#14] F[#101 * #4 / 3]
G1 Z[#25] F[#101 * #4]
G1 X[#14 + 2] F[#101 * #4 / 3]

G0 Z[#3]

(========================================)
(   FAZKI                                )
(========================================)

(Fazka czopa 1)
IF [#8 LE 0] THEN GOTO 700
  (MSG, Fazka czopa 1)
  #40 = [#8 * 2]       (chamfer_x_offset)
  #41 = #8             (chamfer_z_offset)
  
  G0 X[[#6] - #40 + 2] Z[#20 + 2]
  G1 X[[#6] - #40] F[#101 * #4 / 3]
  G1 Z[#20] F[#101 * #4]
  G1 X[#6] Z[#20 - #41] F[#101 * #4]
  G1 X[#6 + 2] F[#101 * #4 / 3]
N700

(Fazka czopa 2)
IF [#12 LE 0] THEN GOTO 800
  (MSG, Fazka czopa 2)
  #40 = [#12 * 2]      (chamfer_x_offset)
  #41 = #12            (chamfer_z_offset)
  
  G0 X[[#10] - #40 + 2] Z[#22 + 2]
  G1 X[[#10] - #40] F[#101 * #4 / 3]
  G1 Z[#22] F[#101 * #4]
  G1 X[#10] Z[#22 - #41] F[#101 * #4]
  G1 X[#10 + 2] F[#101 * #4 / 3]
N800

(Fazka czopa 3)
IF [#16 LE 0] THEN GOTO 900
  (MSG, Fazka czopa 3)
  #40 = [#16 * 2]      (chamfer_x_offset)
  #41 = #16            (chamfer_z_offset)
  
  G0 X[[#14] - #40 + 2] Z[#24 + 2]
  G1 X[[#14] - #40] F[#101 * #4 / 3]
  G1 Z[#24] F[#101 * #4]
  G1 X[#14] Z[#24 - #41] F[#101 * #4]
  G1 X[#14 + 2] F[#101 * #4 / 3]
N900

(========================================)
(   PODCIĘCIA                            )
(========================================)

(Podcięcie czopa 1)
IF [#9 NE 1] THEN GOTO 1000
  (MSG, Podcięcie czopa 1)
  #42 = [#6 - [#111 * 2]]  (undercut_diameter)
  
  G0 X[#6 + 2] Z[#21 + #110 + 1]
  G1 Z[#21 + #110] F[#101 * #4]
  G1 X[#42] F[#101 * #4 / 2]
  G1 Z[#21] F[#101 * #4]
  G1 X[#6 + 2] F[#101 * #4 / 3]
N1000

(Podcięcie czopa 2)
IF [#13 NE 1] THEN GOTO 1100
  (MSG, Podcięcie czopa 2)
  #42 = [#10 - [#113 * 2]]  (undercut_diameter)
  
  G0 X[#10 + 2] Z[#23 + #112 + 1]
  G1 Z[#23 + #112] F[#101 * #4]
  G1 X[#42] F[#101 * #4 / 2]
  G1 Z[#23] F[#101 * #4]
  G1 X[#10 + 2] F[#101 * #4 / 3]
N1100

(Podcięcie czopa 3)
IF [#17 NE 1] THEN GOTO 1200
  (MSG, Podcięcie czopa 3)
  #42 = [#14 - [#115 * 2]]  (undercut_diameter)
  
  G0 X[#14 + 2] Z[#25 + #114 + 1]
  G1 Z[#25 + #114] F[#101 * #4]
  G1 X[#42] F[#101 * #4 / 2]
  G1 Z[#25] F[#101 * #4]
  G1 X[#14 + 2] F[#101 * #4 / 3]
N1200

(========================================)
(   ZAKOŃCZENIE PROGRAMU                )
(========================================)

(Powrót do pozycji bezpiecznej)
G0 Z[#3]
G0 X[#2 + 10]

(Zatrzymaj wrzeciono)
M5

(Powrót do punktu zerowego)
G28 U0 W0

(MSG, Program zakończony)
M30
%
Filmiku, ze zrozumiałych względów, nie wstawię :)

Dodane 2 godziny 33 minuty 8 sekundy:
Mam wesoło z tym AI :

Obrazek

Awatar użytkownika

senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 83
Posty: 1640
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: AI w warsztacie

#68

Post napisał: senio » 23 lis 2025, 13:05

kamar pisze:
23 lis 2025, 12:14
Mam wesoło z tym AI :
Obrazek
Gadasz z nim jak z wnukami :D

Zerknij na FreeCad. Masz do wyboru co chcesz. Opinie są dobre na temat tego generatora. A jak jest naprawdę nie wiem. Ale wygląda to raczej dobrze. Można nad tym popracować bo na foto co sam wygenerował.
FC.png


Autor tematu
kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 147
Posty: 17168
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: AI w warsztacie

#69

Post napisał: kamar » 23 lis 2025, 13:13

senio pisze:
23 lis 2025, 13:05
Zerknij na FreeCad.
Ja mam mieć suba albo na Fusionie. Z innymi opcjami to sobie jakoś radzę do tej pory :)
A Claude opiepszony działa lepiej, jak mu wejdziesz na ambicje do liczy dokładniej. Chwilami nawet usiłuje być złośliwy :)

Awatar użytkownika

senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 83
Posty: 1640
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: AI w warsztacie

#70

Post napisał: senio » 23 lis 2025, 13:16

Podobno trzeba powiedzieć do robota że jesteś fachowcem, znasz się dobrze na zagadnieniach o które pytasz i on wtedy podobno zupełnie inaczej podchodzi do tematów. Musi wiedzieć, "że nie jesteś z łapanki". Może mu to powiedz. Wtedy się skupi bardziej.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Na luzie”