Inkscape для программы сверловки

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Inkscape для программы сверловки

Сообщение nkp »

для комплекта в абсолютных координатах с использованием "страшного" кода :) от Ника :
drill4.ngc
(801 байт) 1001 скачивание

Код: Выделить всё

#<x-num>  =    10   (количество отверстий в ряду)
#<y-num>  =    10   (количество рядов)
#<x-0>    =    10   (начальная позиция X)
#<y-0>    =    10   (начальная позиция Y)
#<x-step> =    4    (шаг по X)
#<y-step> =    4    (шаг по Y)
#<y-shift> = [#<y-step>/2]
#<x> = #<x-0>
#<y> = #<y-0>
#<y-num_1> = [#<y-num>-1] 
#<i> = 0

F800
o100 REPEAT [[#<x-num>*2]-1]
	#<y> = #<y-0>
	#<i> = [[#<i>+1] MOD 2]
	#<y> = [#<y> - #<i>*#<y-shift>]
	(DEBUG, i = #<i>,n = #<y-numN> )
		o120 IF [#<i> EQ 1]
			 #<y-numN> = #<y-num>
		o120 ELSE
			 #<y-numN> = #<y-num_1>   
		o120 ENDIF
		o101 REPEAT [#<y-numN>]
			G1 X#<x> Y#<y>
			G1 z-5
			G0 z0
			#<y> = [#<y>+#<y-step>]
		o101 ENDREPEAT
	#<x> = [#<x>+[#<x-step>/2]]
o100 ENDREPEAT
M2
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Inkscape для программы сверловки

Сообщение Ворон226 »

Вот какой вопрос возник:
В обычной программе я легко остановлюсь и запущу программу с любого места (например, по Z сбилась фреза или сверло). А как быть в этом варианте? Как начать её выполнение с любого места? Программу переписывать? (например, начальные условия)
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Inkscape для программы сверловки

Сообщение nkp »

Ворон226 писал(а):Вот какой вопрос возник:
если речь идет конкретно об этой программе - то при таком простом алгоритме перемещений не составляет большого
труда вернуться в какую-либо точку и начать обработку с нее...
можно добавлять в сам код строки, выводящие нужную информацию на экран, например:
(DEBUG, #5420 , #5421 )
будет выводить координаты по x,y с учетом всех оффсетов: ===================
а если рассматривать вопрос вцелом - то конечно более удобно делать рестарт в программах без циклов...
но все таки ситуация,требующая подобных действий,скорей аварийная ,чем штатная...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Inkscape для программы сверловки

Сообщение Nick »

О, чуть переделал свою страшную версию :) Теперь есть сдвиг по осям...
Чтобы начинать с середины... надо добавить счетчик или чуть-чуть переписать условия...

Код: Выделить всё

#<x-num>  = 11	(количество отверстий в ряду)
#<y-num>  = 11	(количество рядов)
#<x-step> = 1	(шаг по X)
#<y-step> = 1	(шаг по Y)
G92 X0 Y0
F300
G91
#<i> = 1
o100 REPEAT [#<x-num>]
	#<a> = [ .5*#<y-step> - #<y-step>*[#<i> MOD 2] ]
	(debug, #<a>  )
	o101 REPEAT [#<y-num> + #<i> MOD 2]
		G1 z-5
		G1 z5
		G0 Y[ -#<y-step> + 2*#<y-step>*[#<i> MOD 2]]
	o101 ENDREPEAT
	G0 X#<x-step> Y[-.5*#<y-step>+#<y-step> - 2*#<y-step>*[#<i> MOD 2]]	
	#<i> = [#<i>+1]
o100 ENDREPEAT
G92.1	
M2
Ответить

Вернуться в «LinuxCNC»