Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205

Раскрой деталей конфигурации любой сложности на листовом материале произвольной формы

09.11.2022, 09:29. Показов 9847. Ответов 91

Студворк — интернет-сервис помощи студентам
Всем привет!

В 2000 м году нами, со товарищи, была разработана система управления машинами термической резки плоских деталей. Первая на СНГ частная система. Встал вопрос разработки управляющих программ к ней. Форматы на тот момент были ISO и ESSI. Пришлось напрячься и писать SAPR (систему автоматизированной разработки управляющих программ). Хочу представить на Ваш суд финальную версию этой программы. Система является полностью автономной программой, не требующей никакой другой поддержки кроме WinXP, Win 7, Win10. Все файлы системы должны находиться в одном каталоге. Инструкция по установке в папке doc. Файлы примеров программ *.sr, *.srt, *.tex, *.geo, *.esi лучше хранить в других каталогах.

Назначение
Система автоматизации программирования SAPR предназначена для подготовки управляющих программ для машин тепловой резки с системами ЧПУ. В графическом режиме технологом строится программа, описывающая конфигурацию детали, режимы и последовательность вырезки ее на станке. Эта программа называется исходной программой. Каждая программа имеет свое уникальное имя - номер чертежа детали. Исходная программа описывает обработку конкретной детали для конкретной машины, но часто в программе приходится описывать одни и те же элементы, применять одни и те же элементы. В этом случае можно составить подпрограммы, ориентированные на обработку повторяющихся элементов с последующим вызовом данных подпрограмм с угловыми поворотами в любой точке детали. Наличие возможности имитационных средств позволяет осуществить графическое моделирование работы каждой подпрограммы, к которой имеется обращение из исходной программе. Параллельное создание файлов геометрии и технологии. При разработке графической и технологической части детали, для создании управляющей программы, автоматически генерируются исходные тексты: графика детали (хранимая в специальном и текстовом форматах), технология обработки (в текстовом формате). Трансляция рабочей программы: После ввода и записи на диск исходной программы (графической и технологической ее частей) осуществляется трансляция, т.е. формирование управляющей программы для машины термической резки. После трансляции готовая управляющая программа может быть выведена и записана на USBFlesch или передана по сети в машину термической резки. Формат УП соответствует СТАНДАРТУ ISO 6582 формат ESSI или ISO.


Возможности программы:

Есть возможность работать с DXF файлами (стандарт "Autodesk AutoCAD 2004" и "SolidWorks 2001 FINAL" или КОМПАС v9-15).
Инструкция по работе с системой в папке doc.
Добавлены новые возможности: раскладка деталей произвольной формы на ЛИСТЕ произвольной формы (на остатке листа от предыдущих раскроев).

Чтение DXF
ЧТЕНИЕ DXF В GEO – файл формата dxf может быть загружен, как геометрический образ (без вспомогательных линий). Загружены будут все линии, окружности и дуги, сформированные в SolidWorks 2001, AUTOCAD 2004 или КОМПАС v9-15 и сохранённые как name.dxf.

Автоматическое создание программы и фигур DXF
Имеется возможность как построение технологии обхода детали вручную, так и АВТОМАТИЧЕСКАЯ в несколько кликов мышью.

Формы листов для раскроя

Форма листов для раскроя может быть выбрана прямоугольной для сортаментного листа любых размеров, что устанавливается по наличию листов у заказчика. Также может быть КРУГЛОЙ для остатков от предыдущих вырезок больших отверстий в деталях, а также произвольной для остатков от предыдущих вырезок деталей на прямоугольных листах.

Автоматизированная раскладка деталей на листе

Раскладка деталей на листе любой формы производится автоматизировано после загрузки списка деталей и их количества в Задание. Возможны корректировки положения деталей со сдвигами как групп деталей, так и по одной с угловыми поворотами на любые углы.
Система SAPR распространяется как есть на данный момент и бесплатная.
Новый релиз - можно создавать неограниченное количество незаконченных раскроев для разных Заказчиков или толщин металла c предпросмотром всех раскроев до загрузки. Введена условная эквидистанта для улучшения визуализации положения фигур. Проверено в WIN10, WINXP и Oracle VM VirtualBox - winXP.
Пожелания пишите в комментариях.
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.11.2022, 09:29
Ответы с готовыми решениями:

Раскрой деталей
Всем Здравствуйте! Помогите мне сохранить драгоценное время с поиском нужного компонента для создание в нем кроя из прямоугольных деталей,...

Раскрой деталей разной геометрии
Предлагаю демо-версию раскройной системы. Детали любой формы формата dxf SolidWorks 2001, Autocad 2004 и КОМПАС v9. Имеется внутренний...

