Ana Menü

örnek makrolar

Başlatan sinan, Mayıs 10, 2009, 11:35:42 ÖS

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

sinan

bu makro dikdörgen çevresini tarar işin güzel tarafı köşelere isterseniz raidus yapar köşeli olsun derseniz r yi sıfır vermemiz yeterli..


S1000M03
G54G90G0X0.Y0.   (DİKTÖRKEN MERKEZ NOKTASI)
Z5.F200.
G65P9120X100.Y50.Z-10.W3.R50.D20.
G90G28Z0.
M30

(  P9120  Alt proğram numarası )
( x100. dikdörtgenin x eksenine bağlanan kenarı)
( y50 diktörtgenin y eksenine baglanan kenarı )
(z-10  diktörgenin taranacak toplam boyu)
(w3 z boyunu 3 mm pasolara  bölüyor)
(r50 köşelerdeki raidus miktarı sıfır verilirse köşe çıkartır)
(d20 baglanacak takımın tam çapı yazılır telafisi)




%
#509=#7                                          (takım çapı)
#501=#24+#509/2                          (  X ölçüsü)
#502=#25+#509/2                          (  Y ölçüsü )
#503=0                                           ( Z başlamması sabit)
#504=#23                                      ( W paso miktarı)
#505=#26                                     ( Z bitiş noktası )
#506=#18                                     ( R köşelerdeki raidus)
#507=#7                                       ( TAKIM TAM ÇAPI)
#508=#505
G0X#501Y-#502
Z#503
N1G90
Z#503
G0X#501
#503=#503-#504
X-#501R#506
Y#502R#506
X#501R#506
Y-#502R#506
G91X-#506
G90X#501+#507/2
IF[#503GE#505]GOTO1
G90G0X#501+#507/2
Z#508
#503=#503-#504
X-#501R#506
Y#502R#506
X#501R#506
Y-#502R#506
G91X-#506
G91G28Z0
M99
%

sinan

buda 60 derecelik bir üçgen çevresini tarar maksat örnek olsun işinize yarasın veya yaramasın

G90G54S1000M03
G65P3333A100.Z-30.W3.F200.
G91G28Z0.
M30
*******************************
(1.15473)
G54G90
G0Z5.
Z4.
#500=#1    (a)
#501=#26  (Z)
#502=#23   (w)
#503=0
N1G0X0Y0
Z#503
X-#500
X-#500/2Y#500/1.15473 (60 Derecelik üçgeni hessap eder)
X0.Y0.
#503=#503-#502
IF[#503GE#501]GOTO1
G91G28Z0.
M99

(G65P3333A100.Z-30.W3.F200.)
(bilgiyi ücretli satmak tehlikeli ve yasaktır)

sinan

açılı dikdörtgen işler kendimi geliştirmek için yaptıgım şeyler arkadaşlar belki birinin işine yarar diye paylaşmak istedim.



G90G54S1500M03
#2=0.            ( ZBAŞLAMA MESAFESİ )
#3=200.        (XBAŞLANGIÇ KENARI)
#4=100.        ( Y BAŞLANGIÇ KENARI)
#5=100.        ( X BİTİŞ NOKTASI )
#6=50.          (Y BİTİŞ NOKTASI)
G0X0.Y0.Z0.   (KONUMLANDIRMA)
N1Z#2             ( Burada z#2 karşıgı olan sıfır a yanaşıyor)
#2=#2-1           ( burada her pasoda 1 mm çıkılacak z boyundan)
#3=#3+1            ( burada her pasoda 1 mm eklenecek x başlangıcından )
#4=#4+1            ( burada her pasoda 1 mm eklenecek  y başlangıcından )
#5=#5-1             ( burada her pasoda 1 mm çıkılacak     x bitişinden)
#6=#6-1              ( burada her pasoda 1 mm çıkılacak    y bitişinden )
X#3.                   
Y#4
X#5.
Y#6.
IF[#2GE-30]GOTO1 (burada #2 satırı -30 mm görene kadar 1 mm 1mm şeklinde goto1 yani n1 satırını tekrar et.)
G91G28Z0.
M30

sinan

buda çok basit bir makro sadece z ekseni darbeleme yapıyor nerede kullanılır diye sormayın örnek olmaktan başka hiç bir şey değil
örnekler ne kadar basit olursa o kadar anlaşılır diye düşündüm.
%
g54G90
#1=30
N1Z#1F0.2
#1=#1-1
G91G0Z2.
G90G1
IF[#1GE-10]GOTO1
G91G28Z0
M30

( z aşşagı 1 mm darbelerle iner )

sinan


IF[[#6+#7]GT#5]GOTO02         (?)
IF[[#6+#7]EQ#5]GOTO03         (?)
IF[[#6+#7]LE#5]GOTO01         (?)
IF[[#6+#7]NE#5]GOTO9000     (?)
IF[#10GE#26]GOTO01  (#10 Satırı #26 satırını görene kadar n1 satırını tekrar et.)

arkadaşlar ben bildiğim komutu anladıgım şekilde yaazdım.diğerlerini siz biliyorsanız paylaşırmısınız..


crisis

#6
Alıntı yapılan: sinan - Mayıs 10, 2009, 11:48:02 ÖS

IF[[#6+#7]GT#5]GOTO02         (?)
IF[[#6+#7]EQ#5]GOTO03         (?)
IF[[#6+#7]LE#5]GOTO01         (?)
IF[[#6+#7]NE#5]GOTO9000     (?)
IF[#10GE#26]GOTO01  (#10 Satırı #26 satırını görene kadar n1 satırını tekrar et.)

arkadaşlar ben bildiğim komutu anladıgım şekilde yaazdım.diğerlerini siz biliyorsanız paylaşırmısınız..
IF[[#6+#7]GT#5]GOTO02     #6 ile #7 ye atanan değerlerin toplamı #5 e atanan değerden (GT) büyük ise N2 ye genişleme (N2 ye git)
IF[[#6+#7]EQ#5]GOTO03     #6 ile #7 ye atanan değerlerin toplamı #5 e atanan değere (EQ) eşit ise N3 e genişleme (N3 e git)
IF[[#6+#7]LE#5]GOTO01      #6 ile #7 ye atanan değerlerin toplamı #5 e atanan değerden (LE) küçük yada eşit ise N1 e genişleme (N1 e git)
IF[[#6+#7]NE#5]GOTO9000  #6 ile #7 ye atanan değerlerin toplamı #5 e atanan değere (NE) eşit değil ise N9000 e genişleme (N9000 e git)
IF[#10GE#26]GOTO01     #10 a atanan değer #26 ya atanan değerden (GE) büyük yada eşit ise N1 e genişleme

LT  =  küçük ise

sinan

#7
teşekkür ederim crisis