|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Boundary, но не совсем
Регистрация: 23.03.2009
Сообщений: 14
|
||
Просмотров: 24879
|
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Я так понимаю, что точку указывать надо обязателльно. Ты же предлагаешь
Цитата:
|
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Это конечно не по-теме, но я думаю что подойдет:
http://forum.dwg.ru/showthread.php?p=360158 |
|||
![]() |
|
||||
Регистрация: 23.03.2009
Сообщений: 14
|
Sleekka
Спасибо, но это не то. Попробую объяснить как-нибудь. Представьте что у вас есть некая форма, ну, например, такая как в холодильнике для кубиков льда (произвольный рисунок со множеством пересечений). Так вот мы наливаем в эту форму водичку, она застывает, формочку убираем остаются кубики (контуры в полилиниях). Толщина стенок формочки равна нулю. Нужно получить контуры всех замкнутых областей |
|||
![]() |
|
||||
Регистрация: 23.03.2009
Сообщений: 14
|
Ладно, другой пример, берем кусок масла (сладкосливочное). Берем ракетку для большого тенниса. Надавливаем рабочей частью на наш домик в деревне - получаются нужные кусочки.
В результате получено то что нужно только ракетку мыть придется. Леска в ракетке это наши линии лежащие друг на друге. |
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
не ну можно зациклить обычный boundary притом точки указывая программно как массив с опр шагом. От пользователя нужон шаг, а потом мона удалять полилинию сохранив точки в массив потом проверить массивы на уникальность и нарисовать новых полилиний - в чем проблема-то, у мене щас времени совсем нету.
|
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Цитата:
|
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
кстати вопрос весьма филосовский.
Есть задача. 1) проще сделать руками когда количество операций от 1-до n 2) проще сделать программно когда количество операций от n до m 3) невозможно сделать ни так ни так когда количество операций > m |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Я про шаг для массива точек, которые программно могут играть роль внутренних точек для построения контура. Если ты сможешь расписать алгоритм создания этого массива точек в общем виде, тогда задача окажется решенной. Я другого способа не вижу. Может, более опытные программисты увидят этот способ.
|
|||
![]() |
|
||||
Дизайнер-конструктор Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
![]() |
2 PROFAN а почему нельзя взять опорные точки как у сетки (Grid), задав массив точек с определенным приращением-мне кажеться должно сработать
Цитата:
Цитата:
__________________
Kiev, Ukraine |
|||
![]() |
|
||||
Дизайнер-конструктор Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
![]() |
> Profan т.е Вы переживаете, что мы можем не попасть опорной точкой в какую-то область?, так уменьшить дискретность , или что не так?
объясните : Цитата:
__________________
Kiev, Ukraine |
|||
![]() |
|
||||
Регистрация: 24.03.2009
Москва
Сообщений: 223
|
Не силен в зацикливании бондари, но еси это возможно думаю достаточно будет указать достаточно маленький шаг, тогда в результате будет получено очень много дублей одних и тех же областей которые можно будет убить Overkill-лом. А чтоб не было проблем с бондари всегда рабочую область обвожу прямоугольником тогда и нот фаундов не бывает
|
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
1) запрашиваем ограничивающую область
2) делаем для нее bounding_box и делаем массив точек с приращением шага, который заполняет bounding_box 3) делаем для этих точек проверку на принадлежность ограничивающей области и удаляем все что выходит за пределы. 4) далее ищем функцию аналог boundary - а то тут какие-то траблы насчет видимой области и т.п. высказываются 5) получаем кучу областей в виде полилиний списки точек которых сравниваем на уникальность, удаляем не нужные 6) строим полилинии по оставшимся спискам |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Цитата:
Sleekka написал что-то правдоподобное. А попробуй-ка применить твой алгоритм к простому прикрепленному здесь примеру. А уж потом к континууму, состоящему более, чем из 300 пустот, произвольно расположенных. Кстати, не мешало бы посмотреть и такой пример. Последний раз редактировалось Profan, 24.03.2009 в 14:21. |
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Да некогда мне сейчас баловаться - просто я знаю, что если бы у меня был реальный проект по автоматизации, то я бы ее решил, примерно так (ну можно кое-чего оптимизировать я понимаю к чему вы клоните говоря про 300 пустот - опыт какой-никакой имеется).
Интересно бы еще автор темы отписался из какой области эта задача и что решается этим? может быть это деталировка каких либо выкроек и это основной процесс вашего производства? |
|||
![]() |
|
||||
Регистрация: 23.03.2009
Сообщений: 14
|
Это из области аппликации. Необходимо, например, изготовить мозаичное панно и быстро узнать из скольких кусочков оно состоит, ну и заодно узнать какой путь необходимо пройти ножу плоттера.
Я насчитал вручную 112 областей ![]() |
|||
![]() |
|
||||
Регистрация: 23.03.2009
Сообщений: 14
|
Да я видел его посты, но там все как-то очень сложно. У меня все гораздо скромнее и цель получить только цифру-количество областей, а не автоматизировать работу целого отдела в случае паркета.
|
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Во-первых на boundary мир клином не сошелся, а во-вторых возьмите это http://forum.dwg.ru/showthread.php?t=18696 - сначала обработайте и boundary будет работать лучше.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Может это подойдет (опубликовал CHEN QING JUN )
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Нет, неоднозначно работает эта программа. Неправильно заданное значение "the minimum distance" приводит к ошибке "Point is outside of boundary" (проверено на приложенном здесь файле primer2.dwg). В русской версии AutoCAD эта программа вообще не работает, автор попросту забыл во многих местах поставить "_" перед опциями команд.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
Честно - я попытался проанализировать код и методику работы. Ничего не понял кроме одного: написано достаточно криво. Вроде на theswamp было объяснение, да и на домашней странице тоже - но я что-то до логики "не допер"
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,187
|
Подниму древнюю тему.
Если кто в курсе, подскажите, не создал ли программерский гений за 6 лет чего-то нового в направлении альтернативы команде boundary. Как известно, стандартная boundary неудовлетворительно работает при большом количестве деталей, категорически требует видимости всех обрабатываемых примитивов на экране и... достаточно крупного масштаба отображения ![]() ![]() поэтому интересуют решения на базе ARX/.Net без обращения к стандартной команде, свободные от вышеупомянутых недостатков. Пока нашел TotalBoundary Lite от Debalance, но она решает только "прямую" задачу - поиск и отрисовка общего внешнего контура выбранных примитивов. Мне же нужно решение "обратной" задачи - поиск контура по заданной внутренней точке. Возможно, это будет сделано в полной платной версии TotalBoundary, если таковая вообще будет. Связаться с автором не удалось, контакты на сайте не указаны ![]() Offtop: http://forum.dwg.ru/forumdisplay.php?f=33 не предлагать ![]() Последний раз редактировалось kp+, 17.05.2015 в 23:40. |
|||
![]() |
|
||||
Ну как минимум один контакт есть: http://adn-cis.org/forum/index.php?action=profile;u=256
Да и сайт у него есть: http://debalance.com
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Цитата:
Пока почти безрезультатно. Надежды есть - есть реальная быстро и правильно работающая программа, BNDR. Правда, уже пять (!) лет мне не удается добиться от автора ее доработки и развития. А никто другой за решение не берется! В т.ч. за деньги. Видео для модельного примера. Сначала работа BNDR, потом штатной _BOUNDARY. Видео для реальных данных. Такие длинные и большие контуры _BOUNDARY никогда не сделает в принципе, либо сделает оч. неточно или неполно. Сама эта программа - факт, доказывающий реальную возможность решения задачи без гиперусилий.
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 03.12.2015 в 05:43. |
||||
![]() |
|
||||
добрый человек Регистрация: 23.02.2004
Глушь
Сообщений: 971
|
Короче, в Map 3D есть инструменты для работы с мполигонами (MPolygon). Это стандартный примитив в AutoCAD, но в нем нет инструментов.
ГИСовцы очень их любят. Возможно уже стандартные инструменты Map 3D смогут решить ваши задачи. А если еще и покодить...
__________________
Правильно сформулированный вопрос содержит 90% ответа. |
|||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,187
|
Цитата:
Ну и "мелкие" детали: - в чем написана прога? Если в ARX, то печально - без поддержки автора она застрянет в той версии, на которой была написана ![]() - есть ли возможность доступа к функциям из LISP/VBA/других сред или ком. строки Акада? |
|||
![]() |
|
||||
Цитата:
Важнее здесь все-таки то, что задача вполне реально решаемая. Реально, т.е. за недели-месяцы, а не за годы, одним программистом, а не сотнями человек и т.д. Однозначно не показатель, что сам Автодеск лет под 20 ее не решил, и что все, к кому я обращался, сослались на невыносимую сложность задачи. Offtop: Кстати, к автору debalance я тоже обращался. Мполигоны - примитив исключительно Map 3D, базовый Автокад его не ведает. И для их создания нужно уже иметь все замкнутые полилинии или иметь топологически корректные данные, т.е. без пересечений, дублирования и пр. Т.е. для создания мполигонов как раз оч. полезно использовать работающую BOUNDARY.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Ведает. Еще как ведает. Нет стандартной команды, которая бы его создавала, в "чистом" AutoCAD, но можно и свою написать. Главное, что чистый AutoCAD его понимает.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
В общем так.
Та прога на arx, написана наверняка с использованием метода boundary, просто если использовать через код, то можно предварительно причесать данные, с помощью фильтров. 1-й вариант http://www.lee-mac.com/outlineobjects.html учите lisp и делайте на основе этого 2-й вариант заказывать разработку. Если хотите на математике без boundary, можно и так, но это дольше и дороже и не факт, что получится лучше, и с boundary можно достич приемлемого результата. |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
А можно несколько поподробнее, не могу найти класс MPolygon в Autodesk.AutoCAD.DatabaseServices или опять не там и не то ищу?
|
|||
![]() |
|
||||
На 99.9% уверен, что это не так.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Цитата:
Нет, BOUNDARY там не используется. Это было бы равнозначно не решить задачу. Цитата:
Да, я заказывал здесь же на форуме. И не только здесь - без результата.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Цитата:
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Просто!
![]() Offtop: Я зубоскалю, но сам-то уже давно чую, что решение задачи в чем-то подобном. Даже точно знаю, что в BNDR именно так - на каком-то таком принципе она успешно и быстро работает.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
И как будет выглядеть граф для таких вершин?
см. вложение. Изобретатели велосипедов, есть платные математические библиотеки, напишите сначала простенький алгоритм, потом осуждайте boundary, который не можете воспроизвести или заставить правильно работать, попробуйте _boundary в других CAD решениях, например в Bricscad, а также debalance, который не развивает программу, не хочет и не развивает. ![]() |
|||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,187
|
Версия?
не хочет развивать и изменять - ну и хрен с ним. Но продать пару копий (через магаз Автодеск или напрямую) - тоже отказывается? А может желает выложить на форуме вместе с исходником? ![]() блин, нет под рукой "других CAD решений". не поделитесь ли впечатлениями о работе _boundary в них? Последний раз редактировалось kp+, 03.12.2015 в 21:05. |
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
поделиться не могу, не применяю достаточно часто, но скоро через месяц другой запущу прогу в промышленном исполнении на основе.
Цитата:
|
|||
![]() |
|
||||
Это ключевые слова.
![]()
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
У автодеска много чего работает не слишком хорошо, я с этим согласен, многое что пришлось переписать самостоятельно, включая vla-intersect, но boundary я не смогу переписать на данном уровне. Т.е. так смогу переписать, будет правильнее, но в 1000 раз медленнее, поэтому где тут баланс, я не знаю, рекомендую автору не искать серебряные пули, а попытаться очистить от ржавчины стальные.
|
|||
![]() |
|
||||
Цитата:
Во-вторых, автор BNDR решил эту задачу, занимаясь параллельно несколькими другими утилитами, примерно за пару месяцев. И решил ее для решения другой задачи ![]() В-третьих, сам факт существования такой программы говорит за себя - задача реально, посильно решаемая для базового Автокада. Сравнивать с "в других CAD", если называете автокадовские клоны и эпигонов, наверное, не оч. показательно. Вот посмотрите на настоящий другой CAD - MicroStation: 1. Тот же самый dwg с тем же модельным примером. Да, MicroStation не сделает, если не все элементы будут на экране. Режим назывался Flood. Но когда делает, то его результаты не зависят от увеличения. 2. со сплайном, дугой, полилиниями, окружностью, эллипсом, мультилинией. Если сомневаетесь в реальности BNDR - делаем сеанс с демонстрацией экрана по скайпу. Присылаете файл понасыщеннее, и попробуем по указываемым точкам получать точные и полные контуры.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,108
|
|
|||
![]() |
|
||||
- Регистрация: 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 |
|||
![]() |
|
||||
Вау! И как называется такая команда Автокада? Сил нет, как хочется ее попробовать!
![]() О серебряной говорите только Вы. Нужна обычная. А не пыж! Речь же ни разу не о том, что требуется эксклюзив, изыск. Требуется выполнение командой собственного назначения, решение задачи, для которой эта команда (в варианте указания точки) предназначена. Требуется нормальное решение объявленной создателями команды задачи. Цитата:
И к тому, что BOUNDARY может создать только половинные контуры, не создавать их вообще - у Вас претензий совсем нет? ![]() Значит, существующая программка BNDR, которая полно и точно решает эту задачу, Вам ни о чем не говорит...
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 04.12.2015 в 01:09. |
||||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
Кому интересно, выложил файл сравнения создания контура в разных КАД.
Резюме: 1. AutoCAD LT 2013. Ничего не вышло, результат не прикладываю (и вообще, при зуммировании постоянно нужна регенерация, что очень не понравилось). 2. ProgeCAD 2016. Одна незначительная ошибка (особенно если учесть размеры дуг и горлышка). 3. BricsCAD 2015 и 2016. Все получилось при условии выполнения команды так, как показано на приложенной картинке. То есть при приближении к проблемному участку. 4. TurboCAD Deluxe 17. Отработало (там команда "штриховка" создает полилинию с заливкой). Но при рассмотрении оказалось, что дуговые сегменты преобразовались в линейные. А может, это кому-то как раз и нужно? Так что можете делать выводы ). Последний раз редактировалось Oleg T, 04.12.2015 в 11:56. |
|||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
Все сообщения не читал, не знаю. Просто сравнил.
PS Кстати, нашел быстрый способ создания полилиний без команды boundary. Проверил в BricsCAD на файлах Primer (из заголовка), Primer-2 (где-то раньше) и своем. 1. Команда _region создает области во всех островках. 2. Дальше их расчленяем, _pedit - преобразование в полилинии. Осталось написать макрос по последовательному расчленению областей и преобразованию полученных примитивов в полилинии. По-моему, очень просто ![]() Последний раз редактировалось Oleg T, 04.12.2015 в 14:16. |
|||
![]() |
|
||||
Цитата:
1. если концы элементов соединены, элементы разбиты на пересечениях - нужно предварительно разбивать пересечения, а это еще может быть не нужно для дальнейшей работы, 2. если области не имеют общих границ - при сшивании не образуются все нужные замкнутые области. Т.е. это не альтернатива. Цитата:
1. сделает только для случаев, когда концы элементов соединены, 2. для смежных площадей, границы которых предварительно разбил на пересечениях, Автокад сделает нечто, не поддающееся моему пониманию. Проверял на 2012, 2015. В 2015 сделались штриховки для других площадей! И это разве альтернатива?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Цитата:
|
|||
![]() |
|
||||
Цитата:
А после explode и join Ваших областей получаются такие интересные подробности. И что с этими замечательными и быстрыми результатами, скажите, делать?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
|
|||
![]() |
|
||||
А Вы проверьте свою трехходовку - разбейте и сшейте. Какие такие контуры в Вашем гиперкаде получатся для смежных областей?
Так понял, что первые две обязательные стадии обсуждений - "1) поднятой проблемы не существует, 2) легко решается другими способами" - мы уже прошли? ![]()
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
Цитата:
(да и сам для себя сделал пару интересных открытий, решая задачу). Если Вас не устраивает все то, что я здесь нарисовал, так и ладно. Дальше ищите. |
|||
![]() |
|
||||
При чем здесь я? Есть задача. Разве предложенные способы через регионы или штриховки ее решают?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
Цитата:
----- добавлено через ~3 мин. ----- Цитата:
Или что-то еще? |
|||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
Цитата:
Заметил, что исходные контуры на экране немного не совпадают с полученными. Проверил. Оказалось, это только из-за цифрового представления на мониторе. Когда беру ближайшую точку, то она одна в любом случае. Насчет пересечения примитивов. Тоже сначала думал, что необходимо разбить в точках пересечения (есть такая программка, я ей пользуюсь). Однако, к моему удивлению, брикс нашел островки и без этого. ----- добавлено через ~3 мин. ----- Пока что вижу, что предложенные мной способы построения контуров в BricsCAD решаются максимально быстро и точно. |
|||
![]() |
|
||||
Пардон! Не вчитался в #63, где про саму BOUNDARY в исполнениях др. кадов. А не про области и штриховки...
Отлично, что другие кады задачу решили! Если в других кадах есть еще нормальные аналоги Map/Civil 3D, то с большим интересом начну с ними знакомиться. Немного изменил Ваш исходный контур - для случая, ближе к общему. Можете повторить BOUNDARY по точке этими другими кадами?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Проверили
http://youtu.be/_FGtOp7eoVM Специально видео снял, вдруг не поверите. Сивиловского софта полно http://www.bricsys.com/applications/ выбирайте категорию и т.д. Плюс есть у VVA - в разделе готовые программы, я когда-то свой софт писал для газопроводов. http://youtu.be/H_uluFOVGxU?t=34s Просто не ясно, почему то что должен делать ACAD штатно, кто-то должен переписать кроме него забесплатно или (очень мало). |
|||
![]() |
|
||||
Молодец этот брикс!
Еще одно нужно уточнить - создаются ли контуры в бриксе, если не все элементы фигуры видны на экране? Как в моем видео о BNDR, когда почти вся фигура сдвинута за край экрана или на длинной дороге видна лишь небольшая ее часть? Цитата:
Да, очень хотелось бы донести нужность переделки команды до фирмы. Очень даже ![]() Согласитесь, множество разнородных пользовательских приложений - это совсем не то же, что фирменное вертикальное решение...
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 04.12.2015 в 20:53. |
||||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
В этом случае у меня не получилось так гладко с одного раза, как у Sleekka. Без проблем распознал только турбокад, но там неприятности с дугами (как я уже говорил). Причем он отрабатывает с этим примером даже тогда, когда на экране только маленький кусочек изображения (почти все за кадром).
В брикскаде точный контур получился за 2 хода: 1. Создание области (без разбиения примитивов в точках пересечения). 2. Команда _boundary. Причем я приближал контур так, как говорил в #63 (то есть видимым был маленький кусочек области). Возможно, еще система и железо как-то влияют, раз у Sleekka в двух случаях результаты лучше, чем у меня (версия брикса та же, 15.3.05). Что я знаю (не моя специализация), так это только MicroSurvey CAD, изыскания - проектирование. По-моему, на базе ядра IntelliCAD (у брикса - другое, свое). Последний раз редактировалось Oleg T, 05.12.2015 в 12:01. |
|||
![]() |
|
||||
Цитата:
Странно... В #79 Sleekka даже видео выложил - про создание области там не видно. Может быть он волшебное слово знает? ![]() Смысл _boundary в режиме точки собственно в том, что не нужно указывать никакие элементы границ, не нужно что-то преобразовывать и что-то еще создавать. В сложных файлах, при возможных оч. больших и оч. мелких элементах границ, выделить без пропусков, без ошибок все нужные элементы границ бывает оч. сложно. Основной смысл в том, что границы можно находить, создавать контур только лишь по точке. Т.е. много проще, быстрее, надежнее для пользователя.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
Так это если нужны именно полилинии для редактирования.
А так, получается, есть решение задачи получения группы корректных контуров максимально быстрое, только не в автокаде ))) Пара минут - 1460 корректных областей. Наружная - лишняя. |
|||
![]() |
|
||||
Цитата:
1. получение элементов границ минимального контура вокруг точки, создание такого контура вокруг точки и 2. получение всех возможных минимальных контуров из указанного множества элементов. Про нужность решения в Автокаде второй задачи говорится тоже давным-давно, в т.ч. и мной. Обсуждаются такие лиспы, созданы программки. Например, давно уже создана индийцами FlashPolygons, и она даже присутствует в списке приложений к BricsCAD (как французская ![]() Я пытаюсь развести обсуждения этих задач, чтобы не путаться, и найти пути решений. В конце - да, обеих задач. Автокад до сих пор не решает нормально или вообще ни первую, ни вторую задачу. 1. Если пользователю для получения одного, нескольких контуров нужно предварительно создавать области (потом _boundary по точке, потом ненужные области удалить), то теряется смысл _boundary по точке. Смысл ее ровно в минимуме действий для пользователя - только точку указать. Другое дело, что программное решение _boundary по точке вполне может быть и таким - программа для себя создает все возможные минимальные замкнутые контуры, а пользователю выдает именно те, внутри которых указаны точки. Ваши примеры с BricsCAD и пр., FlashPolygons показывают, что такой обходной маневр может оказаться достаточно быстрым и явно надежнее. 2. Можно быстро получить все возможные минимальные контуры [из указанных элементов] в BricsCAD и пр., во FlashPolygons, в вертикальном приложении AutoCAD Map 3D (для самых обычных, не пользовательских элементов) - почему так сложно, что по факту невозможно в самом Автокаде эту возможность реализовать? Вы не могли бы в BricsCAD попробовать создать области для тестовых файлов с сайта BricsCAD? Внизу страницы "Загрузить набор файлов для тестирования". Для больших файлов? Засечь время, за которое будут сделаны все возможные области?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
Цитата:
Цитата:
PS. Так Вы и сами можете попробовать, для закачки дистрибутива триала нужен только электронный адрес, вес где-то 180-190 МБ, устанавливается за пару минут. Все команды дублируют акадовские. Последний раз редактировалось Кулик Алексей aka kpblc, 06.12.2015 в 11:15. |
|||
![]() |
|
||||
Цитата:
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
Не знаю. У меня получается при выборе объектов для создания набора контуров.
Может, от железа и системы зависит. Последний раз редактировалось Oleg T, 07.12.2015 в 12:34. |
|||
![]() |
|
||||
Цитата:
Я установил сейчас BricsCAD ознакомительную версию 15.3.05 (x86) ревизия 39062. Сообщили, что ставится аж Platinum. У меня BOUNDARY из BricsCAD вообще - сделала почти все, как в Автокаде. Т.е. BricsCAD делает по точкам два отдельных контура, почти такие же, как и Автокад. Есть отличие - при создании нижнего контура в него включается и весь перешеек. Как и в Автокаде, BricsCAD не находит контуры, если не все элементы границ видны на экране. Как и в Автокаде, BricsCAD упрощает "мелкие" детали - см картинку, черная - созданный контур. Но это у меня, новичка. А Вам как удается делать весь контур по точке? Да чтобы мелкие детали не срезались?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
Цитата:
сначала все-таки нужно создать набор контуров и затем последовательно указывать точки, при этом приближая экран до размеров, соизмеримых с проблемной областью (в автокаде не проверял, не хочется, и там с зуммированием проблемы. До 13-й версии во всяком случае). По-моему, это - вполне себе вариант алгоритма для написания макроса. НО!!! Вспомнил про нанокад (и почему раньше забыл ?))). Так вот в бесплатной версии в этом примере все происходит ИДЕАЛЬНО без предварительного создания набора контуров. Для усложнения эксперимента уменьшал изображение максимально далеко, чтобы только точку можно было указать. Вот так как-то ))) Так что или пишите (заказывайте) макрос, или создавайте контуры в нанокаде. У меня из нано- в брикс- объекты копируются через буфер без проблем. ![]() |
|||
![]() |
|
||||
Цитата:
Но если на экране видна не бОльшая часть фигуры, то контур не строится - как в Автокаде. Кстати BOUNDARY из BricsCAD сплайны тоже обрабатывает. А про Нанокад... У автора BNDR были тесные контакты с Нанокадом ![]() Проверьте в Нанокаде - если от фигуры виден на экране только маленький краешек, то сделает контур? Если сделает, то BNDR уже в Нанокаде.
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 09.12.2015 в 16:58. |
||||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
А я и не проверил, потому как в фильме от Sleekka такого не увидел. Отлично!
Проверил в Нанокаде. Без создания набора контуров строит все-таки только когда на экране по крайней мере больше половины изображения. А если создать набор контуров, то можно и приближать как угодно. PS Теперь понятно, почему в фильме от Sleekka все так классно. Стоило мне один раз назначить допуск, как штриховки и контуры стали строиться корректно. Но его значение не отображалось в окне команды, пока я не переназначил значение системной переменной LUPREC на 5 (а было 4). Последний раз редактировалось Oleg T, 09.12.2015 в 17:18. |
|||
![]() |
|
||||
Посмотрел на создание регионов в BricsCAD.
Что-то не совсем то там получается, когда указываются сразу все возможные исходные элементы...
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 11.12.2015 в 18:34. Причина: не была видна ссылка на видео |
||||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Цитата:
Я в командировке с планшета. 1) сплайны конвертить в полилинии 2) получить облако точек пересечений каждого обекта с каждым 3) из этого облака точек получить новое превратив каждую точку в 4 точки с отступом не более 0.0001 или не более 1/1000 я габаритного контейнера всех точек, при невыполнении второго условия задачу вообще не решать. 4) подставлять точки в _boundary проверяя не принадлежит ли точка готовым контурам. Все. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
Добавь сюда блоки с разными углами поворотов и масштабами, внешние ссылки, примитивы, имеющие разницу по оси Z, учти Elevation... Я не думаю, что эта задача настолько уж тривиальна.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,187
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
С чего это "подоснова"? Тут и без вн.ссылок головняка хватит )
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,187
|
я имею ввиду, что ради запуска "Boundary, но не совсем" не влом предварительно "вклеить" все внеш. ссылки, "подорвать" все блоки и "сплющить" все примитивы с ненулевой Z-координатой. А при написании заветной проги сосредоточиться на алгоритме.
|
|||
![]() |
|
||||
Цитата:
Кстати, думаю, что непосредственно создание сразу замкнутых контуров не главное! Думаю, что важнее обнаружение, выделение элементов, чьи пересечения, соединения образуют границы этих контуров. После обнаружения этих частей границ есть возможность образовать из них и контуры, и производить иные необходимые действия. В т.ч. считать площади, заливать-штриховать и пр. Мне, например, кроме этих задач важна возможность добавлять к этим частям найденных границ расширенные данные.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,187
|
Итак, мы вернулись к чему-то вроде написанной сумрачным гением BNDR.
Я в #55 интересовался, не желает ли создатель ПРОДАТЬ пару копий своего творения КАК ЕСТЬ, без доработок? Или, грешным делом, выложить на форуме бесплатно ![]() Ответа не получил ![]() АлексЮстасу, что скажете? |
|||
![]() |
|
||||
Offtop: Я работаю над этим...Мне интересно, для какого рода задач Вам нужна нормальная BOUNDARY?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,187
|
Для пакетного определения контуров помещений на планах.
Offtop: Только не говорите, что надо использовать пакеты типа Acad Architecture - сам арх. планы не черчу, а свои сети наношу на те подосновы, которые мне выдают ![]() Последний раз редактировалось kp+, 11.12.2015 в 19:46. |
|||
![]() |
|
||||
Вот новое мощное решение.
Только что появился первый релиз SuperBoundary - создание из любого указанного количества линейных элементов всех возможных минимальных контуров или отдельных контуров вокруг указанных точек. Либо не контуров, а штриховок. С учетом островов/дыр и т.п.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
Замечательно. Описание - где? Под какие версии встает, как запускать, как загружать-выгружать и теде? В общем, пока что я это снес.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Геодезист Регистрация: 23.05.2012
Ухта
Сообщений: 1,377
|
На вкладке "Инфо" ->"Связь" есть описание поддерживаемых версий и видео. А команда запуска по одноименному названию программы.
__________________
Как-то так. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
То ли лыжи, то ли я. Где эта вкладка, говоришь?
----- добавлено через 8 сек. ----- Скрин приведи.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Геодезист Регистрация: 23.05.2012
Ухта
Сообщений: 1,377
|
__________________
Как-то так. |
|||
![]() |
|
||||
Цитата:
Главное же, что автору можно все вопросы и пожелания высказать напрямую.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,187
|
Superboundary еще не ставил, т.к. на работе одминских правов не имею, но ее предшественник - Totalboundary - после распаковки ставился как Arx под нужную версию Акада, плюс еще немного чего-то. EXE'шник, видимо служит только оберткой для вычислительно-графического ядра, расположенного в ARX. Вечером поставлю и отпишусь.
|
|||
![]() |
|
||||
Я тоже уже задал автору и вопрос об установке и многие другие. Но это же первый релиз.
Если же посмотреть функциональность, то в общем и целом она хороша. Контуры/штриховки создаются вне зависимости от видимости граничных элементов, очень высокая скорость, можно сделать сразу все возможные минимальные контуры. И т.п. Но вопросы, конечно, есть. Главное, что эти вопросы не упираются в пороки алгоритмов, реализации, а вполне снимаемы. Добавлено: Сейчас посмотрел типы примитивов: со сплайнами, эллипсами, дугами, окружностями работает, с регионами, мполигонами, мультилиниями не работает.
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 01.12.2016 в 20:27. |
||||
![]() |
|
||||
Выложена новая улучшенная версия SuperBoundary
Посмотрел - уже работает с регионами, мполигонами, мультилиниями. Но почему-то у меня перестала работать со сплайнами. ![]() Э... Клянусь! Вчера та же версия не видела сплайны. А сегодня - перепроверил - с ними все нормально.
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 12.02.2017 в 18:50. |
||||
![]() |
|
||||
Человек доброй воли Регистрация: 09.11.2010
Сообщений: 2
|
Решительно не понимаю. Есть ли какая-нибудь закономерность в ваших действиях? Может быть в первом случае сплайны просто не вошли в число выбранных Вами объектов? И о каком количестве сплайнов мы вообще говорим?
|
|||
![]() |
|
||||
Да, со сплайнами было что-то случайное. Или примерещилось... Проверяю - не повторяется. Возможно, дело было в замученном маломощном 32-м компе.
Главное в том сообщении было про добавление учета регионов, мполигонов, мультилиний.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
совсем запутался в "Атрибутах" | 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 |