Страница 4 из 7
Re: Идея небольшой утилитки
Добавлено: 02 фев 2014, 12:34
nkp
конечно - чтоб непосредственно (напрямую) запускать сишные файлы нужно доработать скрипт ,
чтоб он брал путь файла исходника...
ну и тогда в фильтр прописать :
PROGRAM_EXTENSION = .c Script_Name
c = Script_Name
Re: Идея небольшой утилитки
Добавлено: 02 фев 2014, 13:46
Serg
nkp писал(а):#!bin/bash
gcc /home/nkp/emc2-dev-80db2a2/nc_files/45.c -o 45
./45
Правильней будет первой командой сделать
чтоб не "гадить" в непонятно каком каталоге.
Ну и вместо второй команды можно написать просто
эффект будет тот-же. Хотя нет, будет более интеллектуальным.

Re: Идея небольшой утилитки
Добавлено: 02 фев 2014, 16:42
aaleksander
Cpp - это я для примера спросил. Так-то мне Haskell был нужен. У него оказывается ест runghc - выполняет код без компиляции и нигде не мусорит.
Переписываю помаленьку.
Re: Идея небольшой утилитки
Добавлено: 04 фев 2014, 15:41
aaleksander
Сделал мощный рефакторинг и добавил перемычки
Перемычки добавляются с помощью метода "jump_point". В качестве параметров: ширина перемычек и массив с их положением. Положение задается в виде процентов от общей длины траектории.
В примере - четыре перемычки шириной 5мм.
Код: Выделить всё
from meta import *
v = Meta()
v.point(20, 20, rounding=3)
v.point(30, 20, rounding=3)
v.point(30, 10, rounding=3)
v.point(45, 20, radius=-3)
v.point(60, 10, radius=5)
v.point(65, 40)
v.point(20, 40, rounding=3)
v.jump_point(5, [15, 38, 70, 95]) #перемычки, толщиной 5 мм
v.show(10) #показать плоскую траекторию в 10х кратном увеличении
def f():
F(300)
G0(0, 0, 5)
F(1000)
x, y = v.get_first_position()
G0(x, y)
z = -3
while z > -10:
v.to_gcode(z, -7.5) #режем по траектории на глубине z. Если встречается перемычка, то поднимаемся до Z=-7.5
z -= 1
G0(Z=5)
preview(f)
export(f)
на предварительном просмотре мета-траектории, перемычки показаны толстыми зелеными линиями.
P.S. Просьба, не втыкать перемычки так, чтобы они пересекали начало траектории. Там недоработка

Re: Идея небольшой утилитки
Добавлено: 14 фев 2014, 13:09
aaleksander
У библиотеки появились шрифты!
Код (для просмотра содержимого нажмите на ссылку)# -*- coding: utf-8 -*-
from py2gcode import *
from py2gcode.Fonts import arial
def f2():
G0(0, 0, 5)
font = get_font("arial")
t = TextTrajectory(font, "Иван Вячеславович")
sz = 5
t.grav(0, 0, -1, sz, 500, 3)
preview(f2)
результат:
Re: Идея небольшой утилитки
Добавлено: 20 фев 2014, 09:00
aaleksander
У мета-траекторий добавился новый вид точек - подрезка углов. Это немного выходит из концепции "резинка на гвоздях", но в код вписалась органично.
Просто указываем, на сколько надо подрезать.
(для просмотра содержимого нажмите на ссылку)Код: Выделить всё
v = Meta()
v.point(0, 0)
v.point(200, 0)
v.point(200, 70)
v.point(170, 70, corner=3)
v.point(170, 120, corner=3)
v.point(200, 120)
v.point(200, 200)
v.point(0, 200)
v.point(0, 120, corner=3)
v.point(-30, 120)
v.point(-30, 70)
v.point(0, 70, corner=3)
Re: Идея небольшой утилитки
Добавлено: 20 фев 2014, 11:35
Nick
aaleksander писал(а):У мета-траекторий добавился новый вид точек - подрезка углов. Это немного выходит из концепции "резинка на гвоздях", но в код вписалась органично.
+1 - крутая штука!

