Обводка элементов оборудования на плане
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Обводка элементов оборудования на плане

Обводка элементов оборудования на плане

Ответ
Поиск в этой теме
Непрочитано 24.05.2025, 11:03 #1
Обводка элементов оборудования на плане
baaba
 
архитектор
 
Москва
Регистрация: 07.07.2007
Сообщений: 664

Всем добрый день.

Я часто сталкиваюсь с такой проблемой, при проектировании производств, когда нужно работать с технологом, который, как правило, на стороне, когда приходит план, с расставленным оборудованием, которое выгружено из САПР с избыточной детализацией. Хочется его облегчить. Иногда такой план сильно затрудняет работу. Чистить приходится как правило руками. На этом форуме есть описание работы со множеством утилит, таких как bgtools, superflatten и прочее. Как правило это всё в теме "подоснова". Так вот подготовка подосновы, лично у меня, занимает много времени. Иногда я заменяю элементы оборудования и даже конвейеры, криволинейной формы - прямолинейными объёмными блоками, параллелепипедами, вытянутыми вдоль пути профилями и это иногда смотрится эффектно. Подходы от проекта к проекту - разные. Недавно, благодаря появлению возможности работы с LLM (чат-бот GPT и аналоги), мне удалось подготовить и протестировать на двух объектах программу, которая в среде Python 3, с помощью библиотек Ezdxf, OpenCV (машинное зрение), обводит элементы оборудования в отдельном слое. Я опубликовал код, https://github.com/dasfile/cluster_outline/tree/main, и делюсь так же с вами результатом. Если кому-то пригодиться я буду рад. Вложением я добавил скриншот до обводки и после. Сам код вложить не получается, по скольку это не .lsp. Но он доступен по ссылке.

Получившаяся программа не совсем то что мне хотелось. Так что если кто то может посоветовать что то лучше - буду очень признателен.

Мне нужен примерно такой алгоритм работы:
  • Ищет самый большой наружный контур в наборе пересекающихся линий и кривых.
  • Допускает, чтоб линии пересекались.
  • Все хвосты будут отрезаны.
  • Соединяет небольшие разрывы в контуре.
  • Подправит слегка покосившиеся горизонтали и вертикали.
  • Преобразует сплайны и эллипсы в линии и дуги с заданным допуском.
  • Чистит мусор, мелкие отрезки, точки, наслоения линий друг на друга или расположенные слишком близко (аналогично команде чистки Overkill).
  • Склеивает крошечные обрезки линий в полноценные линии и дуги.
  • Умеет заменять цепочки мелких линий дугами, и наоборот, слишком прямые дуги – прямыми линиями.
  • Объединяет линию, разбитую на сегменты в одну целую.
  • Тем самым оптимизирует количество сегментов.
  • Получившийся контур размещает в отдельном слое, не изменяя чертёж

Программой, которая работает по похожему принципу, является OSL: https://sites.google.com/site/avcprg/osl

Но к сожалению она не работает с блоками и захлёбывается на моих объёмах (перегруженные файлы DXF, весом по 50 Мб).

Может кто то знает решения, основанные на алгоритме "island detecting"? Возможно как раз это мой случай? Вопрос старожилам.

Миниатюры
Нажмите на изображение для увеличения
Название: after.png
Просмотров: 91
Размер:	12.1 Кб
ID:	268230  Нажмите на изображение для увеличения
Название: before.png
Просмотров: 92
Размер:	37.4 Кб
ID:	268231  


Последний раз редактировалось baaba, 24.05.2025 в 11:19.
Просмотров: 532
 
Непрочитано 25.05.2025, 13:57
#2
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,169


https://totalboundary.com/

Цитата:
Сообщение от baaba Посмотреть сообщение
Сам код вложить не получается, по скольку это не .lsp
Зато можно заархивировать и выложить zip

Последний раз редактировалось kp+, 25.05.2025 в 14:07.
kp+ вне форума  
 
Непрочитано 25.05.2025, 16:11
#3
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


Цитата:
Зато можно заархивировать и выложить zip
github лучше
trir вне форума  
 
Непрочитано 26.05.2025, 06:14
#4
gumel


 
Регистрация: 20.04.2011
Сообщений: 480


Посмотрите, как реализована подобная задача у Lee Mac
gumel вне форума  
 
Непрочитано 26.05.2025, 11:59
#5
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,169


Из описания на сайте Lee Mac:
Цитата:
Since the construction of the outline is performed by the AutoCAD BOUNDARY command...
Если чертеж достаточно большой и сложный, стандартная boundary, к сожалению, вешается
kp+ вне форума  
 
Автор темы   Непрочитано 26.05.2025, 14:26
#6
baaba

архитектор
 
Регистрация: 07.07.2007
Москва
Сообщений: 664
<phrase 1= Отправить сообщение для baaba с помощью Skype™


Спасибо всем ответившим. Нужно всё мне проанализировать. За Lee Mac - отдельное спасибо gumel, kp+! До кучи нашёл похожую тему https://forum.dwg.ru/showthread.php?t=61043. Наверное там надо было писать.

----- добавлено через ~20 мин. -----
Цитата:
Сообщение от kp+ Посмотреть сообщение
То что я искал. Единственное - дороговато для меня. Думаю.

----- добавлено через ~21 мин. -----
Цитата:
Сообщение от gumel Посмотреть сообщение
Посмотрите, как реализована подобная задача у Lee Mac
То что надо. Это примерно то что я искал. Единственное - хромает производительность на моих замусоренных чертежах.
baaba вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Обводка элементов оборудования на плане



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как ускорить создание однотипных стальных конструктивных элементов в SCAD? serb194584 SCAD 14 22.02.2023 11:20
Назначение коэффициента расчетных длин конструктивных элементов и групп конструктивных элементов в SCAD Sanshum SCAD 1 06.10.2020 15:34
Несколько спецификаций оборудования, изделий и материалов к одному комплекту чертежей oksana_fima Организация проектирования и оформление документации 4 23.11.2018 11:10
Неправдоподобно маленькие сечения элементов фермы при подборе в SCAD Олег 3108 SCAD 1 01.10.2012 13:25
Lisp: Список элементов в слоях ALFMario LISP 4 29.04.2008 17:26