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

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

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

Список разных скриптов /макросов для Mach3
http://www.cnczone.com/forums/sitemap/f-282.html
Последний раз редактировалось aftaev 22 июн 2012, 14:09, всего редактировалось 1 раз.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
VVChaif
Кандидат
Сообщения: 46
Зарегистрирован: 24 дек 2011, 08:18
Репутация: 4
Контактная информация:

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

Сообщение VVChaif »

название темы поправьте :hehehe: А то тема сисок не раскрыта...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Там по ссылке их реально дофига, а какие из них действительно полезные?
Что из этого ты сам использовал?
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

VVChaif писал(а): А то тема сисок не раскрыта...
Вот кому надо, тому поможем :)
Nick писал(а):Там по ссылке их реально дофига,
Ник, такое нужно писатьв теме про холивар ЕМС и Мача. В этом и прелесть Мача.
Nick писал(а):а какие из них действительно полезные?
Смотря кому что нужно. Кому Ось З обнулять, кому длину инструмета измерить и дт..
Nick писал(а):Что из этого ты сам использовал?
Ничего, сам ток нашел седня. В качестве примеров весьма полезныес сылки.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

aftaev писал(а):Смотря кому что нужно. Кому Ось З обнулять, кому длину инструмета измерить и дт..
Т.е. просто на Gкоде не написать?
aftaev писал(а):Ничего, сам ток нашел седня. В качестве примеров весьма полезныес сылки.
Как начнешь что-то использовать, сразу пиши. Я же с умыслом спрашивал, чтобы все полезное сразу в LinuxCNC переводить :).
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

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

Сообщение NightV »

Nick писал(а):все полезное сразу в LinuxCNC переводить
не выйдет, в Маче скрипты на VB, с "вкраплениями" Gcode
Всё просто! если знаешь КАК!
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

NightV писал(а):не выйдет, в Маче скрипты на VB, с "вкраплениями" Gcode
А Ник возьмет и на Phyton сделает макросы для ЕМС :)
Nick писал(а):Т.е. просто на Gкоде не написать?
Не совсем так. Макрсы написаны на VB (Visual Basic).
Есть команда М3 (влючить шпиндель/плазму/лазер) то бершь находишь макос М03 (это обычный тексовый файл) и пишешь в нем например:
MsgBox (" Включаю шпиндель - все разбегайтесь")
и при включением шпинделя появится надпись :)
Nick писал(а):Как начнешь что-то использовать, сразу пиши. Я же с умыслом спрашивал, чтобы все полезное сразу в LinuxCNC переводить .
Мож помнишь месяцок назад кто то спрашивал как для плазмы найти металл и зажечь дугу. Вот макросы эти и помогут разобраться.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

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

Сообщение aftaev »

Nick писал(а):Ну так это теперь вроде понятно как сделать, G38 + M03...
Эт как постоянно вбивать ручками GCode :)
А нужно в зависимости от стали, толщины и итд.. менять высоту, скорость, итд.. Эт посоянно лезть и менять где то :)
Вот примерно так:
Мач.JPG (34558 просмотров) <a class='original' href='./download/file.php?id=4270&sid=e9f67b458d4769d50a3f7556ff8ef4a8&mode=view' target=_blank>Загрузить оригинал (146.53 КБ)</a>
Морда связана с макросом.

Ник, простой пример есть кусок железки 100*200 и в шпинделе воткнут 3Д пробник. Нужно найти точно его центр. Как сделать
Стилус.JPG (34558 просмотров) <a class='original' href='./download/file.php?id=4271&sid=e9f67b458d4769d50a3f7556ff8ef4a8&mode=view' target=_blank>Загрузить оригинал (15 КБ)</a>
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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>]
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

И это должен оператор все дежать в голове? А теперь заготока изменилась, опять все перебивать :)
Пока вобъешь все эт поще ручками измерить :)
Нафига тогда нужно ЧПУ :beer_blow:
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Перевбивать в любом случае придется. Можно к этому сделать специальную кнопку, а можно и мастер написать через ngcgui.....
Надо :)? Если надо, мы с nkp сейчас наклепаем :).
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

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

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

Сообщение NightV »

блин... страшно выкладывать ;) щас будет куча критики, но скрипт рабочий
смена инструмента с проверкой и компенсацией длинны, дня 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
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

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

Сообщение NightV »

aftaev, можеш поделится скринсетом и макросом под плазму (который показал)?
Всё просто! если знаешь КАК!
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

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

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

Сообщение NightV »

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

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

Сообщение NightV »

Всё просто! если знаешь КАК!
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

вот для этого эта тема :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Сергей=
Мастер
Сообщения: 580
Зарегистрирован: 31 июл 2012, 22:28
Репутация: 9
Контактная информация:

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

Сообщение Сергей= »

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
Ответить

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