Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4335
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1518
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение selenur »

Сейчас тестирую все имеющиеся у себя DXF файлы, в поисках видов данных которые ещё не реализовал.
Возможно у кого нибудь есть возможность так-же протестировать функционал, для этого доступна тестовая версия: http://selenur.ru/DownloadsApp/test/TEST_v40.zip
Процесс тестирования выглядит так:
1) Запускаем программу
1.png (5640 просмотров) <a class='original' href='./download/file.php?id=174030&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (25.39 КБ)</a>
2) Открываем окно сообщений рядом с программой
2.png (5640 просмотров) <a class='original' href='./download/file.php?id=174031&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (33.96 КБ)</a>
3) Запускаем профиль тестирования, запускаем импорт данных из DXF файла, и смотрим на наличие сообщений типа "не реализовано"
3.png (5640 просмотров) <a class='original' href='./download/file.php?id=174032&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (52.93 КБ)</a>
Так-же в модуле появился флаг, который позволяет ускорить импорт данных, если установить флаг, установка данного флага приводит к тому что при выводе списка траекторий не заполняется тип траектории и количество точек, а в остальном всё работает как и прежде.
Вот пример на моём ноутбуке с флагом:
4.png (5640 просмотров) <a class='original' href='./download/file.php?id=174033&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (120.42 КБ)</a>
и без флага
5.png (5640 просмотров) <a class='original' href='./download/file.php?id=174034&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (104.27 КБ)</a>
Позже я подумаю как это оптимизировать, но пока разница очень заметна, почти в 2000 раз ;-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4335
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1518
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение selenur »

Новая версия 41 --> http://selenur.ru/?page_id=1182
Теперь в программе используется 2 разных модуля импорта данных из DXF файла, благодаря чему стало возможно получать данные из любых DXF файлов (из тех что у меня есть в наличии) корректно.
Переработал, и оптимизировал заполнение списка траекториями, что очень, очень ускорило работу программы.
001.png (5489 просмотров) <a class='original' href='./download/file.php?id=174382&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (74.19 КБ)</a>
Если в программе установить флаг использовать "метки" для загружаемых траекторий,
005.png (5489 просмотров) <a class='original' href='./download/file.php?id=174386&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (47.15 КБ)</a>
но не указать как эти траектории назвать, программа в поле метки будет записывать текущий цвет, или номер цвета, в зависимости от того в какой программе сформировали DXF файл. (Данный функционал нужен был для возможности фрезеровки на разную глубину участков, в зависимости от цвета)
002.png (5489 просмотров) <a class='original' href='./download/file.php?id=174383&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (38.7 КБ)</a>
003.png (5489 просмотров) <a class='original' href='./download/file.php?id=174384&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (38.25 КБ)</a>
004.png (5489 просмотров) <a class='original' href='./download/file.php?id=174385&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (38.22 КБ)</a>
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
serbar62
Новичок
Сообщения: 2
Зарегистрирован: 06 янв 2020, 15:25
Репутация: 0
Настоящее имя: Sergey
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение serbar62 »

Честно говоря, не читал весь листок сообщений, довольно утомительное занятие. Насколько я понял, данная программа генерирует код для управления фрезерным или лазерным станком. У меня возникла проблема в создание УП для управления трубогибом в плоскости одной координаты. Вручную можно писать, но утомительно. Трубогиб самодельный, за основу взят этот https://howtomechatronics.com/projects/ ... g-machine/. Тут он управляется ардуинкой, я думаю взять управление Mach, длина трубы - координата Х, угол поворота -180 - 0 - 180 - координата Y. Все просто. Теперь как создать УП? Неплохо было бы загрузить в программу файл гибки трубы в векторном формате, например eps, и программа бы выдала УП для Х и Y, помимо этого существовала бы возможность вставки символов кода для управления внешними устройствами в местах гиба. Например для подвода горелок нагревания, отрезных кругов и т.п. Можете ли помочь в таком вопросе? :thinking:
Аватара пользователя
xvovanx
Мастер
Сообщения: 2454
Зарегистрирован: 25 фев 2016, 12:27
Репутация: 650
Настоящее имя: Владимир
Откуда: Latvia
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение xvovanx »

serbar62 писал(а):Неплохо было бы загрузить в программу файл гибки трубы в векторном формате, например eps, и программа бы выдала УП для Х и Y
Программа заточена именно под то, что написано в заголовке. Утяжелять программу узкопрофильными "фичами" (трубогиб) будет явно не рационально (последнее слово автора программы конечно).

