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


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

Реверсировать полилинии
Добавить к полилинии вершину
Удалить у полилинии вершину
Удалить у полилинии повторяющиеся вершины
Преобразовать сегмент в дугу
Преобразовать сегмент в прямую
---
Экспорт координат вершин полилинии в 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 (пунктирная линия, показанная для наглядности).


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

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


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

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

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


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

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

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

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


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

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





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

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

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

Окно модуля:


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


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


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


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

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



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


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

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



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

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



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

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