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

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

объединение замкнутых контуров

Ответ
Поиск в этой теме
Непрочитано 21.09.2010, 15:23 #1
объединение замкнутых контуров
АлексЮстасу
 
топограф, технолог
 
Москва
Регистрация: 24.05.2009
Сообщений: 3,031

Есть какой-нибудь инструмент для объединения замкнутых контуров, имеющих общие границы?
Допустим, есть два замкнутых контура с общей границей. Нужно сделать один - общий.
Вручную долго и кропотливо: 1. резать каждый из них (каждую линию общей границы нужно резать по два раза), 2. удалять останки общей границы, 3. сшивать в единый контур.
Просмотров: 11190
 
Непрочитано 21.09.2010, 15:24
#2
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


1. _region
2. _union
3. _boundary (если потребуется)
Хмурый вне форума  
 
Автор темы   Непрочитано 21.09.2010, 15:31
#3
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от Хмурый Посмотреть сообщение
1. _region
2. _union
3. _boundary (если потребуется)
1. _region
2. _union
- шикарно!
А обратно в замкнутые полилинии регионы преобразовать можно?
АлексЮстасу вне форума  
 
Непрочитано 21.09.2010, 15:33
#4
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


АлексЮстасу, так, ведь _boundary. Область потом можно удалить.
Хмурый вне форума  
 
Автор темы   Непрочитано 21.09.2010, 15:48
#5
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от Хмурый Посмотреть сообщение
АлексЮстасу, так, ведь _boundary. Область потом можно удалить.
Если есть команда создать из полилиний регионы, то неужто нет команды обратной - из регионов делать полилинии?

