Страница 56 из 57

Re: САПР на Lazarus

СообщениеДобавлено: 05.02.2022 09:03:33
zub
Да. но тут есть 2 сложных момента:
1 - подрезка: границы вивпорта не прямоугольные и в общем случае даже не выпуклые. ужас, там даже дуги могут быть((
2 - вивпортов может быть много, мои примитивы пока хранят инфу для отображения только в одном вивпорте (хотя данные примитива отделены от данных для рендера, но пока 1 на 1)

Вообще, проблемных мест очень много. от сложных в движке, до простых в интерфейсе((

Re: САПР на Lazarus

СообщениеДобавлено: 05.02.2022 16:52:01
Sharfik
Я тут ноутбук и ПК стационарный мучал на вопрос можно ли на них работать в AutoCAD с интегрированной видеокартой. Есть условно нагруженные чертежи, много листов и по 2-3 видовых экрана. При переключении между листами в первый раз затык секунды 3-4, а потом переключаются быстро. Похоже эталонный CAD все же и сам не обрабатывает такие вещи на лету, а что то кеширует в оперативку на время работы.

ПС: В принципе, можно и не делать, если ты видишь свою программу с несколько другим уклоном. Но тогда надо сделать какое то решение, на основе блоков, чтобы печатать было легко. Выделять каждый лист в модели и отправлять на печать это каторга. Чем программа проще у правлении, тем больше людей ее любят.

Re: САПР на Lazarus

СообщениеДобавлено: 05.02.2022 18:51:10
zub
Печать по блокам листов в планах. думаю она получится не хуже печати листов - сортировка по номерам, автподбор формата... всё красиво, но пока в голове))

Re: САПР на Lazarus

СообщениеДобавлено: 05.02.2022 20:20:07
Sharfik
zub писал(а):Печать по блокам листов в планах. думаю она получится не хуже печати листов - сортировка по номерам, автподбор формата... всё красиво, но пока в голове))

Замучишься. Может так:
1. При добавлении/удалении блока с маркером "я лист" в отдельной таблице добавляется/удаляется соответствующая запись.
2. Соответственно зная блок, знаем область печати.
3. Заходим в "Редактор печати листов" и настраиваем параметры печати листа. Некоторые люди вместо того чтобы масштабировать чертеж, масштабируют сами рамки листов. Поэтому функция вписать, преобразования цветов, должны настраиваться. Подбора листа уже ручная работа, которая настраивается один раз человеком.

**В случае моей компании у нас плотер с двумя руломнами 594, 841. Длина любая. В стандарте компании прописали, что листы либо типовые А4,А3,А2,А1,А0, либо листы у которых одна сторона под ширину рулон, а вторая кратная 100мм. Автоматизировать такое не выйдет. Плотер каждый раз настраивать под разные размеры листов противная работа, так же как и стоять обрезать листы на гильятине. Проще было забить типовые размеры и плотер сам режет.

Re: САПР на Lazarus

СообщениеДобавлено: 05.02.2022 22:04:54
veb86
Sharfik писал(а):
zub писал(а):Печать по блокам листов в планах. думаю она получится не хуже печати листов - сортировка по номерам, автподбор формата... всё красиво, но пока в голове))

Замучишься. Может так:
1. При добавлении/удалении блока с маркером "я лист" в отдельной таблице добавляется/удаляется соответствующая запись.
2. Соответственно зная блок, знаем область печати.
3. Заходим в "Редактор печати листов" и настраиваем параметры печати листа. Некоторые люди вместо того чтобы масштабировать чертеж, масштабируют сами рамки листов. Поэтому функция вписать, преобразования цветов, должны настраиваться. Подбора листа уже ручная работа, которая настраивается один раз человеком.

**В случае моей компании у нас плотер с двумя руломнами 594, 841. Длина любая. В стандарте компании прописали, что листы либо типовые А4,А3,А2,А1,А0, либо листы у которых одна сторона под ширину рулон, а вторая кратная 100мм. Автоматизировать такое не выйдет. Плотер каждый раз настраивать под разные размеры листов противная работа, так же как и стоять обрезать листы на гильятине. Проще было забить типовые размеры и плотер сам режет.


Все уже готово))) Я проблему печати из модели листа решал 3и раза в автокаде. И сейчас нашел идеальный вариант. Как вы и написали, рамка в виде блока, оказалось все просто до безобразия. Ловит любые масштабы, потому что ориентируется на масштаб в настройках блока. И сканирует штампы, которые тоже блоки и из них получаем номер листа и шифр. Сейчас реализовано для автокада, в планах переписать на Zcad, но конечно более аккуратно, со списком, с выбором красивым.

Подробно о моем подходе печати листов из модели, и сам код программы для автокада смотрите на гитхаб https://github.com/veb86/BTOOLSPLOT
PS. Самый противный баг в программе "autocad не отпускает распечатанные листы" я решил только вчера, причем чисто случайно :) Раз такой праздник думаю, что 2й баг тоже решу как нибудь, пока информацию поглядываю)))

Re: САПР на Lazarus

СообщениеДобавлено: 06.02.2022 05:01:00
Sharfik
veb86 не хочу обидеть, но в AutoCAD из коробки все сделано так, что там ничего лишнего не надо. Все печатается быстро и легко, когда человек не выпендривается, а оформляет чертежи в листах. А блок рамки листа должен быть максимально простым, чтобы им могли пользоваться все. Вашим уже все пользователи LT не могу, добавить поля - еще меньше. Динамический блок с атрибутами минимально достаточная вещь.
*Игрался я с lisp, VBA, они настолько проблемные и узко применимые, что бросил и не жалею. Прекрасно сейчас себя чувствую без всего этого, просто пользуясь чистыми функциями ACAD.

