Список скриптов/макросов для Mach

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.

Список скриптов/макросов для Mach

Сообщение aftaev » 18 фев 2012, 10:44

Так как на форуме нет главы программирование засуну сюды.

Список разных скриптов /макросов для Mach3
http://www.cnczone.com/forums/sitemap/f-282.html
Последний раз редактировалось aftaev 22 июн 2012, 14:09, всего редактировалось 1 раз.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30075
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5311
Медальки:

Re: Список скриптов для Mach

Сообщение VVChaif » 18 фев 2012, 11:39

название темы поправьте :hehehe: А то тема сисок не раскрыта...
VVChaif
Кандидат
 
Сообщения: 45
Зарегистрирован: 24 дек 2011, 08:18
Репутация: 3

Re: Сисок скриптов для Mach

Сообщение Nick » 18 фев 2012, 12:26

Там по ссылке их реально дофига, а какие из них действительно полезные?
Что из этого ты сам использовал?
Аватара пользователя
Nick
Мастер
 
Сообщения: 22539
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1561
Заслуга: Developer
Медальки:

Re: Сисок скриптов для Mach

Сообщение aftaev » 18 фев 2012, 15:11

VVChaif писал(а): А то тема сисок не раскрыта...

Вот кому надо, тому поможем :)

Nick писал(а):Там по ссылке их реально дофига,

Ник, такое нужно писатьв теме про холивар ЕМС и Мача. В этом и прелесть Мача.

Nick писал(а):а какие из них действительно полезные?

Смотря кому что нужно. Кому Ось З обнулять, кому длину инструмета измерить и дт..

Nick писал(а):Что из этого ты сам использовал?

Ничего, сам ток нашел седня. В качестве примеров весьма полезныес сылки.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30075
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5311
Медальки:

Re: Сисок скриптов для Mach

Сообщение Nick » 20 фев 2012, 13:21

aftaev писал(а):Смотря кому что нужно. Кому Ось З обнулять, кому длину инструмета измерить и дт..

Т.е. просто на Gкоде не написать?
aftaev писал(а):Ничего, сам ток нашел седня. В качестве примеров весьма полезныес сылки.

Как начнешь что-то использовать, сразу пиши. Я же с умыслом спрашивал, чтобы все полезное сразу в LinuxCNC переводить :).
Аватара пользователя
Nick
Мастер
 
Сообщения: 22539
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1561
Заслуга: Developer
Медальки:

Re: Сисок скриптов для Mach

Сообщение NightV » 20 фев 2012, 13:55

Nick писал(а):все полезное сразу в LinuxCNC переводить

не выйдет, в Маче скрипты на VB, с "вкраплениями" Gcode
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
 
Сообщения: 6370
Зарегистрирован: 30 дек 2011, 09:14
Откуда: Israel
Репутация: 2310
Медальки:
Настоящее имя: Владимир Айрапетян

Re: Сисок скриптов для Mach

Сообщение aftaev » 20 фев 2012, 14:18

NightV писал(а):не выйдет, в Маче скрипты на VB, с "вкраплениями" Gcode

А Ник возьмет и на Phyton сделает макросы для ЕМС :)

Nick писал(а):Т.е. просто на Gкоде не написать?

Не совсем так. Макрсы написаны на VB (Visual Basic).
Есть команда М3 (влючить шпиндель/плазму/лазер) то бершь находишь макос М03 (это обычный тексовый файл) и пишешь в нем например:
MsgBox (" Включаю шпиндель - все разбегайтесь")
и при включением шпинделя появится надпись :)

Nick писал(а):Как начнешь что-то использовать, сразу пиши. Я же с умыслом спрашивал, чтобы все полезное сразу в LinuxCNC переводить .

Мож помнишь месяцок назад кто то спрашивал как для плазмы найти металл и зажечь дугу. Вот макросы эти и помогут разобраться.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30075
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5311
Медальки:

Re: Сисок скриптов для Mach

Сообщение Nick » 20 фев 2012, 15:24

aftaev писал(а):Мож помнишь месяцок назад кто то спрашивал как для плазмы найти металл и зажечь дугу.

Ну так это теперь вроде понятно как сделать, G38 + M03...

На питоне можно, но с вкраплениями Gкода сложнее. В общем надо смотреть по конкретной задаче :)...
Аватара пользователя
Nick
Мастер
 
Сообщения: 22539
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1561
Заслуга: Developer
Медальки:

Re: Сисок скриптов для Mach

Сообщение aftaev » 20 фев 2012, 16:22

Nick писал(а):Ну так это теперь вроде понятно как сделать, G38 + M03...

Эт как постоянно вбивать ручками GCode :)
А нужно в зависимости от стали, толщины и итд.. менять высоту, скорость, итд.. Эт посоянно лезть и менять где то :)
Вот примерно так:
Список скриптов/макросов для Mach Мач.JPG

Морда связана с макросом.

Ник, простой пример есть кусок железки 100*200 и в шпинделе воткнут 3Д пробник. Нужно найти точно его центр. Как сделать
Список скриптов/макросов для Mach Стилус.JPG
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30075
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5311
Медальки:

Re: Сисок скриптов для Mach

Сообщение Nick » 20 фев 2012, 18:27

aftaev писал(а):Ник, простой пример есть кусок железки 100*200 и в шпинделе воткнут 3Д пробник. Нужно найти точно его центр. Как сделать

Это, да хоть на чистом Gкоде:
Код: Выделить всёРазвернуть
#<x0> = 0 
#<y0> = 0
#<l> = 100
#<w> = 200
#<h> = 100
#<safe> = 100
#<delta> = 10

