Векторный графический редактор

Модератор: Модераторы

Векторный графический редактор

Сообщение Warfalomay » 18.11.2023 20:00:41

Доброго времени суток!
От нечего делать сделал простенький 2D векторный редактор для построения несложных эскизов. Ну, не совсем сделал, до готового еще очень далеко, скажем так, заготовка.
Может кому пригодится в виде геометрических алгоритмов и общего принципа работы.
Правда, работает только под Windows (из-за функций WinAPI), если нужно под Linux, то требуется небольшая доработка.
https://disk.yandex.ru/d/G0LrntB5U2lK1w
Warfalomay
новенький
 
Сообщения: 12
Зарегистрирован: 17.11.2023 23:11:36

Re: Векторный графический редактор

Сообщение Alex2013 » 23.11.2023 20:20:04

Интересно "буду посмотреть"... :idea:
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Векторный графический редактор

Сообщение Alexander » 24.11.2023 16:15:01

Запустил под WINE. Фигуры рисует хорошо. Ну да: сделать для Линукса и добавить побольше привычных для таких программ инструментов (выделение, перемещение сделать проще что ли и прочее).
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 703
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Re: Векторный графический редактор

Сообщение Sharfik » 25.11.2023 01:22:34

Третьим будешь))
Я так понял блоков и dxf нет
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 766
Зарегистрирован: 20.07.2013 01:04:30

Re: Векторный графический редактор

Сообщение Warfalomay » 30.11.2023 11:49:04

Sharfik
Блоки есть, но недоработанные. Начал делать, но забил, т.к. сама логика программы немного ущербная : все графические объекты - просто запись в массиве определенного типа. Блоки - это тоже массив с номерами объектов. При удалении граф.объекта, напр. линии, весь массив линий сдвигается вверх, вся нумерация в блоках ломается.
Позже понял, что все объекты нужно было делать отдельными классами (вернее экземплярами классов). Без массивов. Обращаться через FindComponent. Тогда можно было бы и блоки. Но переделывать уже лениво.
А за DXF: вот наткнулся на тему: https://www.cyberforum.ru/lazarus/thread1626208.html
В принципе все просто, тем более, что автор уже все разобрал и описал. Думаю добавить к своему редактору.

Добавлено спустя 6 минут 48 секунд:
SharfikAlexander
Это не самые большие проблемы в этой программе :)
При рисовании регулярно образуются объекты с дробными координатами. В программе же они все округляются до целых. Соответственно, потом точки, которые округлились в разные стороны будут не совпадать. Можно увидеть, сделав картинку с окружностями, пересечениями, привязкой концов линий к пересечениям, а потом сделать из меню Файл скрипт для Автокада. В Автокаде будет видно, что точки немного не совпадают.
Опять же - "генетические уродства" данной программы. Все координаты надо было хранить в дробном виде, в формулах считать также. Округлять только для вывода на экран.

Добавлено спустя 6 минут 43 секунды:
Alexander
Вот немного подправил, теперь, по идее, можно без Wine откопилировать под Linux. Заодно поубрал немного мусора и лишних действий из кода.
https://disk.yandex.ru/d/5zvLfsBqnOE9ig
Warfalomay
новенький
 
Сообщения: 12
Зарегистрирован: 17.11.2023 23:11:36

Re: Векторный графический редактор

Сообщение Alexander » 30.11.2023 17:15:02

> по идее, можно без Wine откопилировать под Linux

Код: Выделить всё
drawing_unit.pas(6,6) Error: Невозможно найти Windows, используемый в Drawing_unit в инспекторе проекта.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 703
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Re: Векторный графический редактор

Сообщение zub » 30.11.2023 17:43:15

Warfalomay
>>В принципе все просто, тем более, что
оптимистично))
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Векторный графический редактор

Сообщение Warfalomay » 30.11.2023 19:22:21

Alexander
Пардон, Linux не пользуюсь, проверить было не на чем. Вот теперь должно быть нормально:
https://disk.yandex.ru/d/ml7zgVgO9ULCAg

Добавлено спустя 3 минуты 35 секунд:
zub
А что сложного, если есть описание формата?
У меня в программе есть экспорт в скрипт, который читается Автокадом (ну, вернее Nanocad, но разницы, наверное, нет), по такому же принципу и в DXF можно экспортировать.
Warfalomay
новенький
 
Сообщения: 12
Зарегистрирован: 17.11.2023 23:11:36

Re: Векторный графический редактор

Сообщение zub » 30.11.2023 19:39:19

очень много нюансов

Добавлено спустя 13 минут 52 секунды:
ну и описание собственно хоть и с виду внушает, но ориентировано на чтение - для записи в актуальные информации мало
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Векторный графический редактор

Сообщение Alexander » 30.11.2023 20:31:10

> Вот теперь должно быть нормально

my_modify.pas(30,71) Error: Невозможно найти MyFunc, используемый в my_modify.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 703
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Re: Векторный графический редактор

Сообщение Warfalomay » 30.11.2023 22:00:35

Alexander
Все, сдаюсь :cry:
Нифига не понятно, этот модуль есть в папке lib проекта, почему он не цепляется...

Добавлено спустя 1 минуту 56 секунд:
zub
Возможно и мало, я еще не пробовал. Вроде информацию о всех нужных типах примитивов понятно как в DXF записать, пока, наверное, этого достаточно.

Добавлено спустя 5 минут 24 секунды:
Alexander
Можно докинуть файл в папку с проектом
https://disk.yandex.ru/d/L6bOKtbo8nkwFg,
хотя в виде откомпилированного модуля он и так есть в наличии.
Надеюсь,теперь заработает :(
Warfalomay
новенький
 
Сообщения: 12
Зарегистрирован: 17.11.2023 23:11:36

Re: Векторный графический редактор

Сообщение veb86 » 30.11.2023 22:29:35

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

zub написал вот это с нуля https://github.com/zamtmn/zcad
veb86
новенький
 
Сообщения: 62
Зарегистрирован: 16.03.2016 12:58:35

Re: Векторный графический редактор

Сообщение Warfalomay » 01.12.2023 06:44:14

veb86
И что?
Warfalomay
новенький
 
Сообщения: 12
Зарегистрирован: 17.11.2023 23:11:36

Re: Векторный графический редактор

Сообщение Alexander » 01.12.2023 07:48:57

Да, теперь запустился, спасибо !

Изображение
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 703
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Re: Векторный графический редактор

Сообщение veb86 » 01.12.2023 09:49:35

Warfalomay писал(а):veb86
И что?

Не хотел обидеть. Я просто хотел сказать, что zcad достиг уже много, если закрыть глаза на некоторые недоделки, то я думаю он может заменить платный CAD.
Но даже с учетом этого, полноценной поддержки всех примитивов нет (DXF). Есть куча странных поведенческих свойств примитивов, да и самих примитивов огромное множество. Открыть огромный чертеж без предварительной подготовки реально, но будут проблемы. Например МТекст который в себе несет такое {\fArial Narrow|b0|i0|c0|p34;H\fArial|b0|i0|c204|p34;\LE\Q5;\W1.5;\T0.9;\lLLO} WORLD (HELLO WORLD).
Я бы предложил сделать круче, организовать поддержку https://github.com/LibreDWG/libredwg. Адаптировать данную библиотеку под fpc было бы круто. Ну и помогло бы развитию zcad и самой libredwg :D :D :D
veb86
новенький
 
Сообщения: 62
Зарегистрирован: 16.03.2016 12:58:35

След.

Вернуться в Графика и мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

Рейтинг@Mail.ru
cron