Всего два задания

Откройте приложенный пример файла sample2.CNC блокнотом.

sample2.CNC в формате Gcode.

Координаты X и Y в Gcode даны в миллиметрах.

Скачайте программу Mach3 http://www.machsupport.com/ccount/click.php?id=1 и откройте с помощью нее файл sample2.CNC (через кнопку Load G-code).

Увидите сетку прямоугольников (~12 столбцов и более 15 строчек...сколько именно не считал).

Т.е. в файле sample2.CNC заданы все координаты XY для прорисовки этой сетки. Если в Mach3 в левом окошке курсором будете листать sample2.CNC, то увидите в правом окошке в какой последовательности будет прорисовываться эта "сетка".

Нужно написать консольную прграмму на C#, имя файла который нужно обработать передается через командную строку. Например, запускаем программу с параметром "program.exe sample2.CNC"

Файл текстовый, любым удобным способом или с помощью Regex (Regular expressions) в файле находить циклы G00..M05, типизировать X и Y и сохранять (например в массив) для дальнейшей обработки.

Задание 1. Удалить "избыточные отрезки".

Искать циклы G00..M05 и удалять избыточные строчки, у которых одна из координат X или Y одинаковая (если X или Y одниковая, значит это один отрезок, разбитый на несколько подотрезков)

См. sample2.CNC

БЫЛО:

...

N60 G00X176.68Y508.75

N70 M03

N80 G04 P0.4

N90 G01X176.68Y501.75F2500

N100 G01X176.68Y339.25

N110 G01X176.68Y176.75

N120 G01X176.68Y14.25

N130 G01X176.68Y13.75

N140 M05

... Т.е. прочерчивается прямая с точки X176.68Y508.75 до точки G01X176.68Y13.75

Промежуточные строчки (промежуточные отрезки) просто удалить, т.е.:

НУЖНО ЧТОБЫ СТАЛО:

...

N60 G00X176.68Y508.75

N70 M03

N80 G04 P0.4

N130 G01X176.68Y13.75

N140 M05

...

и т.д. со всеми циклами G00...M05

Обработанный файл сохранить в файл zadanie1.CNC

Задание 2. Добавить "избыточные отрезки".

Искать циклы G00..M05 и добавить избыточные отрезки (разбить отрезок на подотрезки) за 15мм (Before) до пересечения и 5мм (After) после пересечения "нарисованных" отрезков.

В коде задаем параметры Before=15mm, After=5mm (который можно будет ручками менять).

Было (после выполнения первого задания):

...

N60 G00X176.68Y508.75

N70 M03

N80 G04 P0.4

N130 G01X176.68Y13.75

N140 M05

...

НУЖНО ЧТОБЫ СТАЛО (т.е. добавить 2 строчки в циклы M03..M05 если этот отрезок пересекает другой):

...

N60 G00X176.68Y508.75

N70 M03

N80 G04 P0.4

N81 G00X176.68Y120.00 // координата 15мм до пересечения отрезка (координата взята с потолка просто для примера).

N82 G00X176.68Y100.00 M10// координата 5мм после пересечения отрезка

N130 G01X176.68Y13.75 M11

N140 M05

...

Обработанный файл сохранить в файл zadanie2.CNC

13 лет назад
Armada16
Альберт 
44 года
13 лет в сервисе
Был
13 лет назад

Выбранный исполнитель

drovoseg
Евгений 
34 года
13 лет в сервисе
Был
5 лет назад
13 лет назад
$50
1 день

Заявки фрилансеров

drovoseg
Евгений 
34 года
13 лет в сервисе
Был
5 лет назад
13 лет назад
  • Похожие заказы

  • Здравствуйте. Необходимо написать программу для обработки большого объема данных (сортировка и т.д.). Объем данных - до 20 гигабайт. Размер одного файла - до 300мб. Программа должна работать быстро. ...

    Закрыт
    13 лет назад
  • Заказ программы на C#. Мое задание: на сканах 100_3206 и 100_3207 представлены две матрицы - входная информация для алгоритма, они и должны формироваться из таблиц БД, а именно из таблицы "операции", согласно таблице ...

    Закрыт
    13 лет назад
  • $300

    Необходимо автоматизировать расчеты из файла excel. Также нужна база данных: 1) Входные данные, для расчета необходимы дата и цена закрытия по акции на эту дату (буду скачивать с интернета finam, rbc) Необходимо ...

    Закрыт
    13 лет назад
  • $50

    Есть модуль для выгрузки номенклатуры и ее остатков в текстовый файл CSV Необходимо его доработать: 1. Сделать "множественный фильтр" на подобие отчета "Остатки ТМЦ" 2. Добавить возможность сохранять файл по ftp на ...

    Закрыт
    13 лет назад
  • Требуется написать программу которая будет определять поврежденный объект от целового для примера используется изображение печеньки СРОЧНО МОЖНО ИСПОЛЬЗОВАТЬ ОДИН ИЗ ДАННЫХ ЯЗЫКОВ MATLAB DELFI PHP(Если ...

    Закрыт
    13 лет назад
  • Необходима программа, которая будет вести базу данных и печатать туристический ваучер по шаблону. Шаблон есть (в word). Программа должна генерировать ваучер подставляя в нужные места данные, которые введены в форму и сохранять данные. ...

    Прикладное ПО1 исполнитель
    Закрыт
    13 лет назад
  • $100

    Нужен модуль для формирования очень больших PDF. Что бы "потянул" размер итогового файла больше 1Гб. Структура данных не очень сложная: Текст по центру жирным - заголовок. Далее в прямоугольном обрамлении картинка, и текст. ...

    Закрыт
    13 лет назад