САПР на Lazarus

Планы, идеология, архитектура и т.п.

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

Re: САПР на Lazarus

Сообщение zub » 16.11.2014 20:50:35

Ну если лень победишь - поделись бинарником, закину его ан sf))
fpc я собирал для x86, но неполучалось доустановить нужные дев пакеты для x86, толи их в репах небыло, толи конфликтовали, толи линкер их ненаходил - непомню. Потыкался и забил, нервы дороже.
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение zub » 22.11.2014 00:33:06

dedm0zaj
Твоя лень болше моей)). Залил гткашную 32битную линукс сборку на саусфорж
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение dedm0zaj » 22.11.2014 08:40:19

отлично. обязательно сёдня посмотрю.

Добавлено спустя 1 час 27 минут 54 секунды:
попробовал. для меня, привыкшему к автокаду и компасу, эта прога является самой удобной из всего опенсорсного под линух.
конечно полноценный чертеж не построить ввиду отсутствия штриховки и размеров, но для чего то домашнего буду юзать её.

и ещё не нашёл как при построении линии задать угол. этой функцией пользуюсь достаточно часто. приходится строить сначала горизонтальную линию, а потом поворачивать.

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

Добавлено спустя 37 минут 49 секунд:
и ещё одно небольшое замечание - бинарный файл содержит отладочную инфу и от этого размером ~60мб, что в конечном пользовании конечно не нужно. у себя вырезал её командой strip - файл похудел до 7 мб.
dedm0zaj
постоялец
 
Сообщения: 108
Зарегистрирован: 05.10.2012 19:55:20

Re: САПР на Lazarus

Сообщение zub » 22.11.2014 19:55:19

Спасибо за отзыв.

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

Штриховки, если честно пока даже незнаю с какой стороны подступиться. Размеры есть, надо допиливать.

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

Re: САПР на Lazarus

Сообщение zub » 03.02.2015 02:22:30

Перелопатил внутренние зависимости в проекте, остались некоторые нюансы, но можно сказать что функционал графического движка отделен от zcad`ной требухи. Теперь каталог вывода зкада содержит 231 *.o файл, simplecad (это типа пример использования движка) содержит 139 *.o, раньше циферки почти не отличались)). Палитру засунул в исходники в виде константы, shx шрифт "поумолчанию" пихнул в ресурсы - зависимости в рантайм файлах у simplecad`a теперь отсутствуют.
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение Sharfik » 19.03.2015 22:53:11

zub писал(а):Ты не рассматривал зкад как чертилку под свои нужды?

Рассматривал, но слишком хорошо знаю Autocad как пользователь. Фишки которые я использую в Autocad к сожалению не распространены в других платформах, а при ручной работе они время экономят сильно. И еще возникает вопрос с dwg - dxf. Итог - пока как есть, работаю в акаде.
Если честно, когда смотрел коды zcad мозги в трубочку сворачивались. У меня только на создание интерфейсов, бд своих хватало сил. Были правда мысли на предмет связи zcad с тем что сам пытаюсь сделать, но моя идея пока как резинка растягивается. Нужно сделать 60% работы которая связана больше с базами данных, чтобы добраться до того места когда можно развлекаться с графикой будет.
Мне например не подобраться к AutoCAD LT из своей программы, а zcad смог бы создать нужные чертежи для отчета, которые пользователь LT версии не получил бы, потому что к нему нет удаленного доступа через OLE. Если коротко идея состоит в платформе и плагинах к ней для упрощения проектных дел, но без привязки к платформам чертежным. Они второстепенны в данном случае.
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 791
Зарегистрирован: 20.07.2013 01:04:30

Re: САПР на Lazarus

Сообщение zub » 19.03.2015 23:41:19

>>Фишки которые я использую в Autocad к сожалению не распространены в других платформах, а при ручной работе они время экономят сильно
Просто ради интереса примеры можно?

