Работа с полилиниями


В данном разделе меню находятся модули для различных манипуляций с полилиниями.

Реверсировать полилинии
Добавить к полилинии вершину
Удалить у полилинии вершину
Удалить у полилинии повторяющиеся вершины
Преобразовать сегмент в дугу
Преобразовать сегмент в прямую
---
Экспорт координат вершин полилинии в CSV-файл
Экспорт координат вершин нескольких полилиний в CSV-файл
Построить полилинию по координатам из CSV-файла
Построить несколько полилиний из CSV-файла
---
Поворот текста по полилинии
Поворот блоков по полилинии
Поворот блоков по полилиниям
---
Выделить аналогичные объекты рядом с полилинией
Выделить аналогичные объекты внутри полилинии
Выделить аналогичные объекты снаружи полилинии
Перенести аналогичные объекты на полилинию
---
'Взорвать' типы линий
Замена типов линий на основе CSV-файла
Сопоставить слой типу линии на основе CSV-файла
Подписать полилинии текстом
Подписать середины сегментов полилиний текстом
---
Объединить полилинии
Упростить полилинии
---
Округлить площадь полилинии
Построить 3D полилинии по объектам вдоль полилиний
Подрезать полилинии внутри контуров
Корректно замкнуть полилинии
Выделить полилинии с двумя вершинами

Реверсировать полилинии

Под реверсированием понимается изменение порядка вершин полилинии на обратный. Это может быть применено для "переворачивания" линейных условных знаков (полилиний):

Модуль сделан для старых версий AutoCAD и ZWCAD. В новых версиях этих САПР данную операцию можно осуществить штатными средствами.


Добавить к полилинии вершину

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


Удалить у полилинии вершину

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


Удалить у полилинии повторяющиеся вершины

Данный модуль удаляет у полилиний продублированные вершины, т.е. две и более последовательно идущие вершины, координаты которых совпадают по координатам с указанным допуском.


Преобразовать сегмент в дугу

Данный модуль сделан для пользователей ZWCAD и старых версий AutoCAD, в которых отсутствуют удобные инструменты для преобразования сегмента полилинии в дугу.



Преобразовать сегмент в прямую

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


Экспорт координат вершин полилинии в CSV-файл

Данный модуль экспортирует в CSV файл координаты вершин выбранной полилинии.


Экспорт координат вершин нескольких полилиний в CSV-файл

Данный модуль экспортирует в CSV файл координаты вершин НЕСКОЛЬКИХ выбранных полилиний:


В сочетании с модулем Построить несколько полилиний из CSV-файла данный модуль может быть использован для пересчета координат в сторонних программах.

Признаком окончания одной полилинии и началом следующей является пустая строка в CSV файле(пустые ячейки в Excel).


Построить полилинию по координатам из CSV-файла

Данный модуль строит полилинию по координатам из CSV файла. Формат CSV файла: 2 столбца, координата X и координата Y, разделитель точка-запятой. Построение вершин идет в том порядке, в котором идут их координаты в CSV файле. Полилиния строится на текущем слое, текущим цветом и текущим типом линии.


Построить несколько полилиний из CSV-файла

Данный модуль строит полилинии по координатам из CSV файла:


В сочетании с модулем Экспорт координат вершин нескольких полилиний в CSV-файл данный модуль может быть использован для пересчета координат в сторонних программах.

Признаком окончания одной полилинии и началом следующей является пустая строка в CSV файле(пустые ячейки в Excel).


Поворот текста по полилинии

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

После обработки:

Черная полилиния - та, по которой выравнивался текст. Пунктирной линией (показана для наглядности) показан допуск, в примере равный 100. В качестве начала полилинии была указана точка рядом с левым концом полилинии. Если бы была указана точка рядом с правым концом полилинии, данный пример выглядел бы так:


Поворот блоков по полилинии

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

После обработки:

Черная полилиния - та, по которой выравнивались блоки. Пунктирной линией (показана для наглядности) показан допуск, в примере равный 100. В качестве начала полилинии была указана точка рядом с левым концом полилинии.


Поворот блоков по полилиниям

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


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


Выделить аналогичные объекты рядом с полилинией

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

На примере выше показано, что в результате работы модуля были выбраны блоки, находящиеся рядом с полилинией в пределах допуска, равном в данном примере 100 (пунктирная линия, показанная для наглядности).


Выделить аналогичные объекты внутри полилинии

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


Выделить аналогичные объекты снаружи полилинии

Модуль позволяет выделить аналогичные объекты, находящиеся снаружи указанной полилинии:



Перенести аналогичные объекты на полилинию


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

После обработки:


