Как уменьшить количество точек в полилинии автокад
Построил полилинию, затем делаю офсет ее. Новая линия если ее выделить имеет кучу узлов, гораздо больше чем у базовой линии. Как уменьшить число узлов или сделать так чтобы было столько же сколько у базовой полилинии. Таже проблема при использовании команды join при редактировании полилинии. Появляются новые узлы.
Спасибо
Можно уточнить, зачем уменьшать количество узлов?
> Илья
А с чего бы новой линии иметь гораздо больше узлов, чем у оригинала? Непонятно.
> Владимир Громов
Ну как же
Была плиния из одного сегмента - 2 вершины
Добавили еше 1 сегмент - на 1 вершину стало больше ;)
> Илья
Как добавляешь, какие сегменты? Совпадали ли вершины, или был зазор между сегментами или наложение сегментов?
Какие полилинии подобил? С дугами? Иногда подобие добавляет промежуточные дуговые сегменты, если нельзя в "подобном" варианте найти реальное пересечение с новыми подобными дугами.
> Atol
Илья писал:
Построил полилинию, затем делаю офсет ее. Новая линия если ее выделить имеет кучу узлов, гораздо больше чем у базовой линии.
Откуда после выполнения подобия появляется куча новых узлоа?
Новые узлы я видел при ОФФсете сплайна и Элипса - вот там это действительно - кошмар
А так - я высказал предположение - о дуговых сегментах - но там их сразу видно и понятна причина - а здесь, да, непонятно.
> Stiva
Можно уточнить, зачем уменьшать количество узлов?
Для того чтобы удобно было редактировать с помощью ручек.
> Владимир Громов
Линия при овсете имеет столько же узлов сколько и базовая линия, а у полилинии появляются новые узлы
> Atol
С дугами такого нет, а при использовании нескольких полилиний (команда pl)появляются узлы
> Илья
За счет чего у полилинии появляются новые узлы, а? Опишите ситуацию. Эллипс при подобии превращается в сплайн, но полилиния-то остается полилинией. Конечно, если взять какую-нибудь самопересекающуюся полилинию, то всякое возможно, только для чего этой полилинии делать подобие? Она вообще может развалиться на несколько кусков.
> Илья
Командой _pedit>Edit vertex>Straighten
[Next/Previous/Go/eXit]
потом Enter проходишь те вершины, которые нужно убрать и нажимаешь G,
Но всё-таки нужно было написать, что полилинии были обработаны сплайном. И не мешало бы оговорить версию Автокада.
Покрайней мере в 2006 такая проблема появляется после редактирования полилинии
_pedit>Spline
Народ в форуме сидит не только что бы раздавать бесплатные советы, но хочется и для себя, что-то подчерпеуть.
Так что. постарайтесь пояснить статус Вашей полилинии, что бы можно было понять, откуда берутся дополнительные вершины.
Потому что объединенье в один элемент две полилинии и дуга между ними после команды _offset
дают аналогичные две полилинии и дугу между ними.
Автор:
Операция " Упростить полилинии " используется для добавления и удаления вершин 3D полилиний. Она подходит для контроля размера файла чертежа и вида горизонталей или для удаления избыточной информации.
Введите " Коэффициенты упрощения " и " Коэффициенты дополнения ", чтобы определить, следует ли добавлять или удалять вершину 3D полилинии.
Коэффициенты упрощения
Используйте " Коэффициенты упрощения " для снижения количества точек, сформированных вдоль 3D полилиний. Коэффициенты упрощения не учитывают вершины, которые ближе друг к другу, чем параметр " Расстояние " и отклоняются меньше, чем указывает параметр " Угол ". При больших значениях расстояния и угла отклонения происходит упрощение большего количества точек. Параметр расстояния измеряется в линейных единицах, а значение угла – в угловых единицах.
" Коэффициенты упрощения " должны быть меньше " Коэффициентов дополнения ".
Удаление точки на 3D полилинии проводится в результате расчета ее положения по отношению к вершинам до и после нее. Если участок между этими тремя точками короче, чем значение длины упрощения, а угол отклонения меньше значения угла, заданного для упрощения, то средняя точка не добавляется к файлу данных о контуре.
Параметры коэффициента упрощения
Коэффициенты дополнения
" Коэффициенты дополнения " применяются для операций добавки вершин на 3D полилиниях. Расстояние добавления – это максимальное расстояние между вершинами. Если расстояние между вершинами на контуре больше значения параметра " Коэффициенты дополнения ", тогда вдоль контура добавляются точки через равные интервалы, которые не превышают расстояние добавления. Чем меньше расстояние, тем больше количество добавленных точек.
Параметры " Коэффициенты дополнения "
Прогиб
Для кривых значение выпуклости – это отношение расстояния от дуги до хорды к половине длины хорды. Условие выпуклости добавляет вершины к криволинейной полилинии, создавая аппроксимацию кривой с использованием прямолинейных сегментов. Длина таких сегментов меняется в зависимости от условия выпуклости и степени кривизны.
Операция " Упростить полилинии " используется для добавления и удаления вершин 3D полилиний. Она подходит для контроля размера файла чертежа и вида горизонталей или для удаления избыточной информации.
Примечание Эта функция предназначена только для объектов чертежа. Данные геопространственных элементов не имеют эквивалентов.Введите " Коэффициенты упрощения " и " Коэффициенты дополнения ", чтобы определить, следует ли добавлять или удалять вершину 3D полилинии.
Используйте " Коэффициенты упрощения " для снижения количества точек, сформированных вдоль 3D полилиний. Коэффициенты упрощения не учитывают вершины, которые ближе друг к другу, чем параметр " Расстояние " и отклоняются меньше, чем указывает параметр " Угол ". При больших значениях расстояния и угла отклонения происходит упрощение большего количества точек. Параметр расстояния измеряется в линейных единицах, а значение угла – в угловых единицах.
" Коэффициенты упрощения " должны быть меньше " Коэффициентов дополнения ".
Удаление точки на 3D полилинии проводится в результате расчета ее положения по отношению к вершинам до и после нее. Если участок между этими тремя точками короче, чем значение длины упрощения, а угол отклонения меньше значения угла, заданного для упрощения, то средняя точка не добавляется к файлу данных о контуре.
Параметры коэффициента упрощения
" Коэффициенты дополнения " применяются для операций добавки вершин на 3D полилиниях. Расстояние добавления – это максимальное расстояние между вершинами. Если расстояние между вершинами на контуре больше значения параметра " Коэффициенты дополнения ", тогда вдоль контура добавляются точки через равные интервалы, которые не превышают расстояние добавления. Чем меньше расстояние, тем больше количество добавленных точек.
Параметры " Коэффициенты дополнения "
Для кривых значение выпуклости – это отношение расстояния от дуги до хорды к половине длины хорды. Условие выпуклости добавляет вершины к криволинейной полилинии, создавая аппроксимацию кривой с использованием прямолинейных сегментов. Длина таких сегментов меняется в зависимости от условия выпуклости и степени кривизны.
Редактирование полилинии включает в себя операции, приводящие к изменению ее ширины, добавлению или удалению ее сегментов или вершин, а также операции по преобразованию (аппроксимированию) полилинии в сплайн.
Редактирование полилиний выполняется с помощью команды Pedit, которой соответствуют кнопка Edit Polyline (Редактировать полилинию) в инструментальной группе Modify (Редактирование) вкладки Ноте (Главная).
После вызова Pedit в командной строке будет выведен первый запрос Select polyline or [Multiple], в ответ на который необходимо выделить полилинию и нажать Enter. Затем, если выделенный объект является полилинией, система выведет набор параметров, посредством которых выполняется ее редактирование:
Enter an option [Close/Open/Join/Width/Editvertex/Fit/Spline/ Decurve/Ltype gen/Undo]: <Выбор уточняющего параметра>
Параметры команды следующие:
- Close – замыкает разомкнутую полилинию путем добавления нового сегмента (если последний сегмент полилинии был прямолинейным, то замыкание осуществляется добавлением прямолинейного участка, а если дуговым – для замыкания строится дуговой сегмент);
- Open – размыкает замкнутую полилинию (если выделена разомкнутая полилиния, то опция меняется на Close);
- Join – преобразует отрезок или дугу в односегментную полилинию или добавляет к полилинии новые смежные сегменты, которыми могут быть отрезки, дуги и другие двухмерные полилинии (параметр применяется только для разомкнутых полилиний);
- Width – изменяет ширину всех сегментов полилинии на новое постоянное значение (новое значение толщины вводится с клавиатуры или путем указания двух точек на экране);
- Edit vertex – переводит полилинию в режим редактирования ее вершин (перемещение, удаление ненужных, добавление новых и т.д.);
- Fit – преобразует полилинию с помощью дуговых сегментов в кривую, проходящую через вершины полилинии;
- Spline – аппроксимирует (сглаживает) полилинию в сплайн, который будет проходить только через начальную и конечную точки полилинии;
- Decurve – отменяет результат, полученный с использованием параметров Fit и Spline;
- Ltype gen – управляет построением типа линии (используется для сегментов по отдельности или для всей полилинии в целом);
- Undo – отменяет последнюю операцию, выполненную командой Pedit.
Если вместо ввода имени параметра будет нажата клавиша Enter, команда завершит свою работу. Выбор одной из представленных опций позволяет выполнить одну из возможных операций редактирования. Заслуживающие внимания параметры будут подробно рассмотрены далее.
Редактирование вершин полилинии
Опция Edit vertex позволяет редактировать вершины полилинии, а также соседние с ними сегменты. После выбора данной опции AutoCAD выделяет первую вершину полилинии, причем эта вершина обозначится маркером X (рис. 8.31). Порядок следования вершин идентичен той последовательности, в которой эти вершины создавались при построении полилинии. При этом в строке подсказки появляется новый набор параметров:
Enter a vertex editing option [Next/Previous/Break/ Insert/Move/Regen/ Straighten/Tangent/Width/eXit] <N>: <Выбор уточняющего параметра>
Параметры команды следующие:
- Next и Previous – перемещают маркер редактирования соответственно к последующей или к предыдущей вершине полилинии;
- Break – разбивает полилинию на две части или отсекает одну ее часть путем задания одной или двух точек;
- Insert – вставляет новую вершину после текущей;
- Move – переносит текущую вершину на новое место;
- Regen – перерисовывает (регенерирует) экран;
- Straighten – выпрямляет сегмент полилинии, расположенный между двумя указанными вершинами (дуговые сегменты и отрезки, находящиеся между указанными точками, удаляются и заменяются одним прямолинейным сегментом);
- Tangent – задает направление касательной к текущей вершине для выполнения операции Fit;
- Width – задает ширину полилинии на участке, начинающемся в текущей вершине;
- eXit – выход из режима редактирования вершин.
Для разбиения полилинии параметром Break указываются одна или две ее вершины. В последнем случае удаляются все сегменты, расположенные между указанными точками. При этом первая вершина задается до ввода параметра Break, а вторая – после. Для выбора второй точки в ответ на вопрос Enter an option [Next/Previous/Go/eXit] <N> необходимо указать параметр Next или Previous такое количество раз, чтобы достичь необходимой вершины. После того как обе точки будут выбраны, в последней строке подсказки вводится параметр Go. Если полилинию необходимо разбить в одной вершине, эту опцию нужно задать сразу после ввода параметра Break. Если же ввести параметр eXit, то выполнение команды прервется.
Для добавления новой вершины используется параметр Insert. Перед тем как перейти к этой опции, нужно переместиться к точке, после которой добавляется новая вершина, и только затем указать Insert. Положение новой вершины задается при помощи мыши или непосредственным вводом координат на вопрос системы Specify location for new vertex.
Если требуется удалить какие-то вершины полилинии, воспользуйтесь параметром Straighten. Запрос, отображаемый после ввода этой опции, аналогичен запросу, следуемому за выбором параметра Break: (Enter an option [Next/Previous/ Go/eXit] <N>). Опция Straighten выпрямляет полилинию на участке, начиная с текущей вершины и заканчивая той вершиной, в которую можно перейти, перемещаясь по полилинии с помощью параметров Next и Previous. В свою очередь, параметр Go завершает операцию выпрямления.
С помощью параметра Tangent можно определить касательное направление в помеченной маркером редактирования вершине. Указанное направление в дальнейшем будет использоваться при сглаживании кривых. После выбора опции Tangent следует запрос Specify direction of vertex tangent, на который необходимо ввести значение угла или координаты точки, определяющие направление касательной. После того как направление определено, в текущей вершине появляется стрелка (рис. 8.32). Направление будет использовано только в случае последующего вызова операции сглаживания полилинии с помощью параметра Fit.
Параметр Width позволяет ввести начальную и конечную толщину сегмента полилинии, следующего за выделенной маркером редактирования вершиной. По умолчанию конечная толщина сегмента равна начальной. Для построения сегмента неравномерной толщины следует на вопрос Specify starting (ending) width for next segment <0.00> ввести ее начальное и конечное значения (рис. 8.33).
Для автоматического построения типа линий используется параметр Ltype gen, позволяющий вычерчивать непрерывную (опция включена) или прерывистую (штрихпунктирную) линию.
Работает эта опция как переключатель системной переменной PLINEGEN (рис. 8.33). Если сегмент полилинии имеет переменную толщину (рис. 8.34), то параметр применить нельзя.
Сглаживание полилиний кривой
Для сглаживания полилиний предназначены два параметра – Fit и Spline. Параметр Fit строит кривую, которая состоит из дуг окружностей и проходит через все вершины полилинии (рис. 8.35). В свою очередь, параметр Spline также позволяет сгладить прямолинейные сегменты полилинии, но кривая будет при этом проходить только через первую и последнюю ее вершины.
Отметим, что иногда использование параметра Fit не дает желаемого результата. В таком случае можно попробовать ввести дополнительные точки или указать касательное направление в некоторых вершинах посредством параметра Tangent. После обработки полилинии параметром Tangent на ней появляются дополнительные вершины, которые также можно будет использовать для достижения нужного результата.
При сглаживании параметром Spline кривая лишь вытягивается в направлении вершин полилинии, но не проходит через них (рис. 8.36).
Следует отметить, что для сглаживания можно использовать два вида сплайна: квадратичный или кубический (рис. 8.37), причем кубический сплайн дает наилучшие результаты.
При сглаживании тип сплайна определяется значениями системных переменных SPLYNETYPE и SURFTYPE. В том случае если SPLYNETYPE=5, тогда формируется квадратичный сплайн; значение SPLYNETYPE=6 использует при сглаживании кубический сплайн. Вместе с тем переменная SURFTYPE определяет поверхность сглаживания. Для построения поверхности Безье этой переменной следует присвоить значение 8. Значение SURFTYPE=5 определяет тип поверхности сглаживания в виде квадратичного сплайна, a SURFTYPE=6 – кубического сплайна.
Спрямление полилинии
Для спрямления полилинии, предварительно сглаженной параметрами Fit и Spline, используется опция Decurve (рис. 8.38). При этом добавляемые при сглаживании новые вершины удаляются, однако касательные направления, созданные параметром Tangent, сохраняются с целью их повторного использования. Более того, параметр Decurve можно применять для спрямления любой кривой, построенной при помощи параметра Arc команды Pline. Параметр нельзя применить только в том случае, если кривая предварительно была разбита параметром Break.
Pltools отвечает на все вопросы которые у вас могут возникнуть при работе с полилиниями и 3d полилиниями. Конвертация, оптимизация, направление, и многое другое. В одной удобной, небольшой панели умещается функционал который по идее должен быть в Автокаде по умолчанию.
Отдельные разработки для работы с полилинией были собраны воедино, к ним добавили общий интерфейс и справку. Новые команды на редкость удачно взаимодополняют друг друга, а интерфейс для работы с ними получился простым, интуитивным и наглядным.
Где скачать PLTOOLS
Назначение PLTOOLS
Набор программ для работы с полилиниями.
Использованные коды программ
Список файлов
Определенные команды Автокада (Редакция 17.06.2014)
- PL-JOIN -Объединение выбранных полилиний
- PL-VFI -Вставка вершин в выбранной полилинии в местах пересечения с
указанными полилиниями, линиями, дугами - PL-JOIN3D -Объединение 3D полилиний
- PL-A2L -Замена линейного сегмента в полилинии дуговым сегментом.
- PL-L2A -Замена дугового сегмента в полилинии линейным сегментом.
- PL-DIV -Разбивает выбранный сегмент полилинии на указанное количество
сегментов или через указанное расстояние - PL-DIVAll -Разбивает все сегменты полилинии на указанное количество
сегментов или через указанное расстояние - PL-VxAdd -Добавляет новую вершину к полилинии
- ENTREVS -Реверс объекта
- ENTREV -Реверс объектов (множественный выбор)
- PL-CW -Реверс выбранных полилиний по часовой стрелке
- PL-CCW -Реверс выбранных полилиний против часовой стрелки
- PL-VxRdc -Удаление вершин полилиний, которые лежат на одной прямой
- PL-VxDel -Удаление выбранной вершины
- pl-VxOpt -Удаление совпадающих вершин из полилинии
- PL-NoArc -Аппроксимация дуговых сегментов полилинии
- PL-Clone -Построение полилинии путем копирования ее сегментов
- PL-VxMove -Перемещение вершин полилинии
- PL-Vx1 -Изменение начала полилинии
- ConvTo2d -Преобразование линейных объектов в 2D полилинии
- ConvTo3d -Преобразование линейных объектов в 3D полилинии
- MPL -Построение средней линии
- R3P -Прямоугольгик по 3-м точкам
- PL-P90 -Рисование перпендикулярных друг к другу сегментов полилинии
- PL-CSE -Объединение 2d полилиний по примитиву
- PL-SgWidth -Изменить ширину сегмента полилинии
Как использовать plTools
Собственно для того чтобы показать на сколько это быстро и тривиально, записал небольшой видео урок.
Еще по теме
10 комментариев
прошу добавить в описание установки то, что путь к папке pltools должен быть без пробелов
здравствуйте не как не могу скачать pitools для полилиний помогите пожалуйста
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Читайте также: