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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Boundary, но не совсем

Boundary, но не совсем

Ответ
Поиск в этой теме
Непрочитано 23.03.2009, 11:39
Boundary, но не совсем
Circle
 
Регистрация: 23.03.2009
Сообщений: 14

Приветствую.
Имеею множество линий и дуг которые пересекаясь образуют замкнутые области. Нужно получить контуры этих областей в полилиниях. Неплохо с этим справляется команда boundary, но минус в том что приходится тыкать вручную в каждую область, а если их 100 или больше. Вопрос как можно сделать так чтобы можно было выделять например обычным способом справа налево все сразу , при этом находились бы замкнутые области и обводились полилиниями

Вложения
Тип файла: dwg
DWG 2004
Primer.dwg (31.8 Кб, 5366 просмотров)

Просмотров: 24803
 
Непрочитано 03.12.2015, 22:49
#61
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Искать решение вашей задачи я не могу и не хочу.
Могу помочь лишь советом, решение задачи кроется в частном случае, вас не устраивает bounday - осознайте четко, ЧЕМ. и найдите частный случай, который написан с другим подходом изначально, который закроет вашу проблему.
http://www.theswamp.org/index.php?topic=49588.0
посмотрите эту тему.
Возможно нужно понять boundary и причесать данные под него. Я так понял, что разрыв где получился треугольничек был чуть больше чем шейка между фигурами, вы главное поймите что серебряной пули не бывает.
Это доказывает теорема Гёделя, (на пальцах она может звучать так, что уделяя большее внимание решение одной частности, вы теряете в другой частности и попытка разрулить все частности в одном алгоритме иногда невозможна, но имея два алгоритма для разных частностей, можно упростить все).
https://ru.wikipedia.org/wiki/%D0%A2...BE%D1%82%D0%B5
Sleekka вне форума  
 
Непрочитано 04.12.2015, 01:03
#62
АлексЮстасу

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


Цитата:
Сообщение от trir Посмотреть сообщение
Всё давно сделано
Вау! И как называется такая команда Автокада? Сил нет, как хочется ее попробовать!
Цитата:
Сообщение от Sleekka Посмотреть сообщение
вы главное поймите что серебряной пули не бывает.
О серебряной говорите только Вы. Нужна обычная. А не пыж!
Речь же ни разу не о том, что требуется эксклюзив, изыск. Требуется выполнение командой собственного назначения, решение задачи, для которой эта команда (в варианте указания точки) предназначена. Требуется нормальное решение объявленной создателями команды задачи.
Цитата:
Сообщение от Sleekka Посмотреть сообщение
Я так понял, что разрыв где получился треугольничек был чуть больше чем шейка между фигурами
Да нет же! Дело не в этом зубчике или в этой шейке. Это специальный модельный пример. Посмотрите в приложении, что сделает BOUNDARY, если эти же элементы будут в малом увеличении. Точно так же BOUNDARY искажает не модельные, а реальные контуры. Если контуры большие, с мелкими деталями, то BOUNDARY эти детали срежет, и еще от себя нечто добавит...
И к тому, что BOUNDARY может создать только половинные контуры, не создавать их вообще - у Вас претензий совсем нет?
Цитата:
Сообщение от Sleekka Посмотреть сообщение
и попытка разрулить все частности в одном алгоритме иногда невозможна, но имея два алгоритма для разных частностей, можно упростить все
Значит, существующая программка BNDR, которая полно и точно решает эту задачу, Вам ни о чем не говорит...
Миниатюры
Нажмите на изображение для увеличения
Название: boundaru_small_zoom.png
Просмотров: 41
Размер:	31.2 Кб
ID:	161583  
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 04.12.2015 в 01:09.
АлексЮстасу вне форума  
 
Непрочитано 04.12.2015, 11:37
#63
Oleg T


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


