Идея небольшой утилитки

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

Re: Идея небольшой утилитки

Сообщение nkp »

Impartial писал(а):где нибудь кроме ЕМС невозможно.
ну почему же ))
сохраняем вывод в файл и используем этот G-код на любом станке...
========
может имелись в виду O-code емс , которые не понимают длугие ситемы ...
так это да...
Baha
Мастер
Сообщения: 605
Зарегистрирован: 29 сен 2008, 17:37
Репутация: 26
Откуда: Тараз-Москва

Re: Идея небольшой утилитки

Сообщение Baha »

nkp писал(а):может имелись в виду O-code емс , которые не понимают длугие ситемы ...
так это да...
O-коды EMC отлично работают в PlanetCNC, по формату полностью совместимы.
Сферический ватник в вакууме.
aaleksander
Мастер
Сообщения: 577
Зарегистрирован: 23 авг 2013, 18:04
Репутация: 118
Откуда: г. Ухта
Контактная информация:

Re: Идея небольшой утилитки

Сообщение aaleksander »

Impartial писал(а):А, теперь понял.
Хочется найти такую программу, чтобы любой неподготовленный станочник мог задать параметры, например болта, и выточить не вдаваясь во всякие КАД системы. На форуме есть попытка реализации такой идеи, но она реализуется на питоне, а это применить где нибудь кроме ЕМС невозможно.
Почему нельзя? Питон просто выдает г-код в стандартный поток вывода.
Поставь около мача питон. Перенаправь его вывод в файл, например так:

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

c:\python.exe мойболт.py >> упБолт.cnc
и открывай упБолт.cnc где хочешь.
Просто эту операцию нужно выполнять после каждого изменения программы.
Но на этот случай я сделал простенький просмотрщик. Я большинство своих УП пишу на работе, где у меня винда. В гараже меняю в скрипте "preview" на "export" и открываю в LCNC.
aaleksander
Мастер
Сообщения: 577
Зарегистрирован: 23 авг 2013, 18:04
Репутация: 118
Откуда: г. Ухта
Контактная информация:

Re: Идея небольшой утилитки

Сообщение aaleksander »

Baha писал(а):O-коды EMC отлично работают в PlanetCNC, по формату полностью совместимы.
Цель моей библиотеки - уйти от O-кодов и прочих неудобных костылей. На питоне получается красивее и короче. А с мета-траекториями - вообще можно почти по человечески все описАть.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Идея небольшой утилитки

Сообщение Impartial »

aaleksander писал(а):Почему нельзя? Питон просто выдает г-код в стандартный поток вывода.
Здесь ключевое слово ПИТОН. Все это хорошо если крутится на компе. В микроконтроллер питон не впихнуть, а вот ЕМС с минимальной графикой запросто.
aaleksander
Мастер
Сообщения: 577
Зарегистрирован: 23 авг 2013, 18:04
Репутация: 118
Откуда: г. Ухта
Контактная информация:

Re: Идея небольшой утилитки

Сообщение aaleksander »

Impartial писал(а):Здесь ключевое слово ПИТОН. Все это хорошо если крутится на компе. В микроконтроллер питон не впихнуть, а вот ЕМС с минимальной графикой запросто.
EMC - это линукс, питон там идет по умолчанию.
Кстати, не помню хвастался или нет.

Нарисовал в InkScape шахматного коня:
Снимок_001.PNG (1546 просмотров) <a class='original' href='./download/file.php?id=25112&mode=view' target=_blank>Загрузить оригинал (124.02 КБ)</a>
Скопировал у него path (Ctrl+Shift+X):
Снимок_02.PNG (1546 просмотров) <a class='original' href='./download/file.php?id=25113&mode=view' target=_blank>Загрузить оригинал (190.69 КБ)</a>
написал простенький код:

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

# -*- coding: utf-8 -*-
from py2gcode import *
safeZ=5 #безопасная высота

def up():
	G0(Z=safeZ)
	
def f():
	G0(0, 0, safeZ)
	str = "m 183.57143,460.93361 c 15,-46.66667 58. тут та самая строка из InlScape"
	s = SvgTrajectory(str)
	s.to_zero()
	c = Strategy()	
	for x in xrange(0, 200, 30): #c шагом 30 по X
		for y in xrange(0, 100, 30): #с шагом 30 по Y
			c.grav(s, Tool(), x, y, -1, scale=0.1) #режем по Z=-1
			up()	#переходим дальше.
	
preview(f)
И получил вот это:
Снимок_03.PNG (1546 просмотров) <a class='original' href='./download/file.php?id=25114&mode=view' target=_blank>Загрузить оригинал (50.55 КБ)</a>
Никаких О-кодов, и главное, ты это откроешь через пару недель и все понятно.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Идея небольшой утилитки

Сообщение Serg »

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

Re: Идея небольшой утилитки

Сообщение Nick »

из скрипта можно сделать бинарник, он конечно будет значительно больше, но всетаки можно.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Идея небольшой утилитки

Сообщение Impartial »

Вряд ли это возможно.
А идея гвоздя и резинки интересная.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Идея небольшой утилитки

Сообщение Serg »

Impartial писал(а):Вряд ли это возможно.
А что может помешать например скомпилить интерпретатор питона с встроеным вовнутрь скриптом? :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Идея небольшой утилитки

Сообщение Impartial »

UAVpilot писал(а):А что может помешать например скомпилить интерпретатор питона с встроеным вовнутрь скриптом?
Это как скомпилировать далвик явы с поддержкой графики. Мегабайт 100 выйдет.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Идея небольшой утилитки

Сообщение Serg »

Я и говорю, что надо было на tcl писать: Интерпретатор с кучей всего полезного + поддержка сети - всего 1.5 MB. :)

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

$ ls -l /usr/bin/tclsh8.5 
-rwxr-xr-x 1 root root 8044 авг 15  2013 /usr/bin/tclsh8.5
$ ls -l /usr/lib/libtcl8.5.so 
-r-xr-xr-x 1 root root 1208880 авг 15  2013 /usr/lib/libtcl8.5.so
Последний раз редактировалось Serg 21 фев 2014, 19:09, всего редактировалось 1 раз.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Идея небольшой утилитки

Сообщение nkp »

UAVpilot писал(а):Я и говорю, что надо было на tcl писать: Интерпретатор с кучей всего полезного + поддержка сети - всего 1.5 MB
тикль не так моден на сегодня :)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Идея небольшой утилитки

Сообщение Serg »

Ну да, нынче в моде монстрики, у которых алгоритм зависит от количества пробелов. :)
Правда профи почему-то не смотря на это десятками лет не меняют своего выбора... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Идея небольшой утилитки

Сообщение nkp »

UAVpilot писал(а):Ну да, нынче в моде монстрики, у которых алгоритм зависит от количества пробелов
попросить Ника как то отделить это всё...
а то человек тут полезным делом занимается - а мы выяснять будем - чем пробелы хуже фигурных скобок... :)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Идея небольшой утилитки

Сообщение Serg »

Предлагаю считать это агитацией ТС на попробовать новый язык. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
aaleksander
Мастер
Сообщения: 577
Зарегистрирован: 23 авг 2013, 18:04
Репутация: 118
Откуда: г. Ухта
Контактная информация:

Re: Идея небольшой утилитки

Сообщение aaleksander »

У меня предварительный просмотр сделан на Tkinterе. Переводится как Tk interface ;)
Отделять не надо, пусть люди знают про альтернативы.
Я попробовал на хаскелле переписать, но у Питона цикл разработки гораздо короче.
Воспринимайте это как расширяемый макро-язык для г-кодов.
Я, кстати, питон лет 5 уже как не трогал. А вот пришлось вспомнить. А то все C# да Java.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Идея небольшой утилитки

Сообщение Nick »

Смотрю, я на твою утилитку, и все больше задумываюсь о том, что надо бы ее в features интегрировать.... :)

И перемычки у тебя уже есть. :roll:
Заглубление по спирали сдедал?

Надо продумать интерфейс взаимодействия...
aaleksander
Мастер
Сообщения: 577
Зарегистрирован: 23 авг 2013, 18:04
Репутация: 118
Откуда: г. Ухта
Контактная информация:

Re: Идея небольшой утилитки

Сообщение aaleksander »

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

Re: Идея небольшой утилитки

Сообщение Nick »

Как вариант интеграции - пишем спец тэг и этот код прогоняется через питон+твою утилитку, а вывод вставляем в Gкод, вместо тэга.

Заглубление по спирале - очень нужная штука!

А в чем проблема с дугами? Там вроде не так сложно все...
Ответить

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