1 год назад
История
README.MD
Программа myCut для расчёта раскроя плитных материалов.
Может быть полезна для небольших предприятий, которые занимаются изготовлением мебели на заказ.
Входные данные указываются в следующих файлах:
- details.txt - необходимые детали и их кол-во;
- sheets.txt - размеры доступных листов и их кол-во;
- tool_set.txt - ширина реза, ширина обрезки по краям.
Результатом работы являются два текстовых файла:
- dt_after.txt - получившиеся детали;
- sh_after.txt - остатки листов после раскроя.
Созданные файлы имеют следующий формат: ширина, высота, кол-во, №-листа, координаты на листе. Этих данных достаточно для дальнейшего обработки и генерации чертежа, картинки, векторного файла.
Раскрой плит на детали
void cutItAll(string shtReady, string detReady);
// создание объекта раскроя
cutting cut("sheets.txt", "details.txt");
// проверка на корректность деталей относительно листа
if (cut.isSizesCorrect()) {
cut.cutItAll("sh_after.txt", "dt_after.txt");
cout << "Cut complete." << endl;
}
else {
cout << "Wrong sizes of details." << endl;
return 0;
}
В качестве демонстрации последнего утверждения, был создан вспомогательный класс, который умеет записывать в svg. Для каждого листа раскроя генерируется svg картинка, после этого эти файлы svg упаковываются в один html файл.
Создание класса для генерации html файла с svg картинками раскроя
allsvg(string px, string py, string szX, string szY, string szZ, string cut, string sc, string titl, string stX, string stY, string rowCnt);
// генерация карты раскроя на основаниии данных из созданных файлов "sh_after.txt" и "dt_after.txt"
//
// allsvg(
// string px, string py, - ширина и высота страницы,
// string szX, string szY, string szZ, string cut, - размеры листа ДСП, обрезка по периметру,
// string sc,- масштаб,
// string titl, - заголовок на листе,
// string stX, string stY, - координаты вывода таблицы размеров
// string rowCnt); - строк в таблице размеров
allsvg pages("210mm", "297mm", "2750", "1830", "16", "10", "4", "Тестовый раскрой.", "35", "680", "12");
Генерация карты раскроя на основаниии данных из созданных файлов
void makeAllPages();
pages.makeAllPages();
Результат:
Проект CMake, работает в Windwos и Linux.
Конвейеры
0 успешных
0 с ошибкой