>>Если коротко идея состоит в платформе и плагинах к ней для упрощения проектных дел, но без привязки к платформам чертежным. Они второстепенны в данном случае.
Про плагины я уже понял, но к сожалению пока это очень криво осуществимо. Плагины в зкад буду пилить только после появления аналога bpl в fpc. Пока делаю "подготовительную" работу в виде уменьшения внутренних зависимостей и переводу сущьностей на "динамическую" регистрацию - т.е. есть юнит в усес - есть фича. Надеюсь данный подход позволит в нужный момент безболезненно перекинуть в плагины весь опциональный функционал.
Если генерируемые чертежи не слишком сложные и "односторонние" - т.е. сгенерировал и забыл, то могу реализовать необходимый интерфейс из зкада наружу, только не OLE.
Можно заюзать "движек" внутри твоего приложения на подобии как это в simplecad, но геморойней, т.к. бывают глобальные внутренние изменения.
Я очень за на тему посотрудничать, т.к. необходим свежий взгляд (мозг :twisted: ) - мои трубочки давно привыкли и самые страшные извращения в коде кажутся безобидными и необходимыми
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение Sharfik » 20.03.2015 00:34:49

zub писал(а):Просто ради интереса примеры можно?

Блок http://eom.com.ua/index.php?topic=19.msg94756#msg94756
Блок динамический "лист чертежный". Изменение размеров листа, заполнение штампа индивидуально и при этом можно без болезни для нервов редактировать чертеж в нем. Когда надо из короткой схемы сделать удлиненный чертеж(у нас иногда листы А1 А0 могут быть длиной до 1,5-2м. в ширину) то перетаскивать по кусочкам штампы нарисованные линиями время занимает. Он единый и испортить, случайно незаметно что то задеть в нем сложно. Атрибуты многострочные позволяют вводить текст без захода в него. Засечки на полях есть, они тоже появились из экономии времени. Когда я последний раз запускал nanocad этот блок он частично мог редактировать, в автокаде любое изменение меньше минуты, если надо сразу несколько так же по имени атрибута быстро. Увы динамические блоки не все платформы переваривают. Мультивыноски, таблицы тоже мне очень нравится как сделаны в автокаде. Анотативность не смотрел, работает ли у тебя. Многие пользователи пользуются acad как чертилкой "кульманэлектронный", но он способен на большее. Если использовать как чертилку, то многие программы как замена подойдут, но если привык делать один план и просто оформлять его на листах участками через видовые экраны, то замену сложно найти.
Я тебе на почту скинул чертеж, он из dwg пересохранен в dxf. Zcad ошибку AV выдает, когда пробует его открыть.

На счет остального пока помолчу, надо свое докурить потом по факту смотреть.
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 791
Зарегистрирован: 20.07.2013 01:04:30

Re: САПР на Lazarus

Сообщение zub » 20.03.2015 01:33:20