'Взорвать' типы линий

Модуль позволяет 'взорвать'(расчленить) полилинии и линии с заданным сложным типом линии таким образом, что описанные в типе линии тексты и шейпы окажутся извлеченными:

Примечание к примеру. Полинии до обработки и объекты, полученные в результате работы модуля показаны выделенными намеренно.

Этот модуль будет полезен при экспорте DWG-файла в другие программы, которые не поддерживают сложные типы линий.

См. также 'Взорвать' объекты типа 'Форма'(Shape)

Важное замечание. В случае если модуль не сможет получить доступ к файлу SHX, на шейпах которого сформирован тип линии, шейпы извлечены не будут.


Замена типов линий на основе CSV-файла

Позволяет заменить типы линий у объектов чертежа на основе CSV-файла в виде двух столбцов. 1-й столбец - заменяемый тип линии, 2-й столбец - тип линии, на который нужно заменить. Тип линии, указанный во 2-м столбце должен обязательно присутствовать в чертеже. По окончании работы выводится подробная информация о выполненных заменах.





Назначить тип линии по слою на основе CSV-файла

Позволяет назначить тип линии объектам чертежа (только линии, полилинии, 3д-полилинии) в зависимости от слоя. Зависимость типа лини от слоя описывается в CSV файле, который пользователь составляет самостоятельно и указывает в данном модуле. Первой колонкой в CSV-файле должны перечисляться имена слоев, во втором - назначаемые типы линий. Разделитель данных - точка-запятой.

Важное замечание! Все типы линий, указанные в CSV-файле, должны присутствовать в чертеже. Если какой-либо тип линии не найден в чертеже, в текстовом окне автокада выводится соответствующее сообщение об ошибке.

Окно модуля:


Содержимое CSV файла:


Результат работы программы:


Пояснение к примеру. Полилинии в левой части изображения находятся на слоях(сверху вниз): 0, слой_1, слой_2, слой_3, слой_4, слой_5. Верхняя полилиния не подверглась изменению, т.к. слой с именем '0' не описывается в исходном CSV-файле. Остальные типы линий подверглись изменению, им был назначен тип линии в соответствии с CSV-файлом.


Подписать полилинии текстом

Позволяет нанести на полилинии (а так же над полилинией или под полилинией) текст с указанным шагом и указанного размера.



Если способ вставки текста указан на полилинии, то к тексту применяется скрытие заднего фона.


Подписать середины сегментов полилиний текстом

Позволяет нанести на середины сегменты выбранных полилиний заданный текст заданного размера.



Объединить полилинии

Модуль позволяет объединить несколько рядом расположенных полилиний(и/или линий) в одну полилинию.



Модуль написан для пользователей ранних версий AutoCAD и ZWCAD, в которых не было средства объединения полилиний с допуском.

Если у Вас современная САПР платформа, рекомендуется пользоваться штатными средствами(т.к. этот модуль не отличается высоким быстродействием): Команда _PEDIT - 'Несколько' - выбрать полилинии - 'Добавить' - укажите значение допуска - нажмите ENTER.


Упростить полилинии

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



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



Пояснение параметра Угол. Если задать угол равным 5 градусов, вершина, отмеченная красной стрелкой на примере ниже, будет удалена:



Пояснение параметра Длина перпендикуляра. Если задать этот параметр равным 0.1, вершина, отмеченная красной стрелкой на примере ниже, будет удалена:



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


Округлить площадь полилинии

Модуль 'округляет' площадь полилинии посредством перемещения указанной вершины до такого положения, при котором площадь полилинии становится равной требуемой величине. Округление производится по правилу '1.4 → 1, 1.5 → 2'.



Построить 3D полилинии по объектам вдоль полилиний

Модуль позволяет построить 3D полилинию по объектам(блоки, точки, шейпы, окружности или тексты), находящимися в указанном допуске от заданной полилинии. Z исходных объектов наследуется.



Подрезать полилинии внутри контуров

Модуль позволяет подрезать полилинии внутри контуров(других полилиний). Подрезаемые полилинии и полилинии-контура должны находиться на разных слоях. Модуль может быть применен для подрезки горизонталей.



Корректно замкнуть полилинии

Модуль позволяет корректно замкнуть полилинии, т.е. выставить свойство 'Замкнуто', даже в том случае, когда первая и последняя вершина не совпадают по координатам, а находятся на некотором удалении друг от друга. Величина допуска задается пользователем.



Выделить полилинии с двумя вершинами

Модуль позволяет выделить с экрана полилинии с двумя вершинами. Может быть применен при выделении штрихов откосов.


К оглавлению