Страница 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
Правильней будет первой командой сделать

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

cd /home/nkp/emc2-dev-80db2a2/nc_files/
чтоб не "гадить" в непонятно каком каталоге. :)

Ну и вместо второй команды можно написать просто эффект будет тот-же. Хотя нет, будет более интеллектуальным. :)

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. Просьба, не втыкать перемычки так, чтобы они пересекали начало траектории. Там недоработка :oops:

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

Добавлено: 14 фев 2014, 13:09
aaleksander
У библиотеки появились шрифты! :cheesy:
Код (для просмотра содержимого нажмите на ссылку)
# -*- 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 - крутая штука! :good:!

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 не стояло... :tongue:

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
Impartial писал(а):Интересно! А нельзя это все на на С или С++ переписать?
посмотри по ссылкам - это уже можно "потрогать" в емс:
http://git.linuxcnc.org/gitweb?p=linuxc ... 38cb3e67fe
http://www.mail-archive.com/emc-users@l ... 49450.html
http://www.vagrearg.org/content/gcmc

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

Добавлено: 21 фев 2014, 12:42
Impartial
nkp писал(а):посмотри по ссылкам - это уже можно "потрогать" в емс:
Честно говоря ничего не понял.Чем это отличается от постпроцессора КАМ?

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

Добавлено: 21 фев 2014, 12:51
nkp
поступил такой вопрс:
Impartial писал(а):А нельзя это все на на С или С++ переписать?
я показал реализацию подобного на си ...
Impartial писал(а):Чем это отличается от постпроцессора КАМ?
а чем надо чтоб отличалось? :)
============
может я и не то совсем дал в ссылках - уж очень тудно предугадать, что на самом деле требуется))

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

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