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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Востановить взорваные блоки. Создать блоки из одинаковых груп объектов. Задача обратная взрыву блока.

Востановить взорваные блоки. Создать блоки из одинаковых груп объектов. Задача обратная взрыву блока.

Ответ
Поиск в этой теме
Непрочитано 19.03.2020, 14:03 #1
Востановить взорваные блоки. Создать блоки из одинаковых груп объектов. Задача обратная взрыву блока.
doslidnik
 
Регистрация: 14.11.2011
Сообщений: 21

Востановить взорваные расчлененные блоки. Создать блоки из одинаковых груп объектов. Задача обратная взрыву расчлененению блока.

Поиск по форуму ничего не дал.
Стоит задача.
Создать блок, блоки по аналогу, по аналогичным одинаковым с выбраными объектами. Востановить удаленные блоки из одинаковых, похожих объектов.

Возможно кто-то встречалься с функционалом. Например кто-то взорвал блоки и потом выделив повторяющиеся объекты команда все их преобразавала в блоки?

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

Как преобразовать все такие группы объектов в блоки?

Последний раз редактировалось doslidnik, 19.03.2020 в 15:23.
Просмотров: 5832
 
Непрочитано 19.03.2020, 14:33
1 | 1 #2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от doslidnik Посмотреть сообщение
Как преобразовать все такие группы объектов в блоки?
Очевидный ответ: или руками или с помощью программы.
И раз уж тема создана в разделе форума, который посвящен программированию, то: Хендлы этих Ваших кружков должны идти подряд, если это действительно взорванные блоки, т.е. выбрав все эти кружки и отсортировав их по возрастанию хендла легко воссоздать взорванные блоки. В чем затруднение не вижу...
Boxa вне форума  
 
Автор темы   Непрочитано 19.03.2020, 14:40
#3
doslidnik


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


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

По идее должен быть готовый функционал - выделил повторяющиеся простые групы объектов на чертеже, а тебе команда нашла их все и содала из них блоки.
doslidnik вне форума  
 
Непрочитано 19.03.2020, 14:43
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Boxa, сначала тема была вообще в "Готовых программах".

Цитата:
Сообщение от doslidnik Посмотреть сообщение
Поиск по форуму ничего не дал.
Ой ли? https://dwg.ru/cse?q=%D0%B2%D0%BE%D1...BE%D0%BA%D0%B8
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 19.03.2020, 15:08
#5
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от doslidnik Посмотреть сообщение
По идее должен быть готовый функционал - выделил повторяющиеся простые групы объектов на чертеже, а тебе команда нашла их все и содала из них блоки.
Кому должен?
А если серьезно, то по идеи,у заказчика и исполнителя должны быть нормальные отношения, при которых вот такие чертежи не передаются, а заказчик не выбирает для внесения изменений другого исполнителя...
Boxa вне форума  
 
Автор темы   Непрочитано 19.03.2020, 15:15
#6
doslidnik


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
https://dwg.ru/cse?q=%D0%B2%D0%BE%D1...BE%D0%BA%D0%B8
У меня линк не работает. Именно такой поиск через гугл.

По поиску от форума ничего не нашел. Вьідало 2 сртраницьі. https://forum.dwg.ru/search.php?searchid=12624832
doslidnik вне форума  
 
Непрочитано 19.03.2020, 15:16
#7
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


doslidnik, по моей ссылке первая же строчка выводит, к примеру, на https://forum.dwg.ru/showthread.php?t=141680
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.03.2020, 15:16
#8
doslidnik


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
Кому должен?
Задача тривиальная и старая, от того такое предположение.
doslidnik вне форума  
 
Непрочитано 19.03.2020, 15:17
#9
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Она далеко не тривиальная.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.03.2020, 15:20
#10
doslidnik


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


Таким макаром смог повторить ваш результат поиска
site:dwg.ru восстановить блоки (в строке google chrome поиска)

Последний раз редактировалось doslidnik, 19.03.2020 в 15:26.
doslidnik вне форума  
 
Непрочитано 19.03.2020, 15:34
#11
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,492


Задача в общем случае решения не имеет, так эти три круга могут быть замкнуты в равносторонний треугольник (на каждой стороне по три круга, в углах круги - общие), или может быть 10 кругов в линию на одинаковом расстоянии - как их бить на блоки будет непонятно.
Поэтому, стандартного решения скорее всего нет.
nickname2019 вне форума  
 
Автор темы   Непрочитано 19.03.2020, 15:41
#12
doslidnik


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


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Задача в общем случае решения не имеет
Алгоритм такой.
1)Вьіделил группу повторяющихся объектов из которьіх нужно получить один блок (наши три кружочка подряд мз примера)
2)Команда ищет первьій объект из группьі по чертежу и проверяет на совпадение по (длине, , площади, периметру, цвету, радиусу и т.д.) - находит точно такой объект со смещением без разворота.
3)Относительного найденого объекта ищет со смещением заданньім при вьіделении в пункте 1 другие объектьі и также проверяет на совпадение
4) пункт 3 повторяем по количеству минус 1 вьідельньіх объектов в пункте 1
5)создаем блоки в местах найденньіх в пункте 2