CorelDraw: как получить площадь кривой произвольной формы, в которой есть "дырки" произвольной формы?
Стоит задача рассчитать площадь сложной кривой. В CorelDraw у кривых есть стандартное свойство, отображающее площадь кривой. ...

91
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205
13.01.2026, 17:59  [ТС]
Студворк — интернет-сервис помощи студентам
Elijah Tomcat,
Хорошо
0
13 / 16 / 5
Регистрация: 21.10.2023
Сообщений: 242
29.05.2026, 18:37
Примеры программ в G-кодах, которые мы резали. (Вложение)
Вложения
Тип файла: rar CPU.rar (870.7 Кб, 5 просмотров)
0
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205
29.05.2026, 19:50  [ТС]
Elijah Tomcat, Неплохо бы было размеры деталей по каждой программе, т.к. я не знаю дискретность кадров.
Или напишите сколько миллиметров в перемешении по Х и Y в этом кадре G00X30000Y-10000.
Второй вопрос: По Circle.cpu, что означают эти команды:
M98P0002
M98P0003
M30G4P9000
N0002
M20
M28
M99
N0003
М99

Я говорил вам, что самый лучший вариант это мне переслать инструкцию программиста для этого станка, где описаны все эти команды.
Давайте так. Я посмотрю завтра всё подробно и напишу вам.
удалено модератором
Всем добра.
0
13 / 16 / 5
Регистрация: 21.10.2023
Сообщений: 242
29.05.2026, 22:52
M98P0002 - вызов подпрограммы № 0002
N0002 - начало подпрограммы № 0002
M99 - возврат из подпрограммы

M30G4P9000 - конец программы с задержкой в 9 секунд

N0002 - начало
M20 - ХЗ что это
M28 - то же
G01Z-12. - подъём головы
M26G4P100 - подача кислого
M22G4P100 - открытие затвора лазера
M20
M99 - возврат

следующая за ней подпрога (N0003) - закрытие затвора и кислорода.

Доработал просмотрщик.
Вложения
Тип файла: rar CPUViewer.rar (1,011.3 Кб, 2 просмотров)
0
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205
30.05.2026, 09:18  [ТС]
Elijah Tomcat,
1. Напишите сколько миллиметров в перемещении по Х и Y в этом кадре Y-50000
X-50000. Я правильно понял из CPUViewer из р-ров стола в настройке, что это X=-50 мм и Y-50 мм, т.е. дискретность 1 мм - 1000 дискрет?

2. M98P0002 - вызов подпрограммы № 0002 - У меня нет подпрограмм, в них в SAPR нет смысла, но любую деталь могу положить на лист столько раз сколько нужно.

3. M99 - возврат из подпрограммы - аналогично п.2

4. N0002 - начало подпрограммы № 0002 - в начале каждой фигуры этот кадр с нумерацией номера фигуры может быть выдан, но тоже нет смысла.

Резюме: Программа может быть выдана как последовательность вывода деталей и в начале каждого зажигания лазера можно выдавать
M20
M28
G01Z-12. - подъём головы
M26G4P100 - подача кислого
M22G4P100 - открытие затвора лазера
M20

а конце каждого выключения лазера выдавать
M23G4P500 - я так понял выключение кислого
M27G4P500 - и закрытие затвора лазера
M28
G01Z-19.

Если так подойдёт, то работаю дальше.
Ваша программа
%
N0001G91G17
F1000
G00X30000Y-10000
M98P0002
G1Y5000
G2Y-50000J-25000
Y50000J25000
M98P0003
G1Z-55.
G00X-30000Y5000
M30G4P9000
N0002
M20
M28
G01Z-12.
M26G4P100
M22G4P100
M20
M99
N0003
M23G4P500
M27G4P500
M28
G01Z-19.
M99
%

Станет такой и последовательность включений и выключений арматуры будет строго соблюдена
%
N0001G91G17
F1000
G00X30000Y-10000
M20
M28
G01Z-12.
M26G4P100
M22G4P100
M20
G1Y5000
G2Y-50000J-25000
Y50000J25000
M23G4P500
M27G4P500
M28
G01Z-19.
G1Z-55.
G00X-30000Y5000
M30G4P9000
%

Но при сохранении последовательности вижу, что при вызове этих функций не из подпрограмм а напрямую CPUViewer.exe отображает его не так как ваш оригинал.
Есть над чем подумать о вызове подпрограмм.
Миниатюры
Раскрой деталей конфигурации любой сложности на листовом материале произвольной формы  
0
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205
30.05.2026, 09:58  [ТС]
Elijah Tomcat,
Внимательно рассмотрев вижу что
1. Circle.cpu quad.cpu Probe.cpu - вызов подпрограмм реализуем с их описанием в конце программы и вызовами в местах включения лазера (M98P0002) и его выключения (M98P0003)

