Debalance Research Group • Forum

SuperBoundary • Superior replacement for the BOUNDARY (BPOLY) command => SuperBoundary • Русскоязычный форум => Topic started by: Debalance on January 24, 2017, 10:41:37 PM

Title: Новая версия SuperBoundary v.1.0.1.31
Post by: Debalance on January 24, 2017, 10:41:37 PM
Разместил новую версию программы SuperBoundary v.1.0.1.31 (http://www.superboundary.com/download.html). Была добавлена опциональная возможность включения/выключения оптимизации (прополки) вершин результирующих контуров полилиний:

(http://img-fotki.yandex.ru/get/169608/105409719.1/0_150756_1f83234a_orig.png)

В предыдущих версиях оптимизация была включена принудительно.
Под оптимизацией (прополкой) в данном контексте понимается удаление "лишних" вершин (узлов) полилиний, лежащих на прямых коллинеарных участках или же на дуговых концентричных участках с одинаковым радиусом скругления.
Добавленная возможность выключения прополки позволяет получать "точные" замкнутые полилинии, в которых количество узлов (вершин) совпадает с количеством узлов, образованных в результате сопряжения/пересечения различных комбинаций примитивов, создающих ограничивающий контур.

P.S.
Не тестировал на платформе x86, в связи с отсутствием таковой возможности. У кого таковая возможность есть просьба, опять же по-возможности, отписаться о результатах теста.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on January 26, 2017, 04:55:51 AM
Вроде бы все контуры при отключенной Оптимизировать контуры строятся во всех подробностях.  :)
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on January 26, 2017, 09:17:03 PM
Насчет островков - хорошо бы обнаруженные островки сразу со своим общим внешним контуром объединять в группу. Чтобы появилась и была и зрительно видна их логическая связь.

Продолжение по поводу блоков. (Или лучше в теме предыдущей версии, где начали?).
Если бы сделать создание внешних контуров блоков опциональным, то вроде бы ничего не теряется? А пользоваться было бы удобнее.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: Debalance on January 26, 2017, 10:06:57 PM
Насчет островков - хорошо бы обнаруженные островки сразу со своим общим внешним контуром объединять в группу. Чтобы появилась и была и зрительно видна их логическая связь.
Имеется ввиду объединение в группу всех островков принадлежащих одному владельцу? Не приведёт ли это к некоторому неудобству при дальнейшем редактировании островков? Ведь потребуется "разгруппирование"...
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on January 27, 2017, 12:33:28 AM
Имел в виду: один контур + все островки в нем = одна группа.
Включение-отключение отображения групп - Alt H.
А без групп вроде бы нет другого способа объединить, связать, показать площади с их островами, если они полилиниями.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: Debalance on January 27, 2017, 11:37:23 AM
Имел в виду: один контур + все островки в нем = одна группа.
Ясно. Ну, в общем, идея с группированием мне нравится. Пожалуй добавлю эту опцию в следующий релиз.

Включение-отключение отображения групп - Alt H.
Видимо у меня есть пробелы в знании AutoCAD - мало работал в своё время с группами  :)
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on January 28, 2017, 03:31:22 AM
Пардон!
Не Alt H, а Ctrl H.

Опциональность обводки блоков не обсуждается?
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: Debalance on January 28, 2017, 01:17:33 PM
Опциональность обводки блоков не обсуждается?
Ну почему же? Очень даже обсуждается.

