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.


Topics - Debalance

Pages: [1] 2
1
Новая версия приложения TotalPurge с поддержкой AutoCAD 2021 доступна для загрузки по этой ссылке.

2
В процессе работы в AutoCAD при редактировании различных чертежей многие пользователи сталкиваются с задачей измерения площади той или иной замкнутой области. Существует несколько способов измерения площади в AutoCAD. Рассмотрим эти способы более подробно, а также проанализируем их сильные и слабые стороны.

Получение значения площади из свойств замкнутого объекта AutoCAD.
Если такая область образована одним ограничивающим объектом, например окружностью, замкнутой полилинией или регионом, то её площадь можно получить из свойств данного объекта. Палитру свойств можно вызвать посредством комбинации клавиш Ctrl+1.



Команда _LIST (СПИСОК) также позволяет получить значение площади из свойств ограничивающего объекта.



При этом необходимо отметить, что манипуляции связанные с извлечением значений площадей у большого количества таких объектов могут оказаться достаточно трудоёмкими.

В том случае если существует необходимость посчитать площадь области, образованной сопряжением или пересечением различных типов объектов, то трудоёмкость измерения такой площади как правило возрастает. Дело в том, что пользователю приходится теми или иными средствами AutoCAD создавать дополнительный ограничивающий объект на месте этой области, например используя команды _BOUNDARY (КОНТУР), _PLINE (ПЛИНИЯ) или создавать объект штриховки с помощью команды _HATCH (ШТРИХ). При этом надо помнить, что такой избыточный объект, скорее всего, потребует последующего удаления по окончании всех манипуляций, необходимых для измерения площади в AutoCAD. Недостатки этого способа включают в себя все недостатки характерные для указанных команд (_BOUNDARY, _HATCH) связанные с неточностью, а порой и невозможностью построения некоторых контуров.

Измерение площади замкнутой области посредством команды _AREA.
Существует ещё один способ измерения площадей в арсенале стандартного набора функций AutoCAD - это команда _AREA (ПЛОЩАДЬ). Данная команда специально предназначена для быстрого измерения площади области без дополнительного построения ограничивающего объекта.



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

Измерение площадей в AutoCAD с помощью бесплатного плагина AreaTester.
На текущий момент одним из самых эффективных способов измерения площадей в AutoCAD является способ с применением бесплатного плагина AreaTester. В данном случае в AutoCAD (при наличии установленного плагина) появляется возможность подсчёта не только площадей замкнутых объектов, таких как полилиния или окружность, но и любых других замкнутых областей, образованных пересечением и сопряжением различных типов объектов, к которым относятся линии, дуги, сплайны и многие другие базовые примитивы AutoCAD. При этом для измерения площади какой-либо области необходимо лишь навести на неё перекрестие курсора и значение площади мгновенно отобразится в контекстном окне над курсором. Кроме того, для дальнейшей работы пользователь может сформировать необходимый список площадей в главном окне приложения. В созданном списке автоматически осуществляется подсчёт всех площадей. Итоговый результат суммирования отображается в нижней части главного окна.



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



Дополнительным возможности бесплатного плагина AreaTester для AutoCAD:
- Автоматическое определение всех площадей на чертеже.
- Нанесение разметки площадей непосредственно в чертеже.
- Экспорт сформированного списка площадей в буфер обмена или какой-либо удобный формат данных (*.txt, *.csv).
- Добавление в чертёж таблицы списка площадей.

Ссылка для загрузки AreaTester.

3
Many users are faced with the task of measuring areas when editing various drawings in the process of working in AutoCAD. There are several ways to measure the area in AutoCAD. Let's take a closer look at these methods and analyze their strengths and weaknesses.

Getting the area value from the properties of an object.
If such a enclosed shape is formed by one object, for example, a circle, enclosed polyline or region, then its area value can be getted from the properties of this object. The property palette can be opened pressing Ctrl + 1.



The _LIST command also allows you to get the area value from the properties of the enclosed object.



It should be noted that the manipulations associated with getting the values of the areas of a large number of such objects can be quite time-consuming. If there is a need to measure the area of the enclosed shape formed by the connection or intersection of various types of objects, the complexity of calculating the area such a shape usually increases. The fact is that the user has to use some AutoCAD tool to create an additional enclosed object in place of this shape, for example using the _BOUNDARY, _PLINE commands or create a hatch object using the _HATCH command. It should be remembered that such a redundant object is likely to require subsequent removal at the end of all the manipulations necessary to measure the area in AutoCAD. The drawbacks of this method include all the drawbacks characteristic of these commands (_BOUNDARY, _HATCH) associated with inaccuracy, and sometimes the impossibility of constructing some boundaries.

Measuring the area of an enclosed shape using the _AREA command.
There is another way to get the area of eclosed shape in the standard set of AutoCAD tools - this is the _AREA command. This command is specifically intended to quickly measure the area of such a shape without additional creating of an enclosed object.


 
The obvious advantages of the _AREA command include the ability to get the area value of a shape that have gaps along the outline. But basically this method is more suitable for calculating the areas of simple polygons. When working with large and complex enclosed shapes, this method demonstrates very mediocre performance, because in fact, the user has to manually (point by point) re-draw boundary of this shape. If the boundary elements include various kinds of splines, then the exact calculation of the area in this case is a big question due to the limited capabilities of the _AREA command when working with similar objects.

Measuring the area of any enclosed shape in AutoCAD using AreaTester free plugin.
Currently, one of the most effective methods for calculating the area of any enclosed shape in AutoCAD is the method using the AreaTester free plugin. In this case (if plugin is installed into AutoCAD environment), it becomes possible to measure not only the areas of enclosed objects, such as a polylines or circles, but also any other shapes formed by the intersection and connection of various types of objects, which include lines, arcs, splines and many other AutoCAD basic objects. At the same time, to measure the area of any enclosed shape, you only need to point the crosshair of the cursor on it and the area value will be instantly displayed in the context window above the cursor. In addition, the user can create the necessary list of the areas in the main application window for the further work. All these areas are summed automatically in the created list. The total result of the summation is displayed at the bottom of the main window of the app.



One of the key features of AreaTester, compared to the standard AutoCAD tools described above, is the ability to determine the area value of any enclosed shape excluding the areas formed by objects that have got inside such an shape (the so-called "islands"). This option significantly simplifies the user’s work on calculating areas in AutoCAD, eliminating the need for additional mathematical operations.



Additional features of the AreaTester for AutoCAD free plugin:
- Automatic measuring of the all areas in a drawing.
- Annotating the areas directly in a drawing.
- Exporting the generated list of areas to the clipboard or some convenient data format (* .txt, * .csv).
- Adding the table of the area list to a drawing.

Visit the official website AreaTester for AutoCAD free plugin: http://areatester.com

4
The official website of the AreaTester for AutoCAD free plugin has started: http://areatester.com. All subsequent updates of the app can be downloaded directly from this resource.

5
Заработал сайт приложения AreaTester для AutoCAD: http://areatester.com/rus. Все последующие обновления программы можно будет загружать непосредственно с этого ресурса.

6
Доступна версия программы ToalPurge с поддержкой AutoCAD 2019. Вот прямая ссылка для загрузки.

7

Recently, the BricsCAD platform is becoming more and more popular for a developers in world wide. Thanks to the high compatibility of the BricsCAD API with AutoCAD, porting even complex applications is not such a difficult task.
We are also not lagging behind this trend. We bring to your attention the popular SuperBoundary application now on the BricsCAD platform. The SuperBoundary application, being a powerful alternative of the standard BOUNDARY (BPOLY) command, will allows you to easily build closed boundaries (contours) on drawings of varying complexity. This video shows a step-by-step instruction for using SuperBoundary on the latest version of BricsCAD Platinum V18.

8
Разместил новую версию программы SuperBoundary v.2.0.0.23.

Начальный индекс "2" в версии свидетельствует о глубокой модернизации движка программы. Уклон сделан на ускорение вычислений связанных с поиском точек взаимных пересечений примитивов, а также на усиление надёжности работы программы с большим количеством примитивов.

Основной перечень некоторых обновлений:
1. Улучшена работа программы с примитивом типа "ЭЛЛИПС". Ранее эллипсы перед процессом обработки трансформировались (методом кусочно-линейной аппроксимации) в последовательный набор отрезков. Теперь же данный примитив обрабатывается целиком, что ускоряет работу программы.

2. В настройках программы добавлена опция "Обработка Сплайнов":

Здесь можно выбрать один из режимов, спомощью которого программа будет осуществлять предварительную обработку сплайнов:
- Стандартный режим - предварительное преобразование сплайна методом кусочно-линейной аппроксимации в цепочку отрезков.
- Ускоренный режим - как и в случае с эллипсом оперирование примитивом осуществляется целиком, без предварительных промежуточных преобразований.

Ускоренный режим существенно (в разы) сокращает время работы программы при наличии большого количества сплайнов в выбранном фрагменте чертежа. Однако (как выяснилось после многочисленных тестирований), в этом методе обработки в случае сложных сплайнов могут присутствовать некоторые неточности построения, при обнаружении замкнутых областей образованных пересечением таких сплайнов с другими примитивами. К сожалению, это обусловлено неточностью в работе математического движка самого AutoCAD. Поэтому для построения гарантированно правильных контуров рекомендуется использовать Стандартный режим.

3. Устранён ряд критических ошибок, вызывавших переполнение стека при работе со сложными контурами.

4. Добавлена поддержка AutoCAD 2018.

9
Разместил новую версию программы TotalPurge v.5.1.0.73. Качаем по этой ссылке.
Добавлено:
- поддержка AutoCAD 2016.
- поддержка AutoCAD 2017.
- поддержка AutoCAD 2018.

Переработано:
- полностью переписан инсталлятор программы. Теперь в одном дистрибутиве собраны два исполнения программы (x86, x64). Выбор платформы осуществляется автоматически.

Удалено из дистрибутива:
- поддержка AutoCAD 2008.
- поддержка AutoCAD 2009.

Мне не удалось тщательно потестировать установку программы на платформе x86, поэтому просьба, у кого такая возможность есть - отписаться о возможных проблемах.

12
В данном посте рассматривается решение задачи обнаружения и построения контуров всех замкнутых областей сложного (насыщенного) чертежа с использованием плагина SuperBoundary. Я хотел бы сразу оговориться, что это решение не более чем тест, так сказать проверка на прочность возможностей программы SuperBoundary. Поэтому я бы попросил все Пытливые Умы относиться к подобному тесту и его целесообразности с долей снисхождения.

На самом деле вопрос о "сложности" чертежа в некоторой степени риторичен, а в некоторой требует определённого уточнения. КТО-НИБУДЬ из сторонников абсолютных цифр считает, что "навороченный" чертёж может содержать десятки тысяч объектов, а ,например, НЕКТО мыслит категориями большего масштаба - разумно полагая, что такой чертёж должен вмещать ни как не меньше сотни тысяч примитивов.
Я же являюсь приверженцем относительной шкалы ценностей. На мой взгляд сложность чертежа должна определяться в первую очередь "железом" т.е. рабочим местом, на котором с ним производят те или иные манипуляции. Ведь давно известно, что несколько миллионов примитивов открытых в среде AutoCAD легко "убивает" комп с 64 гигами памяти. Поэтому здесь (размышляя о степени сложности чертежа) я буду отталкиваться от конфигурации своей тестовой машины.
А конфигурация её такова:
- процессор Core i5, 3,3 ГГц;
- оперативная память 32 Гб;
- операционная система Windows 8.1;
- графическая среда AutoCAD 2016.

Согласен - не густо, но что имеем тем и дорожим. Поэтому (отталкиваясь от опыта общения с AutoCAD'ом) приходим к выводу, что комфортная работа на такой конфигурации должна быть с чертежом, занимаемый объём которого в оперативной памяти не будет превышать 25 Гб. Именно такой чертёж в данном контексте мы и будем называть "сложным". Причем важно учитывать следующее условие: в обозначенные 25 ГБ памяти должны "влезать" созданные нами многочисленные контуры. Т.е. реальный исходный чертёж должен быть, примерно, в 2,5 раза более компактным.
Такой чертёж мне удалось раздобыть, точнее сказать он мне был любезно предоставлен одним из "Активнейших Членов" геодезического сообщества, за что выражаю Ему благодарность.
Итак предоставленный в моё полное распоряжение тестовый чертёж содержит порядка 245 000 объектов. Здесь стоит отметить - этот чертёж несёт в себе весьма объёмное количество полилиний с достаточно большим содержание вершин. Поэтому реальный вес таких объектов в памяти существенен по сравнению с элементарными примитивами типа ОТРЕЗОК или ДУГА.
Для желающих повторить описанные ниже тестовые манипуляции предоставляю ссылку на исходный чертёж. Размер чертежа - чуть больше 60 МБ.

Переходим, собственно, к тесту. Будем действовать по-порядку:
1. Откываем чертёж:


2. Запускаем SuperBoundary и выделяем все объекты:


Как видно из данного рисунка количество объектов попавших в рассмотрение программы составляет порядка 160 000 примитивов.

3. Лезем в настройки и устанавливаем следующие параметры:


Здесь для меня важными опциями с точки зрения визуализации будут:
- генерация заливок (Generate solid filled shape);
- цвет примитивов - произвольный (Use random color).
Для усложнения задачи активируем "Решение островков" (Island detection).

4. Запускаем процесс, нажав кнопку "START". Собственно сам процесс выявления контуров занял у нас примерно 34 минуты, что видно по часам таймера на следующем скриншоте:


Как видно из этого скриншота в результате работы программы было обнаружено чуть больше 218 000 контуров.
Также на этом этапе я хотел бы отметить максимальный расход памяти зафиксированный при генерации контуров. Он составил в районе 16 ГБ, о чём свидетельствует ниже скриншот диспетчера задач:


5. Преобразуем все выявленные контуры в конкретные примитивы среды AutoCAD и добавляем их в базу чертежа. Для этого жмём появившуюся кнопку "BUILD ALL" (СТРОИТЬ ВСЁ). Итоговый скриншот диалогового окошка SuperBoundary привожу ниже:


Из рисунка видно что на данную процедуру мы потратили всего лишь треть секунды времени.

6. Ну и наконец закрываем окно программы и наслаждаемся полученными результатами:


Или вот, некий приближённый фрагмент чертежа:


Как видите качество созданных созданных контуров "на высоте".

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


Цифра в 20,5 Гб хоть и большая но вполне комфортная для данной конфигурации системы. Размер обновлённого чертежа после сохранения составил чуть более 207 МБ.

13
Разместил новую версию программы SuperBoundary v.1.0.1.40.
Перечень обновлений:
1. Исправлена некорректность работы программы при генерации контуров с внутренними островками, образованными двумя и более совпадающими окружностями.

2. Добавлена поддержка работы с внешними ссылками (XREF).

3. В настройках программы добавлен параметр Combine polylines into groups (Объединять полилинии в группы):


Данная опция становится доступной после активации функции Island detection (Решение островков). Таким образом все обнаруженные островки-полилинии будут объединяться в группу вместе с содержажей их родительской полилинией. На рисунке ниже показан пример такой группы, в котором родительская полилиния объединена с двумя окружностями-островками:


4. Добавлен вывод информации о генерируемых контурах в текстовое окно AutoCAD в режиме указания точки:


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

14
Разместил видео, которое демонстрирует возможности SuperBoundary при построении контуров среди объектов расположенных на чертеже с большими зазорами друг по отношению к другу:



Как видно из видео, самое главное при построении подобных контуров это - правильное указание величины допуска. При этом необходимо помнить, что все примитивы, размер которых меньше заданной величины допуска будут пренебрегаться программой и приравниваться к точечным объектам. Таким образом произойдёт "загрубление" чертежа.
Поэтому желательно стремиться к умеренной минимизации значения допуска во избежание утраты малых элементов, учитываемых при построении контура.

15
Разместил новое видео, которое демонстрирует возможности создания внешнего контура чертежа средствами SuperBoundary:



Собственно это есть "классический" метод, при помощи которого, используя стандартную команду _BOUNDARY (_BPOLY) в AutoCAD можно "попытаться" построить контуры чертежей. Классичность этого метода заключается в предварительном построении ограничивающего прямоугольника вокруг фрагментов чертежа, для которых мы планируем построить внешние контуры, с последующим указанием точки в произвольной пустой области между фрагментами и прямоугольником.

Добавлю небольшое пояснение... Как вы, друзья, сами понимаете такие "попытки" построить внешний контур именно этого чертежа с помощью BPOLY ни к чему не приведут (вернее они приведут исключительно к зависанию этой самой BPOLY даже при работе на последних версиях AutoCAD). Иными словами BPOLY "захлебнётся" уже на первых секундах построения. И это понятно, ибо примитивов в данном чертеже более десятка тысяч!
Тем не менее, как вы видите из видео, SuperBoundary прекрасно справляется с поставленной задачей, расходуя на анализ чертежа менее пяти секунд!

Резюмируя вышесказанное хочется процитировать одного моего западноевропейского приятеля, который вволю "накувыркавшись" с BPOLY заявил: BLOODY COMMAND! Как говориться добавить нечего... :)

Pages: [1] 2