2. 5MM.CPU - с организацией геометрических подпрограмм между вызовами подпрограмм включения и выключения лазера трудно реализуемо. Для этого нужно писать отдельное приложение и из программы вида 1. делать эти выделения. Но зачем это, если 1. вариант должен сработать.
0
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205
30.05.2026, 13:57  [ТС]
Elijah Tomcat,

В Probe.cpu строка программы 8
1. где здесь начинается дуга и что такое G39 перед I :
G39I-43357J30626
G3X-37257Y9310I-30626J-43357
X-23518Y-5750I13557J-106422
X-21630Y-10876I37070J-100672
2.После каждой M98P0144
при вводе коррекции G41 и G42 идёт H01 - это номер корректора?
G41G1X-119Y-2998H01


Сделал свой раскрой, вид его даю. Выдало программу в вашем формате. проверил по кадрам вроде всё нормально и мой отрисовщик рисует нормально вид Eridan2.png, но ваш CPUViewer.exe ругается (смотри на виде Eridan2.png красным обвёл).
(Индекс списка выходит за пределы допустимого диапазона (-1). Диапазон TStringList: 0..46)
Значит есть тонкости.
Место ошибки в программе CPUViewer не выдаёт. может всё дело в G39 или H01.
У меня был случай с одним заказчиком, когда у них мою программу ЧПУ не хотел кушать.
А оказалось, что какой то знак завершения строки ЧПУ не нравился.
Они набрали её же с бумажки вручную и всё нормально.
Высылаю вид отрисовки и программу с txt расширением.
Попробуйте найти что не так.
Flanec.png
Flanec.txt - переименуете в Flanec.cpu
Eridan2.txt - переименуете в Eridan2.cpu
Eridan2.png
прилагаю
Миниатюры
Раскрой деталей конфигурации любой сложности на листовом материале произвольной формы   Раскрой деталей конфигурации любой сложности на листовом материале произвольной формы  
Вложения
Тип файла: txt Eridan2.txt (6.1 Кб, 8 просмотров)
Тип файла: txt Flanec.txt (609 байт, 8 просмотров)
0
13 / 16 / 5
Регистрация: 21.10.2023
Сообщений: 242
30.05.2026, 22:17
Да, числа в микрометрах.

Подпрограммы делаются для экономии памяти. У нас был старый ЧПУ с 64Кб ОЗУ.

Во вьюере я развернул все подпрограммы, удалил лишнее для просмотра, например те же включения/выключения затвора и кислого и т.д.

G39 - обход угла. Для правильного выреза на лазерных и фрезерных делается эта команда. Не разбирался как она работает, просто выкинул.

G41 - левая, а G42 - правая компенсация при раскрое. Толщина лазерного пятна где-то 0,3мм и для реза деталей, которые вставляются друг в друга она нужна. Луч отступает на свою ширину от линии реза.

Во flanec стоит N перед M30:
N330M30G4P9000

В другом файле - N4280M30G4P9000. N с числом - лишнее.
0
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205
30.05.2026, 22:43  [ТС]
Elijah Tomcat, понял. Подправлю.
0
13 / 16 / 5
Регистрация: 21.10.2023
Сообщений: 242
30.05.2026, 22:44
Нулевая точка - левый верхний угол, поэтому все передвижения по Y в отрицательную сторону.
Первая команда тогда - G00Y-2500000
Компенсация здесь не нужна - команды G40, G41 и G42.
Габариты стола нужно увеличить в настройках.
Переходы между резами только командой G00. Их показ отключается/включается кнопкой со стрелкой.
0
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205
31.05.2026, 07:53  [ТС]
Elijah Tomcat, Хорошо, подправлю, а пока вот так.
Я в своём эмуляторе УЧПУ сделал анализ программы для машины терморезки по принципы семантики языка и структуры. И выдаю ошибки при компиляции программы перед захватом на отработку с указанием строки и причины, прилагаю. Если у вас есть исходные коды CPUViewer.exe вашего, то рекомендую сделать в нём также. Заказчики быстро оценили, т.к. операторы без машины быстро осваивают управление ею. Полная виртуализация процесса резания с отработкой арматуры и.т.д.
Прилагаю мой эмулятор для демонстрации возможностей (KRISTAL_MTR.rar установить на C:\ в корень). ВНИМАНИЕ! Завуск KRISTAL.bat для демо-режима. Если сменить origlibrary.dll демку на рабочую dll, то УЧПУ её понимает и может работать на боевом. Пока ваши программы не понимает, но это решаемо (кушает обычные esi, а также iso программы с дискретностью с и без плавающей точки).
Программу демонстрации вашу KOMP1.cpu запаковал в KOMP1.rar, т.к. превысила размер 20 Кб.