П.С. Уже сейчас без видео уроков и описания, фиг что сходу сразу получишь - настолько прога "обросла хозяйством".
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4335
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1518
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение selenur »

serbar62 писал(а):Честно говоря, не читал весь листок сообщений, довольно утомительное занятие. Насколько я понял, данная программа генерирует код для управления фрезерным или лазерным станком.
Программа позволяет автоматизировать различные станки, не только лазерный и фрезерный, но основная направленность конечно на них.
serbar62 писал(а): У меня возникла проблема в создание УП для управления трубогибом в плоскости одной координаты. Вручную можно писать, но утомительно. Трубогиб самодельный, за основу взят этот https://howtomechatronics.com/projects/ ... g-machine/. Тут он управляется ардуинкой, я думаю взять управление Mach, длина трубы - координата Х, угол поворота -180 - 0 - 180 - координата Y. Все просто.
Вот как раз не совсем просто, я уже пересекался с похожим проектом, там есть куча нюансов, из тех что я знаю связан с диаметром и материалом проволоки, из-за чего появляется рассогласование между желаемым углом и заданным.
В моей программе это конечно можно учесть, если создать своё правило формирования G-кода. Но под каждый материал нужно своё правило создавать, или использовать одно правило, но с кучей параметров.
serbar62 писал(а):Теперь как создать УП? Неплохо было бы загрузить в программу файл гибки трубы в векторном формате, например eps, и программа бы выдала УП для Х и Y
Если касаться только гибки проволоки, то тут сложностей нет, например в кореле, инскейпе, комапасе, автокаде, фьюжене или любой другой программе, формируем траекторию из прямых отрезков, желаемой траектории, и сохраняем в DXF формат, а далее в программе нужна простая цепочка действий из 2-х модулей, в первом выбирается DXF файл, а во втором формируется G-код согласно "созданному правилу формирования g-кода для листогиба". Формат eps я пока не планирую реализовывать, т.к. PLT и DXF форматы поддерживаются большинством программ, которые мне встречались.
serbar62 писал(а):помимо этого существовала бы возможность вставки символов кода для управления внешними устройствами в местах гиба. Например для подвода горелок нагревания, отрезных кругов и т.п.
Если во всех местах гиба логика подвода прочей механики, горелок одинаковая, то это можно описать в правилах.
serbar62 писал(а): Можете ли помочь в таком вопросе?
На текущий момент могу лишь давать направление, в каком направлении двигаться, т.к. пока загружен ;-)

Конечно не совсем в эту тему, но все-же, есть вот такое обалденное решение на мой взгляд:
https://www.youtube.com/watch?v=tLheOFLsc8s
вот их сайт: https://www.pensalabs.com/diwire-pro
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4335
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1518
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение selenur »

xvovanx писал(а):Программа заточена именно под то, что написано в заголовке. Утяжелять программу узкопрофильными "фичами" (трубогиб) будет явно не рационально (последнее слово автора программы конечно).
К стати, как оказалось функционал позволил автоматизировать уже не мало задач, которые изначально в программу не закладывались. Хотя как написал ранее это основное направление ;-)
xvovanx писал(а):П.С. Уже сейчас без видео уроков и описания, фиг что сходу сразу получишь - настолько прога "обросла хозяйством".
Пока не хватает времени создать разные профили для программы, что-бы максимально упростить новичкам освоение работы в программе.
Как я понял основная проблема именно в этом.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
serbar62
Новичок
Сообщения: 2
Зарегистрирован: 06 янв 2020, 15:25
Репутация: 0
Настоящее имя: Sergey
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение serbar62 »

Ок. Буду пробовать. Трубогиб, громко сказано, толщина трубок от 1 до 5 мм, другие варианты не планируются. Конструкция машинки указанной вами, аналогична той, которую я хочу сделать, полную ссылку на статью я давал. Там идея реализована на основе ардуинки, детальки напечатаны на 3Д принтере. Естественно пробный вариант будет такой, потом все сделаю по человечески, из металла. Не устраивает необходимость вручную создавать УП. Ладно, надо же когда-то разобраться с этой математикой. Буду разбираться с вашей программой, тем более вроде как все необходимые ссылки есть на вашем сайте.
Аватара пользователя
Курдль
Мастер
Сообщения: 495
Зарегистрирован: 20 мар 2018, 16:55
Репутация: 44
Настоящее имя: Курдль Энтеропийский
Откуда: Msk
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение Курдль »