!
Re: Идея небольшой утилитки
Добавлено: 20 фев 2014, 11:38
aaleksander
Что-то один Ник комментирует.
Другим не интересно?
В каком формате вам хочется документацию?
Re: Идея небольшой утилитки
Добавлено: 20 фев 2014, 12:05
Nick
aaleksander писал(а):В каком формате вам хочется документацию?
wiki/asciidoc

Re: Идея небольшой утилитки
Добавлено: 20 фев 2014, 13:57
Serg
aaleksander писал(а):Что-то один Ник комментирует.
Другим не интересно?
Я наблюдаю и
записываюзапоминаю, как будет куда применить - воспользуюсь.

Re: Идея небольшой утилитки
Добавлено: 20 фев 2014, 14:23
aaleksander
UAVpilot писал(а):Я наблюдаю и запоминаю, как будет куда применить - воспользуюсь.
Снеси со своей машины все, кроме LCNC и сразу применение появится

Re: Идея небольшой утилитки
Добавлено: 20 фев 2014, 15:42
Serg
Вообще-то у меня на рабочем и домашнем компах года с 98 ничего кроме Unix/Linux не стояло...

Re: Идея небольшой утилитки
Добавлено: 20 фев 2014, 15:45
nkp
UAVpilot писал(а):Вообще-то у меня на рабочем и домашнем компах года с 98 ничего кроме Unix/Linux не стояло...
что - win никогда-ни разу ??
Re: Идея небольшой утилитки
Добавлено: 20 фев 2014, 16:07
Serg
У жены на ноуте есть. Ну и у меня на служебном ноуте вроде остался раздел с win7, чтоб иногда чего-нибудь попробовать.
А, ну и в одной мериканской конторе есть доступ на их терминальный сервер для пользования ихней лицензией солидворкса, автокада и visio, чтоб можно было посмотреть чего заказчики понаприсылали.

Re: Идея небольшой утилитки
Добавлено: 20 фев 2014, 20:11
Impartial
aaleksander писал(а):Другим не интересно?
Интересно! А нельзя это все на на С или С++ переписать?
Re: Идея небольшой утилитки
Добавлено: 20 фев 2014, 20:27
aaleksander
Impartial писал(а):Интересно! А нельзя это все на на С или С++ переписать?
А зачем? Питоновские файлы LCNC открывает из коробки. Т.е. что написал, то и открыл, нет этапа компиляции и лишних файлов не генерируется.
Питон очень простой и универсальный язык, изучи, не пожалеешь. К тому же с элементами функциональщины - частенько выручает.
Re: Идея небольшой утилитки
Добавлено: 21 фев 2014, 11:20
nkp
Re: Идея небольшой утилитки
Добавлено: 21 фев 2014, 12:42
Impartial
nkp писал(а):посмотри по ссылкам - это уже можно "потрогать" в емс:
Честно говоря ничего не понял.Чем это отличается от постпроцессора КАМ?
Re: Идея небольшой утилитки
Добавлено: 21 фев 2014, 12:51
nkp
поступил такой вопрс:
Impartial писал(а):А нельзя это все на на С или С++ переписать?
я показал реализацию подобного на си ...
Impartial писал(а):Чем это отличается от постпроцессора КАМ?
а чем надо чтоб отличалось?
============
может я и не то совсем дал в ссылках - уж очень тудно предугадать, что на самом деле требуется))
Re: Идея небольшой утилитки
Добавлено: 21 фев 2014, 14:19
Impartial
nkp писал(а):я показал реализацию подобного на си ...
А, теперь понял.
Хочется найти такую программу, чтобы любой неподготовленный станочник мог задать параметры, например болта, и выточить не вдаваясь во всякие КАД системы. На форуме есть попытка реализации такой идеи, но она реализуется на питоне, а это применить где нибудь кроме ЕМС невозможно.