Здравствуйте. Необходимо написать программу для обработки большого объема данных (сортировка и т.д.). Объем данных - до 20 гигабайт. Размер одного файла - до 300мб. Программа должна работать быстро. ...
Обработка массива координат XY из файла, Visual C#
Всего два задания
Откройте приложенный пример файла 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
Выбранный исполнитель
Заявки фрилансеров
Похожие заказы
- Прикладное ПО7 заявокЗакрыт13 лет назад
Заказ программы на C#. Мое задание: на сканах 100_3206 и 100_3207 представлены две матрицы - входная информация для алгоритма, они и должны формироваться из таблиц БД, а именно из таблицы "операции", согласно таблице ...
Прикладное ПО1 заявкаЗакрыт13 лет назад- $300
Необходимо автоматизировать расчеты из файла excel. Также нужна база данных: 1) Входные данные, для расчета необходимы дата и цена закрытия по акции на эту дату (буду скачивать с интернета finam, rbc) Необходимо ...
Прикладное ПО3 заявкиЗакрыт13 лет назад - $50
Есть модуль для выгрузки номенклатуры и ее остатков в текстовый файл CSV Необходимо его доработать: 1. Сделать "множественный фильтр" на подобие отчета "Остатки ТМЦ" 2. Добавить возможность сохранять файл по ftp на ...
Прикладное ПО1 заявкаЗакрыт13 лет назад Требуется написать программу которая будет определять поврежденный объект от целового для примера используется изображение печеньки СРОЧНО МОЖНО ИСПОЛЬЗОВАТЬ ОДИН ИЗ ДАННЫХ ЯЗЫКОВ MATLAB DELFI PHP(Если ...
Прикладное ПО1 заявкаЗакрыт13 лет назадИнтересует специалист для доработки существующей системы на базе VTiger. Есть объем работ примерно на 40-50 часов ежемесячно.
Прикладное ПОнет заявокЗакрыт13 лет назадНеобходима программа, которая будет вести базу данных и печатать туристический ваучер по шаблону. Шаблон есть (в word). Программа должна генерировать ваучер подставляя в нужные места данные, которые введены в форму и сохранять данные. ...
Прикладное ПО1 исполнительЗакрыт13 лет назад- $100
Нужен модуль для формирования очень больших PDF. Что бы "потянул" размер итогового файла больше 1Гб. Структура данных не очень сложная: Текст по центру жирным - заголовок. Далее в прямоугольном обрамлении картинка, и текст. ...
Прикладное ПО2 заявкиЗакрыт13 лет назад - $2500
Подключить и доработать движок фаервола на LSP к интерфейсу на дельфи. Доработать продукт до состояния продакшн версии.
Прикладное ПО1 исполнительЗавершен13 лет назад ТЗ во вложении. жду предложений.
Прикладное ПО1 исполнительЗавершен13 лет назад