С форматами привык _stretch`ить любой формат в любой, думаю это по сути нисколько не дольше чем динблоком. Вот только стреча в зкаде тоже нет и малой кровью не сделать, т.к. для такой команды нужна поддержка на стороне примитивов((
Динблоки в зкаде я даже не планирую, максимум возможно сделаю разные видимости (или как оно там называется) для устройств.
Автокадовские атрибуты не поддерживаются, вместо них похожий, но имхо более мощный механизм "переменных" с привязкой к примитивам и возможностью при отсутствии переменной у примитива запрашивать ее уроврем выше. В текстовых примитивах эти переменные компонуются как надо и "эмулируют" атрибут. Иерархичность переменных позволяет компоновать блок внутри блока и иметь единый набор переменных на верхнем уровне, либо разделять по уровням - как удобней в конкретной ситуации.

>>Многие пользователи пользуются acad как чертилкой "кульманэлектронный", но он способен на большее
Не соглашусь, голый автокад чудесно автоматизирует черчение, но проектирование почти не ускоряет(( Хочешь большего - велком в програмирование или за соответствующей вертикалкой. Программирование под автокад тоже песня - для чегото серъезного бутдь добр юзать arx sdk с привязкой к конкретной версии автокада и конкретной версии msvc (сейчас вроде на .net можно стало). В свое время если бы нашел нужные доки по arx зкада бы небыло))

По чертежам - этот баг недавно решен, отписался
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение Sharfik » 20.03.2015 16:11:27

Если бы я делал zcad с описанной выше политикой, то обращаясь к классической компоновке меню программ убрал бы нафиг из диалога Открыть/Сохранить пункты dwg/dxf. Поскольку полной поддержки нету, это опции программы доступные как Импорт/Экспорт и обычно их предусматривают в меню Файл подменю Импорт/Экспорт и там все подобные форматы, а в диалоге открыть/сохранить только свой формат хранения свои. Поскольку архитектура платформы у тебя там похожая, но все же своя. И набор эл-тов тоже свой.
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 791
Зарегистрирован: 20.07.2013 01:04:30

Re: САПР на Lazarus

Сообщение zub » 20.03.2015 17:49:07

Это еще пока больше эксперимент чем законченная программа, поэтому не до красоты
В импорте у меня сторонние форматы, их поддержка на основе fpvectorial - тоже толком нет никакой(( в меню открыть то что написано мной. dwg надо вообще просто убрать - он не стоит потраченого времени и довести его до ума своими силами не представляется возможным((
К интерфейсу у меня вообще отношение по остаточному принципу - работает - ну и ладно. Поэтому есть пункты которые пофакту давно выпилены или отвалилась работоспособность
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение zub » 31.03.2015 19:36:42

версия 1293
Теперь в инспекторе можно работать с множественным выделением примитивов.
Расширен набор свойств в инспекторе для примитивов - теперь это не только определенные в классе примитива, но можно подключать любые свойства вычисляемые налету. Например окружность имеет в классе определение только радиуса, но теперь в инспекторе для нее можно посмотреть и задать диаметр, площадь, длину окружности - радиус будет пересчитан в соответствии с введенным значением, также появились "суммарные" свойства - например общая длина всех выделеных примитивов, общее колво вершин.
Список свойств легко расширяем.
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение zub » 29.05.2015 01:30:37

версия 1375
Наконец допилил gdi рисовалку для отображения текстовых примитивов. В паре мест использовал жуткие костыли, но текст таки рисуется: shx - терпимо, ttf - медленно((. Opengl хавает треугольники глифов почти без тормозов, даже без всяких оптимизаций типа использования текстур, а для gdi это непосильная нагрузка(( - надо перерабатывать систему lod`ов текстовых примитивов.
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение скалогрыз » 30.05.2015 06:03:30

zub писал(а): а для gdi это непосильная нагрузка(( - надо перерабатывать систему lod`ов текстовых примитивов.

а не проще один раз отрисовать в битмап (покрупнее шрифтом) а потом масштабировать уже битмап? бестрее будет.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: САПР на Lazarus

Сообщение zub » 30.05.2015 12:58:00

Это только как вариант. Всетаки масштаб может меняться очень сильно - на крупном масштабе сомневаюсь что отмасштабируется красиво, на мелком сам текст ненужен - достаточно строки отрисовать линиями или "полосками". Кроме того при перспективных проекциях битмап придется пересоздавать при каждом движении камеры. Такой способ имхо больше для opengl подходит - там и фильтрация текстур и косоугольные\перспективные проекции будут работать без пересоздания текстуры.
Сейчас текст лодится примитивно - при определенном "мелком" масштабе вместо строк текста рисуются линии. Думаю этот момент надо усложнить и с уровня "строк" опуститься до уровня букв и слов.
update:
http://i71.fastpic.ru/big/2015/0530/a0/ ... dc76a0.png
картинка чтобы оценить размеры бедствия)) пунктиром видно треугольники из которых состоят глифы. при печати на бумаге размер данного текста будет 3.5мм. Возможно стоит попытаться использовать 2 набора триангулированных глифов. Первый как на картинке, второй низкой детализации - например без дуговых сегментов - для отрисовки "мелко" отмасштабированных текстов
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Пред.След.

Вернуться в Разработки на нашем сайте

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

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

Рейтинг@Mail.ru