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 с ошибкой