Кому интересно, выложил файл сравнения создания контура в разных КАД.
Резюме:
1. AutoCAD LT 2013. Ничего не вышло, результат не прикладываю (и вообще, при зуммировании постоянно нужна регенерация, что очень не понравилось).
2. ProgeCAD 2016. Одна незначительная ошибка (особенно если учесть размеры дуг и горлышка).
3. BricsCAD 2015 и 2016. Все получилось при условии выполнения команды так, как показано на приложенной картинке. То есть при приближении к проблемному участку.
4. TurboCAD Deluxe 17. Отработало (там команда "штриховка" создает полилинию с заливкой).
Но при рассмотрении оказалось, что дуговые сегменты преобразовались в линейные. А может, это кому-то как раз и нужно?

Так что можете делать выводы ).
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный1.png
Просмотров: 36
Размер:	17.8 Кб
ID:	161611  Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 34
Размер:	4.2 Кб
ID:	161612  
Вложения
Тип файла: dwg
DWG 2007
boundary_сравнение_CAD.dwg (78.3 Кб, 858 просмотров)

Последний раз редактировалось Oleg T, 04.12.2015 в 11:56.
Oleg T вне форума  
 
Непрочитано 04.12.2015, 12:37
#64
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Oleg T - отличное сравнение, добавил в копилку. Проверил в Bricscad, даже зуммирование никуда не требовалось.
Одно не понятно, устраивает ли это АлексЮстаса.
Sleekka вне форума  
 
Непрочитано 04.12.2015, 13:31
#65
Oleg T


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


Цитата:
Сообщение от Sleekka Посмотреть сообщение
Одно не понятно, устраивает ли это АлексЮстаса.
Все сообщения не читал, не знаю. Просто сравнил.

PS
Кстати, нашел быстрый способ создания полилиний без команды boundary.
Проверил в BricsCAD на файлах Primer (из заголовка), Primer-2 (где-то раньше) и своем.
1. Команда _region создает области во всех островках.
2. Дальше их расчленяем, _pedit - преобразование в полилинии.

Осталось написать макрос по последовательному расчленению областей
и преобразованию полученных примитивов в полилинии. По-моему, очень просто

Последний раз редактировалось Oleg T, 04.12.2015 в 14:16.
Oleg T вне форума  
 
Непрочитано 04.12.2015, 14:44
#66
Oleg T


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


Дополнение к предыдущему посту. На создание 517 областей ушло пара секунд. Дело за макросом.
PS
В Автокаде не проверял, правда.
Вложения
Тип файла: dwg
DWG 2007
Области.dwg (271.3 Кб, 743 просмотров)
Oleg T вне форума  
 
Непрочитано 04.12.2015, 15:37
#67
Oleg T


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


Собственно, и макрос не нужен.
Выбором объектов в областях создаются штриховки, а у них затем восстанавливаются контуры. Трехходовка.
Без неправильного _boundary одним махом!
Вложения
Тип файла: dwg
DWG 2007
Области - штриховки - полилинии.dwg (526.2 Кб, 711 просмотров)
Oleg T вне форума  
 
Непрочитано 04.12.2015, 16:04
#68
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


народ считает bricscad клоном
пока они считают, мы работаем. Я из многих ситуаций выходил таким-же способом, что не корректно работает в acad-е, то работает в bricscad-е.
Sleekka вне форума  
 
Непрочитано 04.12.2015, 16:59
#69
АлексЮстасу

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