Привет, друзья!
Кто может навскидку подсказать простейший инструмент для создания УП из Gerber-а на растровую (параллельную) выборку меди с непроводящей части платы?
Может во FlatCAM или CupperCAM есть такая опция, которую я с первого взгляда не нашел?
Много надежд возлагал на новую версию "Конструктора G-Кода". Установил её, открыл... и сразу закрыл. Я ничего не понял :(
Для таких тупых, как я, программа должна иметь первичный UI с одной кнопкой "Загрузите Ваш Gerber и запустите генерацию кода" :)
Мой сайт: https://cnc1310.ru
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4335
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1518
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение selenur »

Курдль писал(а):Привет, друзья!
Кто может навскидку подсказать простейший инструмент для создания УП из Gerber-а на растровую (параллельную) выборку меди с непроводящей части платы?
Может во FlatCAM или CupperCAM есть такая опция, которую я с первого взгляда не нашел?
Много надежд возлагал на новую версию "Конструктора G-Кода". Установил её, открыл... и сразу закрыл. Я ничего не понял :(
Для таких тупых, как я, программа должна иметь первичный UI с одной кнопкой "Загрузите Ваш Gerber и запустите генерацию кода" :)
Чуть позже я наделаю много разных профилей работы программы, что-бы всё было максимально просто.
Я сейчас готовлюсь к дипломной работе(заканчиваю учёбу), из-за чего пока со свободным временем напряг.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
Курдль
Мастер
Сообщения: 495
Зарегистрирован: 20 мар 2018, 16:55
Репутация: 44
Настоящее имя: Курдль Энтеропийский
Откуда: Msk
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение Курдль »

selenur писал(а):Чуть позже я наделаю много разных профилей работы программы, что-бы всё было максимально просто.
Так может быть Вы улучите минутку для составления одного профиля (для особо тупых) :)
Необходимо из Gerber-файла создать УП по удалению всей меди растровым (построчным) способом.
Заранее благодарен!
Мой сайт: https://cnc1310.ru
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4335
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1518
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение selenur »

Курдль писал(а):
selenur писал(а):Чуть позже я наделаю много разных профилей работы программы, что-бы всё было максимально просто.
Так может быть Вы улучите минутку для составления одного профиля (для особо тупых) :)
Необходимо из Gerber-файла создать УП по удалению всей меди растровым (построчным) способом.
Заранее благодарен!
Данный функционал к сожалению трудоемок, есть вот такой:
2020-02-01_210608.png (4819 просмотров) <a class='original' href='./download/file.php?id=176023&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (437.18 КБ)</a>
Когда область заливается вот таким способом.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
Курдль
Мастер
Сообщения: 495
Зарегистрирован: 20 мар 2018, 16:55
Репутация: 44
Настоящее имя: Курдль Энтеропийский
Откуда: Msk
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение Курдль »

selenur писал(а):Когда область заливается вот таким способом.
Мне нужно не внутри, а снаружи.
И на мой взгляд растровый способ реализовать куда проще, чем всё, что реализовано у Вас.
Ездит гравер вправо-влево, над дорожками поднимается, над изоляцией опускается.
Мой сайт: https://cnc1310.ru
Аватара пользователя
Курдль
Мастер
Сообщения: 495
Зарегистрирован: 20 мар 2018, 16:55
Репутация: 44
Настоящее имя: Курдль Энтеропийский
Откуда: Msk
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение Курдль »