G0 Z[#<safe>]
G0 Y[#<y0>+#<w>/2]
G0 X[#<x0>-#<delta>]
G0 Z[#<h>]
G38.2 X[#<x0>+2*#<delta>]
#<xmin> = #<5061>
G0 X[#<x0>-#<delta>]

G0 Z[#<safe>]
G0 X[#<x0>+#<l>+#<delta>]
G38.2 X[#<x0>+#<l>-2*#<delta>]
#<xmax> = #<5061>
G0 X[#<x0>+#<l>+#<delta>]


#<xmid> = [#<xmax>/2-#<xmin>/2]

G0 Z[#<safe>]
G0 X[#<xmid>]
G0 Y[#<y0>-#<delta>]
G0 Z[#<h>]
G38.2 Y[#<y0>+2*#<delta>]
#<ymin> = #<5062>
G0 Y[#<y0>-#<delta>]

G0 Z[#<safe>]
G0 Y[#<y0>+<#w>+#<delta>]
G0 Z[#<h>]
G38.2 Y[#<y0>+#<w>-2*#<delta>]
#<ymax> = #<5062>
G0 Y[#<y0>+<#w>+#<delta>]


#<ymid> = [#<ymax>/2-#<ymin>/2]

G0 Z[#safe]
G0 X#<xmid> Y#<ymid>
G38.2 Z[<#h>-<#delta>]
#<ztop> = #5063
Go Z[<#safe>]


Для удобства можно все запихать в отдельный файл и выполнять одной строчкой:
Создаем файл find_center.ngc, с таким содержанием:
Код: Выделить всёРазвернуть
o<find_center> sub

   #<x0> = #1
   #<y0> = #2
   #<l> = #3
   #<w> = #4
   #<h> = #5
   #<safe> = #6
   #<delta> = #7

   G0 Z[#<safe>]
   G0 Y[#<y0>+#<w>/2]
   G0 X[#<x0>-#<delta>]
   G0 Z[#<h>]
   G38.2 X[#<x0>+2*#<delta>]
   #<xmin> = #<5061>
   G0 X[#<x0>-#<delta>]

   G0 Z[#<safe>]
   G0 X[#<x0>+#<l>+#<delta>]
   G38.2 X[#<x0>+#<l>-2*#<delta>]
   #<xmax> = #<5061>
   G0 X[#<x0>+#<l>+#<delta>]


   #<xmid> = [#<xmax>/2-#<xmin>/2]

   G0 Z[#<safe>]
   G0 X[#<xmid>]
   G0 Y[#<y0>-#<delta>]
   G0 Z[#<h>]
   G38.2 Y[#<y0>+2*#<delta>]
   #<ymin> = #<5062>
   G0 Y[#<y0>-#<delta>]

   G0 Z[#<safe>]
   G0 Y[#<y0>+<#w>+#<delta>]
   G0 Z[#<h>]
   G38.2 Y[#<y0>+#<w>-2*#<delta>]
   #<ymax> = #<5062>
   G0 Y[#<y0>+<#w>+#<delta>]


   #<ymid> = [#<ymax>/2-#<ymin>/2]

   G0 Z[#safe]
   G0 X#<xmid> Y#<ymid>
   G38.2 Z[<#h>-<#delta>]
   #<ztop> = #5063
   Go Z[<#safe>]
o<find_center> endsub

и вызываем его при помощи
o<find_center> call [0] [0] [200] [100] [20] [30] [10]
или так:
#<x0> = 0
#<y0> = 0
#<l> = 100
#<w> = 200
#<h> = 100
#<safe> = 100
#<delta> = 10
o<find_center> call [#<x0>] [#<y0>] [#<l>] [#<w>] [#<h>] [#<safe>] [#<delta>]
Аватара пользователя
Nick
Мастер
 
Сообщения: 22539
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1561
Заслуга: Developer
Медальки:

Re: Сисок скриптов для Mach

Сообщение aftaev » 20 фев 2012, 19:29

И это должен оператор все дежать в голове? А теперь заготока изменилась, опять все перебивать :)
Пока вобъешь все эт поще ручками измерить :)
Нафига тогда нужно ЧПУ :beer_blow:
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30075
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5311
Медальки:

Re: Сисок скриптов для Mach

Сообщение Nick » 20 фев 2012, 19:45

Перевбивать в любом случае придется. Можно к этому сделать специальную кнопку, а можно и мастер написать через ngcgui.....
Надо :)? Если надо, мы с nkp сейчас наклепаем :).
Аватара пользователя
Nick
Мастер
 
Сообщения: 22539
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1561
Заслуга: Developer
Медальки:

Re: Сисок скриптов для Mach

Сообщение aftaev » 20 фев 2012, 19:48

вот теперь ты видать понял зачем нужны мастера и макросы :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30075
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5311
Медальки:

Re: Сисок скриптов для Mach

Сообщение NightV » 21 фев 2012, 15:12

блин... страшно выкладывать ;) щас будет куча критики, но скрипт рабочий
смена инструмента с проверкой и компенсацией длинны, дня 4-5 над ним сидел пока отладил
скрипт скрещен из двух: 1 смена инструмента 2 компенсация длинны
видео как работает сделал, но приятель все забывает вытащить с камеры и принести, как будет выложу в своем топике
M6Start.m1s (для просмотра содержимого нажмите на ссылку)
Sub Main()
OldTool = GetOEMDRO(1200) 'Tool In spindle DRO You must add this to your settings screen


'----Probe position--------------------------
ChX = 648.6
ChY = -3.1
ChZ = -23
'------------------------




x = GetToolChangeStart( 0 )
y = GetToolChangeStart( 1 )
z = GetToolChangeStart( 2 )
a = GetToolChangeStart( 3 )
b = GetToolChangeStart( 4 )
c = GetToolChangeStart( 5 )
tool = GetSelectedTool()
NewTool = tool

'Tool Changer Macro (Bed Type)
MaxToolNum = 8 'Max number off tools for the changer
ToolDown = -34.72 'Z Pos to Get or drop a tool
ToolUp = -1.0 'Z Hieght to Rapid from tool to tool
If NewTool = OldTool Then
Exit Sub
End If
While NewTool > MaxToolNum
NewTool = Question ("Enter New Tool Number up to " & MaxToolNum)
Wend




Code "G53 G00 Z-1" 'Move the tool all the way up

Code "G53 G00 X" & ChX & "Y" & ChY 'Move to the probe position
Code "G53 Z-15 F600"
While IsMoving()
Wend
Code "G31 F20 Z" & ChZ 'Z move down untill hit
While IsMoving()
Wend
HitOld = GetVar(2002) 'Get the Position that the Porbe hit at
Code "G4 P.5"
Code "G53 G00 Z" & ToolUp

Code "G53 G00 X" & ChX - 15








Call MovePos(OldTool)
While IsMoving()
Wend
Code "G53 Z-32"
Code "G53 G01 f400 Z" & ToolDown
While IsMoving()
Wend
Code "G4 P.2"
ActivateSignal(Output1) 'Turn On Draw bar to release the tool
Code "G4 P.5" 'Wait for the tool to release
Code "G53 G01 Z-32 F400"
Code "G53 G00 Z" & ToolUp
Call MovePos(NewTool)
While IsMoving()
Wend
Code "G53 G00 Z-32"
Code "G53 G01 f400 Z" & ToolDown
While IsMoving()
Wend
Code "G4 P.2"
DeActivateSignal(Output1) 'Turn Off Draw bar to Clamp the tool
Code "G4 P0.5" 'Wait for the tool to Clamp
Code "G53 G01 Z-32 f400"
Code "G53 G00 Z" & ToolUp

Code "G53 G00 X" & ChX - 15
Call SetUserDRO (1200,NewTool)
SetCurrentTool( NewTool )

'=============================================
Code "G53 G00 Y" & ChY 'Move to the probe position
'While IsMoving()
'Wend
Code "G53 G00 X" & ChX 'Move to the probe position
'While IsMoving()
'Wend
Code "G53 Z-15 F600 " 'Z move down untill hit
While IsMoving()
Wend
Code "G31 F20 Z" & ChZ 'Z move down untill hit
While IsMoving()
Wend
HitNew = GetVar(2002) 'Get the Position that the Porbe hit at
Code "G4 P0.5"

Diff = HitOld - HitNew
DiffABS =Abs(Diff)



If DiffABS=0 Then End
ZNew=0
ZOld = Getdro(2)
If HitOld < HitNew Then ZNew = ZOld - DiffABS :A=1
If HitOld > HitNew Then ZNew = ZOld + DiffABS :A=2

Call setdro(2,ZNew)
Code "G53 G00 Z" & ToolUp



'=============================================

Code "G00 X" & x & " Y" & y 'Move back to where the tool change was prompted
'Code "G00 Z" & z 'Move back to where the tool change was prompted


End Sub

Sub MovePos(ByVal ToolNumber As Integer)

Select Case ToolNumber
Case Is = 1
Xpos = 649.3890
YPos = -42.6440
Case Is = 2
Xpos = 649.7064
YPos = -70.0524
Case Is = 3
Xpos = 649.6746
YPos = -98.1590
Case Is = 4
Xpos = 649.7540
YPos = -126.0117
Case Is = 5
Xpos = 649.79
YPos = -153.6899
Case Is = 6
Xpos = 649.9445
YPos = -182.1616
Case Is = 7
Xpos = 650.0238
YPos = -209.6493
Case Is = 8
Xpos = 649.9286
YPos = -237.7559
End Select

Code "G53 Y" & YPos
Code "G53 X" & XPos



End Sub

Main
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
 
Сообщения: 6370
Зарегистрирован: 30 дек 2011, 09:14
Откуда: Israel
Репутация: 2310
Медальки:
Настоящее имя: Владимир Айрапетян

Re: Сисок скриптов для Mach

Сообщение NightV » 21 фев 2012, 15:34

aftaev, можеш поделится скринсетом и макросом под плазму (который показал)?
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
 
Сообщения: 6370
Зарегистрирован: 30 дек 2011, 09:14
Откуда: Israel
Репутация: 2310
Медальки:
Настоящее имя: Владимир Айрапетян

Re: Сисок скриптов для Mach

Сообщение aftaev » 21 фев 2012, 15:42

NightV писал(а):блин... страшно выкладывать щас будет куча критики, но скрипт рабочий

Мне скрипты нужны чтоб смотреть примеры. На примерах быстрее понимаешь, чем мануалы изучать :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30075
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5311
Медальки:

Re: Сисок скриптов для Mach

Сообщение NightV » 21 фев 2012, 15:45

таже фигня.... когда видиш скрипт и знаеш что он делает быстрее доходит... ну и слепить из примеров что-то для себя гораздо быстрее чем писать все заново
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
 
Сообщения: 6370
Зарегистрирован: 30 дек 2011, 09:14
Откуда: Israel
Репутация: 2310
Медальки:
Настоящее имя: Владимир Айрапетян

Re: Сисок скриптов для Mach

Сообщение NightV » 21 фев 2012, 16:00

Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
 
Сообщения: 6370
Зарегистрирован: 30 дек 2011, 09:14
Откуда: Israel
Репутация: 2310
Медальки:
Настоящее имя: Владимир Айрапетян

Re: Сисок скриптов для Mach

Сообщение aftaev » 21 фев 2012, 17:09

вот для этого эта тема :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30075
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5311
Медальки:

Re: Список скриптов/макросов для Mach

Сообщение Сергей= » 16 апр 2014, 10:05

NightV писал(а):блин... страшно выкладывать щас будет куча критики, но скрипт рабочийсмена инструмента с проверкой и компенсацией длинны, дня 4-5 над ним сидел пока отладилскрипт скрещен из двух: 1 смена инструмента 2 компенсация длиннывидео как работает сделал, но приятель все забывает вытащить с камеры и принести, как будет выложу в своем топике
M6Start.m1s (для просмотра содержимого нажмите на ссылку)

Здравствуйте!
Подскажите пожалуйста, как запустить этот скрипт, когда скрипт редакторе запускаю станок едет за инструментом, а когда программу обработки запускаю то ноль эмоций, сразу приступает к обработке детали? (G-код из Solid Cam)
Или может обязательно надо кнопку для обнуления ставить, ни чего не понимаю :)
Вот часть Г-кода где нужно сменить инструмент:
%
O5000 (ПРОТАТИП 1-2)
N5 G0 G40 G49 G80 G21 (Initialisation)
N10 G0 G53 Z0 (Retour aux origines machine)
N15 G0 G53 X0 Y0
N20 (Outil n° 1 - Diametre 6.0 D1 H1)
N25 T1 M6 D1 H1
N30 S1000 M4
N35 M8
N40 (D-drill)
N45 G0 G54 X-29.737 Y-32.5
N50 G43 H1 Z10.
N55 G83 Z-21.243 R2. Q0. P0 F33
N60 X-32. Y32.5
N65 X32.
N70 X27.263 Y-32.5
N75 G80
N80 (Outil n° 2 - Diametre 6.0 D2 H2)
N85 T2 M6 D2 H2
N90 S1000 M4
N95 M8
N100 (F-contour)
N105 G0 G54 X23. Y37.5
N110 G43 H2 Z10.
N115 G0 Z2.
N120 G1 Z-2. F33
N125 G1 Y20.5 F1000
N130 G1 X-21.
N135 G1 Y37.5
N140 G0 Z10.
N145 G0 X23.
N150 G0 Z0.
N155 G1 Z-4. F33
N160 G1 Y20.5 F1000
N165 G1 X-21.
N170 G1 Y37.5
Аватара пользователя
Сергей=
Мастер
 
Сообщения: 551
Зарегистрирован: 31 июл 2012, 22:28
Репутация: 5

След.

Вернуться в Windows / Mach

Кто сейчас на конференции

Зарегистрированные пользователи: Alex lamaka, Alka, Atom42, Bing [Bot], calabr, Cvazist, Dmaster, Duhas, Eagle44, evgeni70, Figaro, frezeryga, Gestap, gigs, Google [Bot], Magzzz, Majestic-12 [Bot], meler_art1, mikehv, Mr. Mass, nik0, niksooon, PavelTch, Prav, Rom327, Sashalex24, selenur, SergP, shalek, Smlua, Stanislav_N, UAVpilot, vershininv, vladumur, Хром, Yandex [bot]

Reputation System ©'