Цитата:
Сообщение от Oleg T Посмотреть сообщение
1. Команда _region создает области во всех островках.
2. Дальше их расчленяем, _pedit - преобразование в полилинии.
Этот путь сработает только:
1. если концы элементов соединены, элементы разбиты на пересечениях - нужно предварительно разбивать пересечения, а это еще может быть не нужно для дальнейшей работы,
2. если области не имеют общих границ - при сшивании не образуются все нужные замкнутые области.
Т.е. это не альтернатива.
Цитата:
Сообщение от Oleg T Посмотреть сообщение
Выбором объектов в областях создаются штриховки, а у них затем восстанавливаются контуры. Трехходовка.
Без неправильного _boundary одним махом!
Почти то же самое:
1. сделает только для случаев, когда концы элементов соединены,
2. для смежных площадей, границы которых предварительно разбил на пересечениях, Автокад сделает нечто, не поддающееся моему пониманию. Проверял на 2012, 2015. В 2015 сделались штриховки для других площадей!
И это разве альтернатива?
Миниатюры
Нажмите на изображение для увеличения
Название: boundary_region_hatch.png
Просмотров: 24
Размер:	40.1 Кб
ID:	161639  Нажмите на изображение для увеличения
Название: boundary_hatch_смежные.png
Просмотров: 19
Размер:	16.1 Кб
ID:	161640  
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 04.12.2015, 17:09
#70
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
Почти то же самое:
1. сделает только для случаев, когда концы элементов соединены,
2. для смежных площадей, границы которых предварительно разбил на пересечениях, Автокад сделает нечто, не поддающееся моему пониманию. Проверял на 2012, 2015. В 2015 сделались штриховки для других площадей!
И это разве альтернатива?
Oleg T, это все делал в bricscad-e.
Sleekka вне форума  
 
Непрочитано 04.12.2015, 17:10
#71
АлексЮстасу

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


Цитата:
Сообщение от Oleg T Посмотреть сообщение
На создание 517 областей ушло пара секунд. Дело за макросом.
PS
В Автокаде не проверял, правда.
Проверили бы - порадовались бы. Автокад создаст только один регион.
А после explode и join Ваших областей получаются такие интересные подробности.
И что с этими замечательными и быстрыми результатами, скажите, делать?
Миниатюры
Нажмите на изображение для увеличения
Название: region_1.png
Просмотров: 32
Размер:	58.3 Кб
ID:	161642  Нажмите на изображение для увеличения
Название: region_drop_pljoin.png
Просмотров: 30
Размер:	33.6 Кб
ID:	161643  
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 04.12.2015, 17:23
#72
Oleg T


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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Проверили бы - порадовались бы. Автокад создаст только один регион.
Не в чем проверять. И не хочется.
Offtop: Автодеск давно уже забил на автокад. Если и дальше хотите работать в DWG нормально, переходите на клоны.
Если что, период знакомства с акадом 1992 - 2008
Oleg T вне форума  
 
Непрочитано 04.12.2015, 17:36
#73
АлексЮстасу

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


Цитата:
Сообщение от Oleg T Посмотреть сообщение
Не в чем проверять.
А Вы проверьте свою трехходовку - разбейте и сшейте. Какие такие контуры в Вашем гиперкаде получатся для смежных областей?

Так понял, что первые две обязательные стадии обсуждений - "1) поднятой проблемы не существует, 2) легко решается другими способами" - мы уже прошли?
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 04.12.2015, 17:53
#74
Oleg T


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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
А Вы проверьте свою трехходовку - разбейте и сшейте. Какие такие контуры в Вашем гиперкаде получатся для смежных областей?
Вы знаете, мне углубляться не хочется. Я увидел тему и попробовал некоторые решения. И всего лишь. Люблю это. Может, кому-то мои выкладки пригодятся
(да и сам для себя сделал пару интересных открытий, решая задачу).
Если Вас не устраивает все то, что я здесь нарисовал, так и ладно. Дальше ищите.
Oleg T вне форума  
 
Непрочитано 04.12.2015, 18:04
#75
АлексЮстасу

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


Цитата:
Сообщение от Oleg T Посмотреть сообщение
Если Вас не устраивает все то, что я здесь нарисовал, так и ладно. Дальше ищите.
При чем здесь я? Есть задача. Разве предложенные способы через регионы или штриховки ее решают?
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 04.12.2015, 18:08
#76
Oleg T


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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
При чем здесь я? Есть задача. Разве предложенные способы через регионы или штриховки ее решают?
Видимо, я недопонял саму задачу.