Re: САПР на Lazarus

СообщениеДобавлено: 06.02.2022 11:10:15
veb86
Sharfik писал(а):veb86 не хочу обидеть, но в AutoCAD из коробки все сделано так, что там ничего лишнего не надо. Все печатается быстро и легко, когда человек не выпендривается, а оформляет чертежи в листах. А блок рамки листа должен быть максимально простым, чтобы им могли пользоваться все. Вашим уже все пользователи LT не могу, добавить поля - еще меньше. Динамический блок с атрибутами минимально достаточная вещь.
*Игрался я с lisp, VBA, они настолько проблемные и узко применимые, что бросил и не жалею. Прекрасно сейчас себя чувствую без всего этого, просто пользуясь чистыми функциями ACAD.


Я пробовал работать по листам, для меня это ужасно. Вот у меня 50 листов(наверное я не знаю какую то фишку как люди работают), и как в них работать, это надо в голове помнить на каком номере листа что расположено, для меня это просто ужасно. на листах располагаю только то что надо резать. Один раз меня просили доделать за другим чертежи, они были по резаные по листам их было штук 40, я из мучился. Как я понимаю остальные работают в модели, а потом лиспом помещают все листы по листам, я не понял фишку, зачем мне разбивать по листам, если я могу сразу отправить на печать. Штатные механизмы в Автокад не подошли для мне, хотя я вроде бы не выпендриваюсь. Модуль делал в первую очередь не для всех, а для себя и просто выложил в открытый доступ, что бы другие если надо чем то воспользовались. Динамический блок с атрибутами классная штука, я с начало думал так сделать, а потом еще подумал. Часть работы я черчу в ZCAD, ZCAD не работает с динблоками, тогда в чем прикол делать инструмент так как надо другим, а не тебе. Доработать механизм печати, что бы он понимал дин блоки не сложно, обязательно кто то разберется и сделает))))
А тут обычные блоки, которые будут работать во всех кадах, и логика помещенная в имя блока, что может быть проще :)

Re: САПР на Lazarus

СообщениеДобавлено: 08.06.2022 01:19:23
zub
Появилась начальная поддержка штриховок
https://imgur.com/a/OXpmGua

Re: САПР на Lazarus

СообщениеДобавлено: 09.06.2022 02:04:49
Sharfik
veb86 писал(а):Я пробовал работать по листам, для меня это ужасно.

Я пробовал, и я разобрался - не одно и тоже. Чтобы работать с листами надо понимать программу, а не жать на все подряд и надеяться что будет работать. Из варианта делать один и тот же план два раза или делать его один раз, и просто настроить разный масштаб на листе я выбиру второе. Терпеть не могу в пустую тратить время.

zub писал(а):Появилась начальная поддержка штриховок
https://imgur.com/a/OXpmGua

А раньше не было?)) Смотрится классно, поздравляю)

Re: САПР на Lazarus

СообщениеДобавлено: 09.06.2022 02:15:28
zub
Не было. несколько лет откладывал, думал сложно)) За пару вечеров родил))
Таже песня с дуговыми сегментами полилиний(( надо таки взяться

Также подумываю прикрутить LibreDWG. Никто не пользовался?

Re: САПР на Lazarus

СообщениеДобавлено: 11.06.2022 03:59:48
Sharfik
zub писал(а):Также подумываю прикрутить LibreDWG. Никто не пользовался?

Погуглил сейчас и понял, что ничего не понял что там с поддержкой и развитием. Вроде какие то проблемы были с правами. Но попутно наткнулся на конвертер ODA.
А почему бы просто не сделать в интерфейсе кнопку "Открыть/Сохранить DWG..." и по нажатию выдавать предложение пользователю установить TeighaFileConverter https://www.opendesign.com/guestfiles/TeighaFileConverter ? Поддерживает он больше чем сам напрограммируешь, а если он установлен, то можно это проверить и автоматом запускать его по нажатию кнопки.

Код: Выделить всё
"C:\Program Files\ODA\ODAFileConverter 23.4.0\ODAFileConverter.exe" "E:\Test\1" "E:\Test\2" "ACAD2010" "DWG" "0" "0" "*.dxf"
"C:\Program Files\ODA\ODAFileConverter 23.4.0\ODAFileConverter.exe" "E:\Test\1" "E:\Test\2" "ACAD2000" "DXF" "0" "0" "*.dwg"
**Если неправильно ввести командную строку вылетит справка по командам.

Re: САПР на Lazarus

СообщениеДобавлено: 11.06.2022 04:26:58
zub
поддержка там не особо
At the moment our decoder (i.e. reader) is done, just some very advanced R2010+ and pre-R13 entities fail to read and are skipped over. The writer is good enough for R2000


конвертит сторонними тузлами на уровне файлов не хотелось бы. имхо лучшепусть будет сторонняя, но внутри. пока пытаюсь "поиграться" https://github.com/zamtmn/fpdwg

Re: САПР на Lazarus

СообщениеДобавлено: 30.09.2022 23:44:43
zub
Релиз 0.9.9.0
Добавлено:
-штриховки
-новый userguide
-html помощь
-зачатки dwg

Re: САПР на Lazarus

СообщениеДобавлено: 01.04.2023 01:24:00
zub
Релиз 0.9.11.0
-тёмная тема для windows
-расширение extdrSmartTextEnt для текстовых примитивов внутри устройств

Re: САПР на Lazarus

СообщениеДобавлено: 15.10.2023 14:40:06
zub
Появились расширения
extdrSCHConnection - соединительные линии
extdrSCHConnector - коннекторы
и соответственно попытки в рисование схем принципиальных https://www.youtube.com/watch?v=y9K0Jgev9YI