_boundary использовать не могу - она гарантированно испортит сложные и большие полигоны (см. http://forum.dwg.ru/showthread.php?t=49256).
Да и не очень это удобно - сначала создать границу, потом из под нее выуживать регионы.
Еще, конечно, неудобно, что теряются свойства исходных полилиний при создании регионов.
АлексЮстасу вне форума  
 
Непрочитано 21.09.2010, 15:57
#6
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Если есть команда создать из полилиний регионы, то неужто нет команды обратной - из регионов делать полилинии?

_boundary использовать не могу - она гарантированно испортит сложные и большие полигоны (см. http://forum.dwg.ru/showthread.php?t=49256).
Да и не очень это удобно - сначала создать границу, потом из под нее выуживать регионы.
Еще, конечно, неудобно, что теряются свойства исходных полилиний при создании регионов.
команды обратной _region, кроме _boundary, не знаю. Может программисты что-нибудь могут сказать.
Хмурый вне форума  
 
Непрочитано 21.09.2010, 16:13
#7
twilight


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


Цитата:
Сообщение от Хмурый Посмотреть сообщение
команды обратной _region, кроме _boundary, не знаю. Может программисты что-нибудь могут сказать.
_explode _mpedit join
twilight вне форума  
 
Непрочитано 21.09.2010, 16:25
#8
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


twilight, так расчленять область я не хотел. При выборе линий для объединения могут быть некоторые проблемы
Хмурый вне форума  
 
Автор темы   Непрочитано 21.09.2010, 16:35
#9
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от Хмурый Посмотреть сообщение
twilight, так расчленять область я не хотел. При выборе линий для объединения могут быть некоторые проблемы
_boundary работает (если работает) с искажением контуров.
Объединять после взрывания - замучаешься искать фрагменты.
А потом еще возвращать необходимые свойства - слои, цвета и т.п.
Тяжеловато в сумме.
Начиная с применения 1. _region, 2. _union, в сумме не хуже ли получится, чем вручную порезать, поудалять общие границы, а потом вручную же объединить?
АлексЮстасу вне форума  
 
Непрочитано 21.09.2010, 19:02
#10
twilight


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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
_boundary работает (если работает) с искажением контуров.
Объединять после взрывания - замучаешься искать фрагменты.
А потом еще возвращать необходимые свойства - слои, цвета и т.п.
Тяжеловато в сумме.
Начиная с применения 1. _region, 2. _union, в сумме не хуже ли получится, чем вручную порезать, поудалять общие границы, а потом вручную же объединить?
Фрагменты все на том же слое где был _region, чего их искать. _region будет создан на текущем слое. Все контуры все равно на одном слое (иначе как вы их объедините). Перекинуть контуры на новый слой и на нем объединять.
Свойства полилинии вы потеряете еще в момент создания области а не при взрывании. Часть свойств (например разный цвет) - даже при ручном объединнии.

Хуже или нет зависит от объема работы. Если у вас много этих контуров то я бы ручками постарался не делать. Хотя конечно "нет ничего невозможного, если делать это будет кто-то другой".
twilight вне форума  
 
Непрочитано 21.09.2010, 19:10
#11
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


АлексЮстасу, посмотри тему Region -> closed polyline
Хмурый вне форума  
 
Автор темы   Непрочитано 21.09.2010, 19:19
#12
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от twilight Посмотреть сообщение
Фрагменты все на том же слое где был _region, чего их искать. _region будет создан на текущем слое. Все контуры все равно на одном слое (иначе как вы их объедините). Перекинуть контуры на новый слой и на нем объединять.
Свойства полилинии вы потеряете еще в момент создания области а не при взрывании. Часть свойств (например разный цвет) - даже при ручном объединнии.

Хуже или нет зависит от объема работы. Если у вас много этих контуров то я бы ручками постарался не делать. Хотя конечно "нет ничего невозможного, если делать это будет кто-то другой".
Фрагменты искать того, что их (а разобьются регионы на отрезки) будет много-много, и в некоторых случаях они будут оч. мелкими.
Не все исходные контуры будут на одном слое. Таких слоев у меня 15-ть. Объединять - да, только одинослойные контуры, но полигоны идут вперемежку. Т.е. замучаешься включать-выключать нужные слои.
И контуров много... Хороших, и, главное, разных
АлексЮстасу вне форума  
 
Непрочитано 21.09.2010, 19:19
#13
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


АлексЮстасу, см. #11
Хмурый вне форума  
 
Непрочитано 21.09.2010, 19:24
#14
Startrek

AutoCAD/AutoLISP
 
Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133


А почему не использовать опять BOUNDARY кликни внутри региона и получится новая BOUNDARY-PLINE
__________________
Сквозь тернии к звездам.... и обратно :yes:
Startrek вне форума  
 
Непрочитано 21.09.2010, 19:26
#15
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


Startrek, BOUNDARY не всегда корректно работает со сложными контурами. В ней где-то зашита точность определения контура. И, бывает, она гадит.
Так что, лучший вариант решения проблемы- программный. Fantomas написал программу, которая расчленяя область с запоминанием объектов, из которых она состояла, и из них собирает замкнутую полилинию.
Хмурый вне форума  
 
Автор темы   Непрочитано 21.09.2010, 19:42
#16
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от Хмурый Посмотреть сообщение
АлексЮстасу, посмотри тему Region -> closed polyline
Да, это я свой #12 пока писал, то пришел #11
И углубился как раз в изучение ссылки из #11 и в пробы.
Мерси большое! Попробую все уложить по порядку.
Был бы у меня еще ToolPack...

Fantomas - это кто? VVA или Smirnoff?

Startrek - чтобы не было иллюзий по поводу BOUNDARY, см., например, http://forum.dwg.ru/showthread.php?t=49256
АлексЮстасу вне форума  
 
Непрочитано 21.09.2010, 19:54
#17
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


АлексЮстасу, {Smirnoff} aka Fantomas
Хмурый вне форума  
 
Непрочитано 21.09.2010, 19:56
#18
Startrek

AutoCAD/AutoLISP
 
Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133


Хмурый,АлексЮстасу, согласен но не совсем... в сложных случаях создаем регион (даже SPLINE) сливаем с другим (другими) ДЕЛАЕМ HATCH, удаляем региом, двойной клик по HATCH и воссоздаем BOUNDARY, убираем HATCH.
А то ведь не всегда програмка под рукой, да и Fantomas из када ушел
__________________
Сквозь тернии к звездам.... и обратно :yes:
Startrek вне форума  
 
Автор темы   Непрочитано 21.09.2010, 20:19
#19
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Пока получаются следующие слабые места:
1. сейчас нужно сделать пять действий (регион, юнион, конвертация в полилинии, удаление регионов, возвращение положенных свойств).
2. регионы нужно вытаскивать из-под полилиний.
3. нужно запоминать исходные свойства полилиний.

Ручная альтернатива:
действий как бы четыре (разрезать общую границу, удаление остатков общих границ, сшивание в одну полилинию, присвоение Closed).
При этом свойства полилиний сохраняются.

Так что пока фифти-фифти.
Конечно, лучше всего была бы программка типа _union, но для полилиний.

Startrek - HATCH использует как раз команду BOUNDARY. И новая граница с помощью BOUNDARY в каких-то случаях окажется неточной, в каких-то неполной, а в каких-то ждать ее придется неизвестно сколько часов.
АлексЮстасу вне форума  
 
Непрочитано 21.09.2010, 20:32
#20
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


АлексЮстасу, а что, программы не пробовал применить?
Хмурый вне форума  
 
Автор темы   Непрочитано 21.09.2010, 20:37
#21
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от Хмурый Посмотреть сообщение
АлексЮстасу, а что, программы не пробовал применить?
В смысле? Регион, юнион, конвертация в полилинии?
Попробовал. Именно потому и знаю, что регионы сохранятся, а свойства потеряются.
АлексЮстасу вне форума  
 
Непрочитано 21.09.2010, 20:41
#22
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


в сообщении #11 была ссылка на тему, там присутствуют коды двух программ , написанные {Smirnoff} и {VVA}. Ни одну из них не попробовал применить?
Хмурый вне форума  
 
Автор темы   Непрочитано 21.09.2010, 20:47
#23
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от Хмурый Посмотреть сообщение
в сообщении #11 была ссылка на тему, там присутствуют коды двух программ , написанные {Smirnoff} и {VVA}. Ни одну из них не попробовал применить?
В результате действия тех программ будут созданы полилинии, повторяющие границы регионов. Первая программа {Smirnoff} действует только для одного указанного региона. Два или несколько указать нельзя. Вторая программа {VVA} сразу сработает для всех регионов файла. И после первой, и после второй программы сами регионы сохранятся.
АлексЮстасу вне форума  
 
Непрочитано 21.09.2010, 21:07
#24
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


Программы работают корректно, не как Boundary? Обратись к VVA для удаления исходной области и придания нужных свойств полилиниям.
Хмурый вне форума  
 
Автор темы   Непрочитано 21.09.2010, 21:27
#25
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от Хмурый Посмотреть сообщение
Программы работают корректно, не как Boundary? Обратись к VVA для удаления исходной области и придания нужных свойств полилиниям.
Гораздо проще и правильнее было бы сразу написать саму _union для полилиний. Повторить внешнюю границу двух полилиний новой замкнутой полилинией. Присвоить ей свойства первой из них (как при join). А исходные полилинии удалить (или опционально сохранить).
АлексЮстасу вне форума  
 
Непрочитано 21.09.2010, 21:43
#26
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Гораздо проще и правильнее было бы сразу написать саму _union для полилиний. Повторить внешнюю границу двух полилиний новой замкнутой полилинией. Присвоить ей свойства первой из них (как при join). А исходные полилинии удалить (или опционально сохранить).
ну вот и обратись к VVA с этой темой.

Последний раз редактировалось Хмурый, 21.09.2010 в 21:53.
Хмурый вне форума  
 
Непрочитано 21.09.2010, 21:51
#27
Startrek

AutoCAD/AutoLISP
 
Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Конечно, лучше всего была бы программка типа _union, но для полилиний.
MPEDIT ? ?
__________________
Сквозь тернии к звездам.... и обратно :yes:
Startrek вне форума  
 
Автор темы   Непрочитано 21.09.2010, 22:39
#28
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от Хмурый Посмотреть сообщение
ну вот и обратись к VVA с этой темой.
Мне как-то неудобно обращаться здесь с просьбой к человеку, если он сам не счел нужным поучаствовать.

Startrek - чем поможет в данном случае MPEDIT?

Пытался написать макрос для цепочки регион-юнион-взорвать-объединить, но поле региона почему-то прекращается его действие. Я совсем не опытен в макросах, может быть поможете?

^C^C_.region;\_.union;\

Последний раз редактировалось АлексЮстасу, 27.09.2010 в 17:26.
АлексЮстасу вне форума  
 
Автор темы   Непрочитано 26.04.2013, 17:18
#29
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Есть ли новости?
Не появилось ли программ, позволяющих сшивать/сводить замкнутые полилинии друг с другом, чтобы образовывались единые полигоны (сшивать) или смыкались друг с другом (сводить).
Т.е. задачу хотелось бы решить расширенно - с учетом возможных наложений или разрывов контуров. Т.е. с указанием допуска для обрабатываемых разрывов-наложений.
АлексЮстасу вне форума  
 
Непрочитано 26.04.2013, 23:08
#30
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


АлексЮстасу, А этот вариант пробовал? Там в #27 есть последний вариант
PS. Вспомнил, что размещал еще на болоте Там много интересного добавили
PPS Как вариант (опять же из болота) Связка SelectionSet Bounding Box и ECO
Миниатюры
Нажмите на изображение для увеличения
Название: tt.jpg
Просмотров: 81
Размер:	39.0 Кб
ID:	102043  
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 27.04.2013 в 14:33. Причина: поправил ссылки
VVA вне форума  
 
Автор темы   Непрочитано 27.04.2013, 02:54
#31
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от VVA Посмотреть сообщение
АлексЮстасу, А этот вариант пробовал? Там в #27 есть последний вариант
PS. Вспомнил, что размещал еще на болоте Там много интересного добавили
PPS Как вариант (опять же из болота) Связка SelectionSet Bounding Box и ECO
У меня ссылки этот вариант и на болоте не действуют.
А картинка обнадеживающая
АлексЮстасу вне форума  
 
Непрочитано 27.04.2013, 14:34
#32
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


АлексЮстасу, Ссылки поправил
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 27.04.2013, 17:44
#33
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от VVA Посмотреть сообщение
АлексЮстасу, А этот вариант пробовал? Там в #27 есть последний вариант
PS. Вспомнил, что размещал еще на болоте Там много интересного добавили
PPS Как вариант (опять же из болота) Связка SelectionSet Bounding Box и ECO
на болоте нужно регистрироваться. Это не больно?
АлексЮстасу вне форума  
 
Непрочитано 27.04.2013, 19:10
#34
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


АлексЮстасу, это полезно
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 06.05.2013, 17:20
#35
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от VVA Посмотреть сообщение
АлексЮстасу, А этот вариант пробовал? Там в #27 есть последний вариант
PS. Вспомнил, что размещал еще на болоте Там много интересного добавили
PPS Как вариант (опять же из болота) Связка SelectionSet Bounding Box и ECO
Пардон за торможение.
Начертил простейшие контуры. 2012.
Попробовал этот вариант из #27.
Пишет:
Цитата:
ECO
Выберите объекты для построения контура
Выберите объекты: Противоположный угол: найдено: 6
Но результата вообще никакого не видно.
А на болоте еще тогда не смог зарегистрироваться. Но стеснялся признаться
Миниатюры
Нажмите на изображение для увеличения
Название: Простые_полигоны.png
Просмотров: 64
Размер:	18.9 Кб
ID:	102612  
АлексЮстасу вне форума  
 
Непрочитано 06.05.2013, 18:31
1 | #36
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Вот вариант с болота. Я правда его не тестировал
Вложения
Тип файла: lsp Boundary eco by VVA 11 CAB3.LSP (11.2 Кб, 54 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 06.05.2013, 19:04
#37
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,031


Цитата:
Сообщение от VVA Посмотреть сообщение
Вот вариант с болота. Я правда его не тестировал
Этот вариант сработал.
Но создалась одна внешняя граница (объединились контуры) только для множества прямоугольных полигонов. А второе множество осталось как было.
Гипотеза: программа завершает работу после обработки одного множества смыкающихся контуров. Допустим, первого по порядку появления в файле.
И допуск не несомкнутость контуров в программе не предусмотрен?
АлексЮстасу вне форума  
 
Непрочитано 19.10.2022, 18:44
#38
bengan777


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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Есть ли новости?
Не появилось ли программ, позволяющих сшивать/сводить замкнутые полилинии друг с другом, чтобы образовывались единые полигоны (сшивать) или смыкались друг с другом (сводить).
Т.е. задачу хотелось бы решить расширенно - с учетом возможных наложений или разрывов контуров. Т.е. с указанием допуска для обрабатываемых разрывов-наложений.
Добрый день. Тоже пытался написать макрос и столкнулся с той же проблемой. После _.region ничего не происходит. Пробовал лиспом, то же самое. Знающие люди, объясните пожалуйста почему так происходит и как решить проблему.
bengan777 вне форума  
 
Непрочитано 24.10.2022, 17:16
1 | #39
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Оставлю ссылку на стороннюю разработку SuperBoundary и TotalBoundary от Debalance Research Group
TotalBoundary


SuperBoundary
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 24.10.2022, 22:06
#40
trir


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


задача на один sql-запрос
trir вне форума  
 
Непрочитано 25.10.2022, 08:41
#41
gumel


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


Вот же, есть у Lee Mac'а: http://www.lee-mac.com/outlineobjects.html
Анимация: http://www.lee-mac.com/lisp/gifs/outlineobjects.gif

upd. Исходные объекты это не обязательно замкнутый контур. Могут быть линии, блоки и т.п. Похоже что алгоритм работает с долей погрешности (см. _boundary)

Последний раз редактировалось gumel, 25.10.2022 в 09:05.
gumel вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > объединение замкнутых контуров

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение контуров условными знаками АлексЮстасу AutoCAD 34 03.01.2024 14:13
Excel: объединение ячеек по столбцам kp+ Прочее. Программное обеспечение 26 16.12.2022 10:19
Объединение перемещений Лира 9.6 (ферма и сендвич-панель) РастОК Лира / Лира-САПР 7 06.07.2010 10:26
Чертеж в 3В. объединение детали Dimmitriy AutoCAD 15 13.01.2010 10:55
Для чего задается объединение перемещений в ПК Лира? Alexsus Лира / Лира-САПР 30 27.10.2009 10:35