САПР на Lazarus

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

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

Re: САПР на Lazarus

Сообщение zub » 20.11.2016 19:16:34

>>Гм, а почему по габариту? Можно ведь классифицировать:
По габариту быстро и универсально.
Делать не по габариту - всеравно что реализовывать разрезание примитива имхо

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

Re: САПР на Lazarus

Сообщение Mikhail » 20.11.2016 19:28:56

zub писал(а):Делать не по габариту - всеравно что реализовывать разрезание примитива имхо

Да нет резать сложнее. Хотя собственно резать не сложно, сложно поддерживать все это.

Добавлено спустя 43 секунды:
Кстати, а что за DXF примитивы?
Mikhail
энтузиаст
 
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Re: САПР на Lazarus

Сообщение zub » 20.11.2016 20:32:23

Кстати, а что за DXF примитивы?

https://ru.wikipedia.org/wiki/DXF
http://www.autodesk.com/techpubs/autoca ... ection.htm

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

Re: САПР на Lazarus

Сообщение zub » 22.11.2016 03:56:43

Чуток разделил лог, навскидку "выделил" такие "модули"
DEFAULT - сообщения зкада
ZSCRIPT - сообщения парсерера pas скриптов
TRANSLATOR - сообщения переводчика
FILEOPS - сообщения решателя имен файлов
SHX - сообщения загрузчика shx шрифтов хидер и перечень форм
SHX_CONTENTS - сообщения загрузчика shx шрифтов содержимое форм
DXF_CONTENTS - сообщения загрузчика dxf
FINALIZATION_TYPES - финализация структур данных при закрытии программы
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение zub » 29.11.2016 23:42:17

Давно зудит сделать несколько навигаторов по устройствам чертеже. Пока требования - древовидная структура, текст+картинки, драгидроп, контекстное меню.
Думаю что взять за основу: обычный TTreeView - вроде как как раз то что надо или сразу http://sourceforge.net/p/lazarus-ccr/sv ... new/trunk/ - мало ли куда заведут аппетиты.
Потестил последний - не так уж и "системоно" выглядит, особенно в линуксе, сразу напоролся на грабли с выделением если скролбар сдвинут...
Кароче раздумья. Картинку того что предполагается сделать прилагаю
Вложения
epl.PNG
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение olegy123 » 30.11.2016 09:53:53

советую tvirtualtreeview от создателя GLScene.
http://www.soft-gems.net/index.php/cont ... l-treeview
ну и порт под лазарус http://wiki.lazarus.freepascal.org/VirtualTreeview
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: САПР на Lazarus

Сообщение zub » 30.11.2016 11:11:36

olegy123
Я его и имею ввиду. другой репозиторий просто.
Ты в линуксе его использовал?
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение olegy123 » 01.12.2016 00:15:39

нет, на лазарусе еще не использовал, на Delphi активно.
virtualtreeview гибокий в плане тюнинга.. очень много опций. Возможно перекрывать методы отрисовки ячейки и handleColums..
Вот галерея
http://www.soft-gems.net/index.php/cont ... ew-gallery

LayMan - AutoCAD Layer Organizer:
Изображение

Добавлено спустя 19 минут 43 секунды:
zub писал(а):Потестил последний - не так уж и "системоно" выглядит, особенно в линуксе, сразу напоролся на грабли с выделением если скролбар сдвинут...
Кароче раздумья. Картинку того что предполагается сделать прилагаю

ой, нужно "вспомнить все".. заново ставить и кликать.. давно это было.
TVirtualTreeView работает с указателями, а не с значением.. возможно нужно явно указывать какие поля подлежат срванению.. посмотри на OnCompareNodes

посмотри на RootNode - он должен иметь либо Nil либо значение.. соответсвенно у первых потомков parent должен иметь RootNode
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: САПР на Lazarus

Сообщение zub » 01.12.2016 08:33:18

Я глядел демку Advanced из "коробки" VT-new.
http://imgur.com/a/JHQDP - окно зкада с LCLным treeview, демка VT - наиболее похожая на то как мне надо, KInfoCenter - для сравнения как выглядят кутешние "системные" деревья
Собственно надо сказать что и в LCLный treeview выглядит далеко не системно((

Добавлено спустя 20 часов:
Взял последний VT из https://github.com/blikblum/VirtualTreeView-Lazarus.git ошибка выделения там пофикшена
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение olegy123 » 09.12.2016 22:56:01

zub писал(а):http://imgur.com/a/JHQDP - окно зкада с LCLным treeview, демка VT - наиболее похожая на то как мне надо, KInfoCenter - для сравнения как выглядят кутешние "системные" деревья
Собственно надо сказать что и в LCLный treeview выглядит далеко не системно((

Дефолтно он только системно выглядит..
Там каждый calls можно по своему раскрасить..

Изображение

Изображение


у меня вопрос, можно ли матрицу 4х4 (array [0..3,0..3] of float) в
glMultMatrixf вставить?
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: САПР на Lazarus

Сообщение zub » 10.12.2016 07:47:53

да, если float одинарной точности. Еще наверно массив лучше объявить как packed
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение zub » 24.02.2017 13:36:01

Перевел встроеный скриптовый язык на нативные паскалевские типы LongInt, LongWord, SmallInt, Byte, ShortInt, Word, Boolean, Pointer, QWord, String, AnsiString, Double, Single вместо их суррогатов вида GDBInteger и подобных.
Теперь в инспекторе можно показывать любые данные, а не только основаные на GDB* типах
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение olegy123 » 24.02.2017 17:49:52

Советую добавить UUID.
У меня каждый элемент создает uuid. Проще сериализовать - хоть файлово.. хоть через SQL.
Думал как упаковывать их: либо через JSON или XML. Решил что проще через XML - это промышленный стандарт.
А для JSON в с++ нет либлов, все самоделки.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: САПР на Lazarus

Сообщение zub » 24.02.2017 21:52:53

Имеется ввиду отображение в инспекторе данных типа record a:integer;b:double end; как "напрямую" из программы, так и в виде скриптов. uuid пока мне без надобности, но добавить не проблема.
Также подобный "скрипт" используется для привязки данных к примитивам. например на скриншоте к примитиву привязан скрипт содержащий 2 переменные доступные в инспекторе рядом с геометрическими свойствами примитива. Также можно пользовать рекорды и указатели организовывая сложные ветвистые структуры. Сериализуется-десериализыется это всё на паскалеподобном языке, как на скриншоте
Вложения
vars.PNG
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение zub » 14.03.2017 22:07:18

Мелочь, а приятно.
Когда то давно предусмотрел возможность привязки только одного "быстрого" редактора к типу данных в инспекторе ("кнопочка" справа). Сейчас исправил - "кнопок" можно привязать хоть сколько
Вложения
multiplebuttons.png
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Пред.След.

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

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

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

Рейтинг@Mail.ru