Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Debalance

Pages: 1 ... 3 4 [5]
61
Разместил новую версию программы SuperBoundary v.1.0.1.31. Была добавлена опциональная возможность включения/выключения оптимизации (прополки) вершин результирующих контуров полилиний:



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

P.S.
Не тестировал на платформе x86, в связи с отсутствием таковой возможности. У кого таковая возможность есть просьба, опять же по-возможности, отписаться о результатах теста.

62
Добавил новое видео демонстрирующее производительность программы в плане обнаружения и построения замкнутых областей на достаточно "насыщенном чертеже":



В качестве чертежа использовал один из моих любимых паровозиков скачанного из свободного источника. Сам чертёж состоит из более чем 16000 примитивов, а в результате генерации программа строит более 9000 замкнутых областей за менее чем 5 секунд.
В качестве рабочей платформы использовал AutoCAD 2017, процессор Core i5.

63
I have released new version of SuperBoundary v.1.0.1.30. The following work has been done:

- A critical error has been fixed. This error occured when using the program with a large value of the tolerance factor.

- The program has been carefully tested in CIVIL 3D environment. The detected errors were fixed.

- The program settings have been extended. In particular, the ability of selecting layer has been added. The option of selecting current layer and current color was added too.


- The list of supported objects has been extended. The following objects were added:
   Multilines;
   Multipolygons;
   Regions;
   Tables;
   
- Added support for the following entities specific to CIVIL 3D:
   Parcel Segment;
   Featured Line;
   Alignment;
   Tin Surface;

64
Заодно и примеры для крайних случаев - образование для узких треугольников "полигонов" в одну линию.
Да, вырождение присутствует - факт. Я вовсе не идеализирую оптимизацию... давайте обсуждать эту тему. Но не являются ли подобные построение таких "синтетических объектов" умозрительными экспериментами поиска слабых мест программы? Не оторваны ли эти "ленты Мёбиуса" от жизни?

65
По типу локализации все плоские геометрические объекты делятся на площадные, линейные и точечные.
Интересно...!

Блоки суть точечные объекты, т.к. геометрически характеризуются одной точкой, точкой вставки. Точечные объекты никак не могут определять границы площадных.
По поводу блоков - здесь два момента:
1. Блок - это запись в базе данных чертежа, которая содержит какую-то совокупность примитивов. Собственно говоря все примитивы чертежа принадлежат тому или иному блоку. Даже "свободные" объекты пространства MODEL_SPACE принадлежат одноимённому блоку, только вставить куда-либо вы его не сможете.
2. Вставка блока (Block Reference) - это примитив обладающий определёнными свойствами (масштабом, углом поворота и т.п.), в том числе и соответствующей точкой вставки. Именно этот примитив (видимо) Вы и называете "точечным объектом".
Насколько я понимаю основное назначение блока - облегчить разработчику создание чертежа, особенно там где количество повторяющихся элементов велико. Другое сопутствующее достоинство блока - это уменьшение размера чертежа (иногда правильное применение вставок блоков может существенно сократить его объём).

Что внутри блока - вопрос совсем другой.
Ну почему же? Если блок (или блоки) гармонично дополняет "площадной объект"? Таким образом формируется "комплексный площадной объект". Ну вот пожалуйста хотя бы и пример:

Как видно на примере чертёж состоит из двух вставок одного блока (жёлтые прямоугольники) и двух соединяющих их полилиний. Вместе они образуют весьма неплохой "комплексный площадной объект". Если на данном примере блоки не анализировать с точки зрения построения замкнутых областей, то никаких областей мы не обнаружим ибо контур будет разомкнутым.

Если рассматривать возможность разбивания блока...
Зачем разбивать-то? Как-то это моветон...

Если же стоит задача обнаружения точных габаритов содержания блоков...
Нет... так задача не стоит. У нас - комплексный объект (см. пример выше).

Люди сами налажают...
Здесь да! Полностью согласен. Но мы же с Вами создаём универсальный продукт, надо заботиться о всяких пользователях. В Ваших примерах всё чисто и гладко узелок совпадает с узелком... Ну а что вы например думаете по поводу вот такого примера:

Как видите здесь не всё гладко (а может так и задумано) - много линий лежит внахлёст. Как на Ваш взгляд должен выглядеть точный контур такого чертежа? Надо ли его "оптимизировать", как Вам кажется?

66
Если целью использования программы является создание контуров площадных объектов, то блоки не могут участвовать в создании контуров.
Давайте начнём с догматов: что есть "площадной объект" и почему, например, внутри блоков не может быть "площадных объектов"? Я так понимаю, что в качестве блока может быть что угодно... иными словами блок внутри себя может содержать какой угодно объект. Или я не прав?

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

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

Quote from: АлексЮстасу
Мое предложение сделать учет блоков опциональным не подходит?
Размышляю. Пока такая заявка поступила только от Вас...

Quote from: АлексЮстасу
И осталось упрощение полилиний-контуров за счет удаления "лишних" вершин, что приводит к искажению геометрии.
Здесь тоже вопрос дискуссионный. Положим есть прямая линия, состоящая из большого количества сонаправленных отрезков. В результате генерации контура имеем прямой отрезок полилинии с таким же количеством узлов. Оно надо?

Quote from: АлексЮстасу
Приложение здесь не приложить...
Поковырялся в настройках форума - должно сработать.


68
Разместил новую версию программы SuperBoundary v.1.0.1.30. Было устранено и добавлено:
- Устранена критическая ошибка при работе с большим значением коэффициента допуска.

- Тщательно протестирована работа программы в CIVIL 3D, выявлено и устранено некоторое количество ошибок при работе в этой среде.

- Расширены настройки программы. В частности добавлена возможность выбора слоя, в котором будут создаваться полилинии. Добавлена опция выбора текущего слоя и текущего цвета.



- Расширен список поддерживаемых программой примитивов. Добавлены следующие примитивы:
   Мультилинии (MLINE);
   Мультиполигоны (MPOLYGON);
   Регионы (REGION);
   Таблицы (TABLE);

- Добавлена поддержка следующих примитивов, характерных для CIVIL 3D:
   Parcel Segment;
   Featured Line;
   Alignment;
   Tin Surface;

Pages: 1 ... 3 4 [5]