Курдль писал(а):Кто может навскидку подсказать простейший инструмент для создания УП из Gerber-а на растровую (параллельную) выборку меди с непроводящей части платы?
Может во FlatCAM или CupperCAM есть такая опция, которую я с первого взгляда не нашел?
Я разобрался с FlatCAM, он прекрасно умеет генерировать УП для выборки больших пространств меди.
Только это не совсем то, что я хотел бы. Его алгоритм сложнее, чем надо: он аккуратно обводит каждый проводник, а потом - пространство между проводниками. Мне же нужно просто, как при обычном растровом выжигании лазером. Цель - засветка паяльной маски на плате.
Я получил нужную УП с помощью плагина inkscape "305engineering". Но для этого мне пришлось несколькими трансформациями скормить ему картинку платы. А это как-то... через гланды :(
У кого есть идеи?
Сгенерированная FlatCAM траектория и фрагмент её эмуляции на NC Corrector (4765 просмотров) <a class='original' href='./download/file.php?id=176082&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (276.95 КБ)</a>
Сгенерированная FlatCAM траектория и фрагмент её эмуляции на NC Corrector
Мой сайт: https://cnc1310.ru
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4335
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1518
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение selenur »

Вот вариант:
https://www.youtube.com/watch?v=cMxQ73jwAAY
По идее как-раз то что тебе нужно!
http://lasergrbl.com/
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
Курдль
Мастер
Сообщения: 495
Зарегистрирован: 20 мар 2018, 16:55
Репутация: 44
Настоящее имя: Курдль Энтеропийский
Откуда: Msk
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение Курдль »

selenur писал(а):По идее как-раз то что тебе нужно!
http://lasergrbl.com/
Привет!
Я рассматривал LaserGrbl и даже когда-то им пользовался. Однако он не принимает Gerber, насколько я помню :(

Мне бы что-то типа :
[youtube]https://youtu.be/uIIwU29H3E8?t=60[/youtube]
Мой сайт: https://cnc1310.ru
Аватара пользователя
X-Ray
Мастер
Сообщения: 462
Зарегистрирован: 04 фев 2016, 23:06
Репутация: 202
Настоящее имя: Дамир
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение X-Ray »

Курдль писал(а):Кто может навскидку подсказать простейший инструмент для создания УП из Gerber-а на растровую (параллельную) выборку меди с непроводящей части платы?
У меня на ЯДе (Яндекс диск) лежит то что надо, простым растром фигачит, а ДЛЛки на гитхабе. Ссылки в подписи.
selenur писал(а):Позже я подумаю как это оптимизировать, но пока разница очень заметна, почти в 2000 раз
Perfect forwarding и reserve()у vector'а конечно если это С++.
Программа G2G (фрезеровка из гербера, производство ПП на ЧПУ) GERBER_X2/releases
Прежде чем писать о багах проверьте, является ли ваша версия последней!
Баги - глюки просьба писать сюда!!!
Багтрекер
Тестовая версия
OuldMan

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение OuldMan »

Здравствуйте.
Столкнулся с такой проблемой.
Не могу загрузить .dxf, экспортируемый из OpenSCAD.
Пишет:
Файл не содержит DXF данных, или ошибка в заголовке файла, т.к. не удалось получить информацию о версии DXF формата!
Другие программы эти файл открывают без капризов.
Есть неакробатическое решение проблемы?
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4335
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1518
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение selenur »

OuldMan писал(а):Здравствуйте.
Столкнулся с такой проблемой.
Не могу загрузить .dxf, экспортируемый из OpenSCAD.
Пишет:
Файл не содержит DXF данных, или ошибка в заголовке файла, т.к. не удалось получить информацию о версии DXF формата!
Другие программы эти файл открывают без капризов.
Есть неакробатическое решение проблемы?
Выложи файл для скачивания, я посмотрю что возможно сделать.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4335
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1518
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение selenur »

Сейчас делаю дипломную работу (из-за которой на текущий момент и пришлось приостановить доработку программы), и одна из задач это изготовление печатной платы, в начале попробовал фрезеровать, но без карты высот на новом контроллере, это не удалось, и перешел к плану Б, это засветка фоторезиста с применением 3-д принтера.
Для этого 3-д принтер с прошивкой марлин, немного модернизировал, добавив возможность установки лазера:
2020-03-24_233001.png (3850 просмотров) <a class='original' href='./download/file.php?id=178864&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (599.64 КБ)</a>
2020-03-24_232946.png (3850 просмотров) <a class='original' href='./download/file.php?id=178865&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (657.27 КБ)</a>
2020-03-24_232925.png (3850 просмотров) <a class='original' href='./download/file.php?id=178866&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (559 КБ)</a>
Потом подготовил правило формирования G-кода для марлин контроллера:
laser-marlin.zip
(788 байт) 153 скачивания
И в итоге используя лазер 50 мВт, со скоростью 600 мм/мин, на максимальной мощности, и лазерном пятне в 0.1 мм получил вот такой результат:
2020-03-22_124428.png (3850 просмотров) <a class='original' href='./download/file.php?id=178859&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (755.92 КБ)</a>
2020-03-22_124615.png (3850 просмотров) <a class='original' href='./download/file.php?id=178860&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (730.26 КБ)</a>
2020-03-22_200725.png (3850 просмотров) <a class='original' href='./download/file.php?id=178861&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (761.83 КБ)</a>
2020-03-22_200849.png (3850 просмотров) <a class='original' href='./download/file.php?id=178862&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (742.37 КБ)</a>
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4335
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1518
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Сообщение selenur »

Ну и маленькое видео как это работает:
https://www.youtube.com/watch?v=aM6A5lrm7-I
P_20200322_190747.jpg (3845 просмотров) <a class='original' href='./download/file.php?id=178867&sid=1becaf238a8d2deeb89fccd74cddbd1b&mode=view' target=_blank>Загрузить оригинал (4.1 МБ)</a>
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Ответить

Вернуться в «Windows / Mach»