Если бы сделать создание внешних контуров блоков опциональным, то вроде бы ничего не теряется? А пользоваться было бы удобнее.
Пока размышляю над оформлением панели с настройками в этом контексте. Растущее диалоговое окошко может перестать быть удобным...
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on January 28, 2017, 05:29:22 PM
Растущее диалоговое окошко может перестать быть удобным...
Это да...
Может быть расположить опцию в одной строке с Заливать контуры? Вроде бы по смыслу.
Кстати - реплика - если обводить блоки, то и тексты-мтексты тоже бы? Если исходить из логики, чтобы блоки-мтексты были видны на штриховках - как BPOLY.
А для уменьшения опций можно, допустим, упростить варианты с цветами-слоем:
Параметры полилиний:
- цвет,
- произвольные цвета,
- слой.
Т.е. убрать "мой" и "текущий" цвет, слой. Текущие - по умолчанию.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: Debalance on January 28, 2017, 06:39:48 PM
Может быть расположить опцию в одной строке с Заливать контуры? Вроде бы по смыслу.
Полагаю такой вариант не подходит. Нужна однозначность - или мы работаем с блоками в обоих режимах (заливка/обводка) или игнорируем полностью. В противном случае может возникнуть путаница. В этом случае просматривается единственный вариант - создание подраздела типа "Работа с Блоками" или лучше "Прочие Настройки" ("Miscellaneous"), куда и впихнуть эту опцию... как-то так...

Кстати - реплика - если обводить блоки, то и тексты-мтексты тоже бы?
Думал над этим. Ну тогда в этот подраздел и добавить опцию "тексты-мтексты"...
В общем в данном случае без ещё одного подраздела похоже не обойтись.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on January 28, 2017, 07:44:07 PM
Полагаю такой вариант не подходит. Нужна однозначность - или мы работаем с блоками в обоих режимах (заливка/обводка) или игнорируем полностью.
Я в принципе за однозначность - ни блоки, ни тексты-мультитексты программой поиска-создания контуров не следует вообще учитывать. Может быть это нужная задача, но отдельная. И решать ее нужно другой программой, самостоятельной.
Мое предложение расположить рядом не означает связывание опций, не означает, что они должны включаться синхронно.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: Debalance on January 28, 2017, 10:12:37 PM
Я в принципе за однозначность - ни блоки...
Ну а как же BPOLY? Ведь она же успешно работает с блоками. Мы же позиционируем SuperBoundary как наследника BPOLY, поэтому всякое урезание наследуемых возможностей выглядит как добровольная кастрация...
Что касается текстов-мтекстов, то конечно, использовать эту опцию при создании контуров-полилиний нелогично. Данную возможность надо привязывать к режиму заливки.
Я кстати тут побаловался с заливкой и мтекстом и нашёл в Акаде такой косячок:
(http://img-fotki.yandex.ru/get/128901/105409719.1/0_150dbb_f2a50a95_orig.png)
Поясню: я нарисовал прямоугольник, наложил на него мтекст, причем наложил умышленно с перекрытием, и произвел заливку без ассоциативности (верхний рисунок).
Далее я удалил текст и выделили, собственно, заливку (нижний рисунок). И получилась такая вот квази-штриховочка с торчащим кусочком рамочки. В принципе подобные вещи при реализации в SuperBoundary можно устранить.

Честно говоря вопрос слияния BPOLY с BHATCH на движке SuperBoundary меня давно интересовал. Ведь суть у них примерно одинаковая - площадные объекты (как Вы выражаетесь).
Кстати я тут заметил, что команда штриховочки (BHATCH) на последних версиях AutoCAD работает веселее не в пример BPOLY... Может вся эта затея с реализацией идеальной BPOLY не стоит "ломаного яйца"? Может ребята из AutoDesk подтянут BPOLY к достойному уровню производительности в версиях AutoCAD 2019-2020? И вся наша возня напрасна?
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on January 29, 2017, 03:10:48 AM
Ну а как же BPOLY? Ведь она же успешно работает с блоками. Мы же позиционируем SuperBoundary как наследника BPOLY, поэтому всякое урезание наследуемых возможностей выглядит как добровольная кастрация...
Что касается текстов-мтекстов, то конечно, использовать эту опцию при создании контуров-полилиний нелогично. Данную возможность надо привязывать к режиму заливки.
Что блоки, что тексты/мтексты - к площадным объектам отношения не имеют.
Но я потому про тексты/мтексты и заговорил, что Вы-то делаете аналог.
Кстати я тут заметил, что команда штриховочки (BHATCH) на последних версиях AutoCAD работает веселее не в пример BPOLY... Может вся эта затея с реализацией идеальной BPOLY не стоит "ломаного яйца"? Может ребята из AutoDesk подтянут BPOLY к достойному уровню производительности в версиях AutoCAD 2019-2020? И вся наша возня напрасна?
Дело же не только в скорости, но и в точности, в полноте и в выполнимости. А с этим у этих команд не очень.
Дело же наше в принципе неблагодарное - чужие дырки затыкать...
Но всегда же есть надежды на полезность разного рода такой работы.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on January 29, 2017, 10:38:47 PM
Из общего еще не хватает сообщений в окне сообщений в режиме указания точек, что создан/не создан контур.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: Debalance on January 29, 2017, 11:16:01 PM
Из общего еще не хватает сообщений в окне сообщений в режиме указания точек, что создан/не создан контур.
Я тоже думал над этим. Но для чего нужно такое сообщение? Ведь если контур создан - его видно (повторно контур на этом месте не создаётся), если же нет - то нет, т.е. имеется разрыв либо же ткнули мы в область, которая не присутствует среди выбранных примитивов...
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on January 30, 2017, 03:24:19 AM
Но для чего нужно такое сообщение? Ведь если контур создан - его видно (повторно контур на этом месте не создаётся), если же нет - то нет...
Именно поэтому - когда не создан контур, то это никак не видно. В насыщенных файлах не углядеть сразу. И сообщения нет. Начинаешь чесать репу, но для выяснения нужно прервать процесс, перебирать полилинии.
Может быть при создании контура писать что-нибудь вроде: Создано 1 контуров и 3 отверстий. (Все-таки находятся не островки, а отверстия).
А когда не создается, соответственно: Создано 0 контуров и 0 отверстий. Или прямо: Контур не найден.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: Debalance on January 30, 2017, 09:41:34 AM
Именно поэтому - когда не создан контур, то это никак не видно...
Ок. Принимается.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on February 12, 2017, 09:42:20 PM
Может быть добавить к типам элементов еще и штриховки?
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: Debalance on February 12, 2017, 09:45:02 PM
Может быть добавить к типам элементов еще и штриховки?
Вы хотите их взрывать и строить контуры из их же компонентов? Такая опция может быть актуальной?
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on February 13, 2017, 04:49:25 PM
Нет, штриховки не взрывать (как и все остальное) - использовать как есть, т.е. их границы как части возможных контуров.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: Debalance on February 13, 2017, 08:15:20 PM
... т.е. их границы как части возможных контуров.
Погодите... не совсем догоняю. Где есть штриховка - там уже есть контур, не так ли? Возможно ли создать штриховку без ограничивающего контура?
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on February 14, 2017, 02:09:17 AM
Может быть создать штриховку без контура нельзя, но после этого можно его утратить.  :)  Регулярно встречается вопрос, как восстанавливать контуры штриховок. И фирменные средства для их восстановления тоже есть...
Вообще-то про штриховки было предположение. У меня за их учет 60х40 или даже 50х50.
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: Debalance on February 14, 2017, 01:46:36 PM
Мне кажется подобной задачей должна заниматься отдельная программа (тем более Вы утверждаете, что она уже есть). Я так понимаю, что отсутствие контура у штиховки - это в какой-то степени форс-мажор (контур либо утратился под воздействием "внешних факторов", либо намеренно был удалён пользователем).

Теперь представьте себе ситуацию, когда в чертеже имеется масса штриховок где лишь у некоторых отсутствую контуры. Достраивание контуров ко всем штриховкам отразится (может и не столь существенно) на работе программы. Ведь контуры будут достроены и к штриховкам, у которых с контурами всё в порядке. Т.е. программе надо будет потратить дополнительное машинное время на построение и удаление дубликатов (т.е. взаимно перекрываемых примитивов) образующих контуры. А оно нам надо? По-моему нет...
Title: Re: Новая версия SuperBoundary v.1.0.1.31
Post by: АлексЮстасу on February 17, 2017, 02:32:32 PM
...и штатная BOUNDARY штриховки не учитывает.