Ограничиваем работу командьі на линии, полилинии, точке, круге.
doslidnik вне форума  
 
Непрочитано 19.03.2020, 15:45
| 1 #13
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от doslidnik Посмотреть сообщение
Алгоритм такой.
1)Вьіделил группу повторяющихся объектов
2)Команда ищет первьій объект из группьі по чертежу и проверяет на совпадение по (длине, цвету, радиусу и т.д.) - находит точно такой объект со смещением без разворота.
3)Относительного найденого объекта ищет со смещением заданньім при вьіделении в пункте 1 другие объектьі и также проверяет на совпадение
4) пункт 3 повторяем по количеству минус 1 вьідельньіх объектов в пункте 1
5)создаем блоки в местах найденньіх в пункте 2
Отлично. Вот видите, наши подсказки Вам не нужны. Осталось только реализовать. Дерзайте.
Boxa вне форума  
 
Автор темы   Непрочитано 19.03.2020, 15:47
#14
doslidnik


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
Дерзайте.
Осталось освоить лисп, ранее все мои запросьі к автоматизации автокада бьіли уже кем то решеньі.
doslidnik вне форума  
 
Непрочитано 19.03.2020, 15:49
#15
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от doslidnik Посмотреть сообщение
Алгоритм такой.
1)Вьіделил группу повторяющихся объектов
2)Команда ищет первьій объект из группьі по чертежу и проверяет на совпадение по (длине, цвету, радиусу и т.д.) - находит точно такой объект со смещением без разворота.
3)Относительного найденого объекта ищет со смещением заданньім при вьіделении в пункте 1 другие объектьі и также проверяет на совпадение
4) пункт 3 повторяем по количеству минус 1 вьідельньіх объектов в пункте 1
5)создаем блоки в местах найденньіх в пункте 2
Ну полдела (алгоритм) вы сделали - осталось это все в виде программы реализовать.

Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Задача в общем случае решения не имеет, так эти три круга могут быть замкнуты в равносторонний треугольник (на каждой стороне по три круга, в углах круги - общие), или может быть 10 кругов в линию на одинаковом расстоянии - как их бить на блоки будет непонятно.
Поэтому, стандартного решения скорее всего нет.
ну если подключить ИИ..) А так под каждый вид блоков свое или очень развитой интерфейс, через 5 мин работы с которым пользователь скажет - а ну эту программу нафиг, быстрее сам блоков нашлепаю поверх, а потом удалю быстрым выбором старое...
Сергей812 вне форума  
 
Непрочитано 19.03.2020, 16:12
#16
Семёныч


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


Цитата:
Сообщение от doslidnik Посмотреть сообщение
Алгоритм такой.
Если абстрагироваться от трудностей технической реализации, то вообще плёвая задача.
Цитата:
Сообщение от doslidnik Посмотреть сообщение
Осталось освоить лисп
Ну, и осваивай, нечего мозги пудрить занятым людЯм.
Семёныч вне форума  
 
Непрочитано 19.03.2020, 16:29
#17
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,988


FRTO?
crosandr вне форума  
 
Автор темы   Непрочитано 19.03.2020, 16:47
#18
doslidnik


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


Цитата:
Сообщение от crosandr Посмотреть сообщение
FRTO?
Нет. Тут один блок меняем на другой
doslidnik вне форума  
 
Непрочитано 19.03.2020, 17:57
#19
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,988


Если блоки расчленили, то появились одинаковые объекты, которые можно заменить на вновь созданный блок. Оставшиеся лишние объекты вычистить руками или с применением средств малой механизации. Может и коряво, но думаю, что сработает
crosandr вне форума  
 
Непрочитано 19.03.2020, 19:08
#20
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Цитата:
Сообщение от crosandr Посмотреть сообщение
появились одинаковые объекты
Кто сказал? Во вложении - пример (и это еще все в одной системе координат!). Слева блоки, справа - они же, но разбитые. Как восстанавливать будем-с?
Вложения
Тип файла: dwg
DWG 2013
ExplodedBlocks.dwg (33.9 Кб, 8 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Востановить взорваные блоки. Создать блоки из одинаковых груп объектов. Задача обратная взрыву блока.

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать набор из текстовых объектов по части содержимого? SilvioManuel AutoCAD 18 27.01.2011 15:05
поворот блока в котором два из трёх объектов поворачиваются в другую сторону. ТР5 Программирование 8 28.05.2010 23:14
AutoCAD 2008, программное удаление объектов RTEXT из состава блока Кулик Алексей aka kpblc Программирование 3 28.04.2009 08:48
Выделение одинаковых объектов. Timofeeve AutoCAD 11 06.03.2009 09:59
Вопросы про штриховку, отображение объектов и дин. блоки zenon AutoCAD 9 19.05.2006 14:51