По работе с эмулятором машины Kristal.exe:
Распакуйте на С: диск в корневую директорию. Войдите в  папку KRISTAL_MTR  Запустите KRISTAL.bat (не KRISTAL.exe). Нажмите мышью F1 на панели снизу. Удерживая Shift - нажмите F8 откроется панель управления по обводу системы.
Выберите С:\KRISTAL_MTR\ups. Выберите программу с расширением iso или esi Выберите КАТАЛОГ, КОМПИЛИТЬ, ЗАХВАТ. Нажмите ПУСК УП на панели управления, вверху слева. По умолчанию газовая технология.
Всем добра.
Миниатюры
Раскрой деталей конфигурации любой сложности на листовом материале произвольной формы  
Вложения
Тип файла: rar KRISTAL_MTR.rar (3.18 Мб, 2 просмотров)
Тип файла: rar KOMP1.rar (7.0 Кб, 3 просмотров)
0
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205
31.05.2026, 11:15  [ТС]
Elijah Tomcat,
Извините, забыл файл отчёта SAPRa к программе KOMP1.cpu
Вложения
Тип файла: xls KOMP1.xls (90.5 Кб, 7 просмотров)
0
13 / 16 / 5
Регистрация: 21.10.2023
Сообщений: 242
31.05.2026, 13:38
Лучше файл в формате AutoCAD 2005.
0
13 / 16 / 5
Регистрация: 21.10.2023
Сообщений: 242
31.05.2026, 13:46
Доделанный вьюер, его исходники на Delphi 12.3 и программа Z500 (ДОСовская), на которой мы работали.

M20 и M28 - включение слежения - головка во время реза постоянно находится в 1мм от листа, несмотря на его неровность.
Вложения
Тип файла: rar CPUViewer.rar (14.23 Мб, 16 просмотров)
0
13 / 16 / 5
Регистрация: 21.10.2023
Сообщений: 242
31.05.2026, 14:01
А зачем Ваша программа выключает компьютер на выходе?
0
13 / 16 / 5
Регистрация: 21.10.2023
Сообщений: 242
31.05.2026, 14:46
Исправил баг с отображением кривых.
Вложения
Тип файла: rar CPUViewer.rar (1,014.0 Кб, 8 просмотров)
0
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205
31.05.2026, 14:58  [ТС]
Elijah Tomcat,
Для вашей УЧПУ доработал SAPR/
Все нерабочие линейные движения на быстром ходу (лист 15000х7000 мм).
Вложения
Тип файла: rar KOMP1.rar (6.8 Кб, 3 просмотров)
0
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205
31.05.2026, 15:00  [ТС]
Elijah Tomcat,
А зачем Ваша программа выключает компьютер на выходе?
Если KRISTAL.exe, то запуск через батник KRISTAL.bat, а вы запустили ехе шник

ВОПРОС. Какая у вас операционная система Windows (это нужно если у вас не WINDOWS 10 и выше для правильной отрисовки OpenGL раскроя).
0
13 / 16 / 5
Регистрация: 21.10.2023
Сообщений: 242
31.05.2026, 18:29
Windows 11, 24H2
0
5 / 22 / 1
Регистрация: 24.11.2015
Сообщений: 205
31.05.2026, 18:45  [ТС]
Elijah Tomcat,
Попробуйте поработать, высылаю SAPR. В Win 10 работает, значит должен и в Win11.
Лучше всего работать в Oracle VirtualBox с установленной WIN 10.
Функции ненужные вам урезаны.
Вложения
Тип файла: rar SAPR.rar (18.12 Мб, 14 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.05.2026, 18:45

Дайсомет произвольной сложности
Всем привет, я понимаю, что вопрос достаточно объемный, поэтому буду признателен даже если просто укажете без точных формул, где что по...

программирования любой сложности
Группа опытных программистов возьмется за проекты любой сложности. Индивидуальный подход. Цена договорная. Возможно также выполнение...

Вёрстка любой сложности – недорого
Выполняю заказы по вёрстке сайтов с использованием html (различные подвиды), css, JavaScript. Могу написать для сайта несложный php-скрипт....

Найти площадь n-угольника произвольной конфигурации
Помогите с программой, пожалуйста! Даны натуральное число n, действительные числа x1, y1, x2, y2,..., xn, yn. Найти площадь...

Программы любой сложности на Pasca и Delphi
Быстро и качественно напишу программы на Pascal и Delphi. От учебных до серъезных проектов. Задачи, курсовые по информатике и смежным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru