Ultimate solutions for AutoCAD

  Оптимизация:

  TotalPurge:

  Debalance.com:

Конвертация сплайнов и прочих кривых в полилинии.

Возможности программы TotalPurge
Под сплайнами и кривыми в данном контексте понимаются следующие нетривиальные типы примитивов:
  • Сплайны (NURBS) образованные от класса AcDbSpline.
  • Еллипсы (ELLIPSE) образованные от класса AcDbEllipse.
  • Полилинии (POLYLINE) с аттрибутами spline-fit и curve-fit образованных от класса AcDb2dPolyline.
В программе TotalPurge реализована возможность преобразования указанных типов кривых в простые полилинии AutoCAD (LWPOLYLINE).
Указанные преобразования в большинстве случаев не всегда ведут к оптимизации и уменьшению исходного файла чертежа, а при определенных настройках преобразование таких объектов в полилинии зачастую приводит к увеличению его размера. Именно поэтому в настройках по умолчанию отключены опции конвертации кривых в полилинии.

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

Для активации конвертации сплайнов и прочих кривых в полилинии необходимо в настройках программы (в диалоговом окне "Settings" ("Настройки") вкладка "Polylines" ("Полилинии") выбрать требуемые для конвертации объекты см. Рис. 1. (по умолчанию активированы лишь так называемые "базовые объекты": линии, дуги, окружности).
Рис. 1
Предварительно убедитесь, что в настройках во вкладке "Polylines" ("Полилинии") включена опция "Smart convertion" ("Интеллектуальный метод") см. рис 2:
Рис. 2
Подробнее о настройках программы см. в разделе "Settings" ("Настройки").
Помните также, что при включенной опции "Optimization of blocks" ("Оптимизация блоков") во вкладке "Optimization" ("Оптимизация") программа преобразует объекты в полилинии внутри выбранных блоков.

Характерные особенности работы программы TotalPurge
Рассмотрим преобразование сплайна показанного на рис. 3 в полилинию:
Рис. 3
Простая конвертация сплайна.
При данном способе конвертации, свойственном подавляющему большенству программ-конвертеров, преобразованный сплайн представляет из себя аппроксимирующую полилинию с некоторым количеством вершин (vertex) см. Рис. 4.
Рис. 4
Вершины распологаются по контуру сплайна с равномерным шагом. Чем меньше шаг тем больше вершин и тем точнее полилиния повторяет исходный контур сплайна. Однако, полученная полилиния имеет существенный недостаток - большое количество вершин при сравнительно малом шаге. В свою очередь это приводит к увеличению размера чертежа.

Оптимизированная конвертация сплайна.
На рис. 5 показан вариант оптимизированной полилилинии, полученной вследствие преобразования сплайна программой TotalPurge.
Рис. 5
Как видно из рисунка оптимизированной полилинии вершины располагаются на ней с неравномерным шагом. В том месте где формы контура исходного сплайна были близки к прямолиненым шаг расположения вершин имеет большие значения. И наооборот, где участки имеют наиболее выраженные изгибы вершины полилилинии располагаются ближе друг к другу (с меньшим шагом).
Такая оптимизированная полилиния вследствие разреженного расположения вершин расположенных на прямолинейных участках занимает меньше места в чертеже.
Значение минимального шага аппроксимации задается в поле "Approximation step" ("Шаг аппроксимации") см. Рис. 1.

Два типа аппроксимации.
В программе реализованы два способа аппроксимации при конвертации кривых в полилинии:
  • Аппроксимация дугами.
  • Аппроксимация линиями.
Выбор способа аппроксимации осуществляется в настройках программы во вкладке "Curves" ("Кривые") см. Рис. 6:
Рис. 6

На Рис. 7 показан фрагмент кривой преобразованный двумя указанными способами (аппроксимация дугами и линиями).
Рис. 7
Как видно из рисунка в случае если кривая имеет выраженные изгибы то полилиния полученная способом аппроксимации дугами имеет более плавные переходы от вершины к вершине. Кроме того, количество самих вершин используемых при построении полилинии созданной этим методом в два раза меньше чем при аппроксимации линиями.
Copyright © 2005-2013 DEBALANCE