----- добавлено через ~3 мин. -----
Цитата:
Сообщение от kp+ Посмотреть сообщение
Мне же нужно решение "обратной" задачи - поиск контура по заданной внутренней точке
Если это - задача, то BricsCAD с ней справляется корректно. О чем я и говорил.
Или что-то еще?
Oleg T вне форума  
 
Непрочитано 04.12.2015, 18:33
#77
Oleg T


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


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

----- добавлено через ~3 мин. -----
Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
При чем здесь я? Есть задача. Разве предложенные способы через регионы или штриховки ее решают
Пока что вижу, что предложенные мной способы построения контуров в BricsCAD решаются максимально быстро и точно.
Вложения
Тип файла: dwg
DWG 2007
Область.dwg (88.3 Кб, 555 просмотров)
Oleg T вне форума  
 
Непрочитано 04.12.2015, 18:40
#78
АлексЮстасу

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


Цитата:
Сообщение от Oleg T Посмотреть сообщение
BricsCAD ее решил.
Пардон! Не вчитался в #63, где про саму BOUNDARY в исполнениях др. кадов. А не про области и штриховки...
Отлично, что другие кады задачу решили! Если в других кадах есть еще нормальные аналоги Map/Civil 3D, то с большим интересом начну с ними знакомиться.

Немного изменил Ваш исходный контур - для случая, ближе к общему. Можете повторить BOUNDARY по точке этими другими кадами?
Миниатюры
Нажмите на изображение для увеличения
Название: boundary_сравнение_2.png
Просмотров: 21
Размер:	20.5 Кб
ID:	161647  
Вложения
Тип файла: dwg
DWG 2004
boundary_сравнение_CAD_2.dwg (340.8 Кб, 534 просмотров)
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 04.12.2015, 19:37
#79
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Проверили

http://youtu.be/_FGtOp7eoVM

Специально видео снял, вдруг не поверите.

Сивиловского софта полно http://www.bricsys.com/applications/

выбирайте категорию и т.д.

Плюс есть у VVA - в разделе готовые программы, я когда-то свой софт писал для газопроводов.

http://youtu.be/H_uluFOVGxU?t=34s

Просто не ясно, почему то что должен делать ACAD штатно, кто-то должен переписать кроме него забесплатно или (очень мало).
Sleekka вне форума  
 
Непрочитано 04.12.2015, 20:46
#80
АлексЮстасу

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


Цитата:
Сообщение от Sleekka Посмотреть сообщение
Проверили
Молодец этот брикс!
Еще одно нужно уточнить - создаются ли контуры в бриксе, если не все элементы фигуры видны на экране? Как в моем видео о BNDR, когда почти вся фигура сдвинута за край экрана или на длинной дороге видна лишь небольшая ее часть?
Цитата:
Сообщение от Sleekka Посмотреть сообщение
Просто не ясно, почему то что должен делать ACAD штатно, кто-то должен переписать кроме него забесплатно или (очень мало).
Буквально сняли с языка. Правильной альтернативой BOUNDARY является сама BOUNDARY, но надежно, полно и точно работающая...
Да, очень хотелось бы донести нужность переделки команды до фирмы.
Цитата:
Сообщение от Sleekka Посмотреть сообщение
я когда-то свой софт писал для газопроводов
Очень даже
Цитата:
Сообщение от Sleekka Посмотреть сообщение
Сивиловского софта полно
Согласитесь, множество разнородных пользовательских приложений - это совсем не то же, что фирменное вертикальное решение...
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 04.12.2015 в 20:53.
АлексЮстасу вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Boundary, но не совсем



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
совсем запутался в "Атрибутах" slooter AutoCAD 8 21.10.2010 18:09
Связь результата команды BOUNDARY с масштабом изображения. M_A_X Программирование 15 11.05.2009 11:21
Не делается Boundary для контура из Spline... RasSvet AutoCAD 4 17.01.2009 22:06
команда boundary не работает со сплайнами? Jоhnny AutoCAD 9 14.05.2008 14:32
_xclip. Как clipping boundary сделать с непрямыми участками? k911 AutoCAD 2 21.08.2007 21:35