Трехмерная полилиния в автокаде
Перейти к содержимому

Трехмерная полилиния в автокаде

  • автор:

3DПЛИНИЯ (команда)

найти

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

Отображаются следующие запросы.

Начальная точка полилинии Задание первой точки 3D-полилинии. Конечная точка сегмента

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

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

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

Понятия, связанные с данным
  • Криволинейные объекты
  • Полилинии

Команда «3DПЛИНИЯ» в Автокад — 3D полилиния AutoCAD

В этом уроке мы рассмотрим трехмерную полилинию Автокад, которая имеет подобные свойства рассмотренной ранее 2D полилинии.

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

3D полилиния в Автокад используется в основном в 3D моделировании, т.к. она может располагаться в разных плоскостях. 2D полилиния или далее по тексту просто полилиния в Автокад строится в одной плоскости (без введения ПСК, использования объектных привязок — в рабочей плоскости XY.)

САПР для инженера

Очередной пост, навеянный вопросами пользователей и читателей блога. Предлагаю рассмотреть сегодня тему: Какие типы полилиний существуют в AutoCAD?

Всего в AutoCAD существуют три типа полилиний:

  • 2D-полилиния
  • полилиния
  • 3D-полилиния

Первые два типа всегда плоские, третий тип — может быть и плоским, и трехмерным. Подробнее рассмотрим каждый тип.

2D-полилиния и Полилиния

Исторически сложилось так, что c самых первых версий AutoCAD в нем присутствовал примитив Полилиния (POLYLINE), который создавался с помощью команды Плиния (_PLINE). Несмотря на то, что эта полилиния могла состоять из отрезков и дуг и была единым целым, каждый из сегментов полилинии представлял из себя отдельный элемент, имел свое внутреннее имя и характерные точки. Т.е. полилиния, состоящая из трех линейных объектов, сохранялась в памяти чертежа как пять разных объектов (четыре вершины и заголовок полилинии), при этом пользователь работал с ней как с единым целым объектом.

В AutoCAD Release 12 появился новый тип полилинии — оптимизированная (LWPOLYLINE от Lightweight Polyline), которая, в отличие от обычной полилинии, состояла уже не из набора объектов, а представляла из себя один объект. При этом создается она также командой Плиния (_PLINE). Новая оптимизированная полилиния позволила сократить размеры чертежей, которые включали в себя множество контуров или других сложных объектов, отрисованных с помощью полилиний. Также выросла скорость обработки таких чертежей и повысилась стабильность работы.

    2D-полилиния (POLYLINE, в литературе также встречается название Heavy Polyline) — устаревший тип, наследие старых версий AutoCAD. В свойствах таких полилиний отображается название 2D-полилиния, а в данных, выводимых по команде Список (_LIST) тип объекта отображается ПОЛИЛИНИЯ и состоит она из группы объектов, каждый из которых имеет свою метку (внутреннее имя) и параметры

Повторю еще раз — пользователь при работе не увидит никакой разницы между этими двумя типами полилиний. Однако, обилие 2D-полилиний значительно увеличивает размер файла и затрудняет работу с ним.

  • 0 — При открывании чертежа, содержащего полилинии устаревшего типа, они не преобразуются в новый тип. При этом команда ПЛИНИЯ (_PLINE) создает полилинии в старом формате
  • 1 — При открывании чертежа, содержащего полилинии устаревшего типа, они не преобразуются в новый тип. При этом команда ПЛИНИЯ создает оптимизированные полилинии
  • 2 — При открывании чертежа, содержащего полилинии устаревшего типа, они все преобразуются в новый тип. При этом команда ПЛИНИЯ создает оптимизированные полилинии

Обратите внимание, что значение переменной PLINETYPE влияет не только на команду создания полилинии, но и на КОНТУР (если типом объекта является полилиния), КОЛЬЦО, ПОЛРЕД (при выборе отрезка или дуги), МН-УГОЛ и ЭСКИЗ (если значение переменной SKPOLY равно 1).

Если вы работаете в современных версиях AutoCAD, то нет никакого смысла использовать 2D-полилинии. Однако, если вам необходимо передать чертеж в стороннее приложение, которое не понимает формат оптимизированных полилиний, то необходимо преобразовать полилинии в 2D-полилинии. Сделать это можно с помощью команды ПОЛКОНВЕРТ (_CONVERTPOLY). После запуска команды необходимо выбрать тип полилиний, в который будут преобразованы выбранные полилинии — Подробная (Heavy) / Компактная (Light). Здесь нужно сделать скидку на разницу в терминологии. Под подробной подразумевается 2D-полилиния, под компактной — обычная полилиния

Есть и другой способ, косвенный, преобразования одного типа полилинии в другой — команда редактирования полилиний ПОЛРЕД (_EDITPOLY). Дело в том, что у 2D-полилинии есть параметр сглаживание, а у полилиний — нет. Поэтому, если в команде ПОЛРЕД выбрать опцию Сгладить для указанной полилинии, то она преобразуется в 2D-полилинию, а если выбрать Убрать сглаживание для 2D-полилинии, то она станет полининией.

3D-полилиния

3D-полилиния представляет из себя обычную полилинию, у которой каждая вершина может иметь разную высоту (координату по оси Z). Построение такой полилинии производится командой 3DПЛИНИЯ (_3DPOLY). После построения в окне Свойства становится доступным поле Текущая вершина, в котором можно выбрать конкретную вершину 3D-полилинии (в графической области она обозначится перекрестием) и задать значение её координаты по оси Z

Кроме того, 3D-полилиния может состоять только из линейных сегментов и у нее невозможно поменять тип линии.

Команды преобразования 3D-полилинии в полилинию нет, само ее существование бессмысленно, поскольку при такой конвертации удалятся все данные о координате Z. Однако, при необходимости такое преобразование возможно несколькими способами. Первый — с помощью команды FLATTEN из состава пакета Express Tools сделать трехмерную 3D-полилинию плоской, расчленить на отдельные отрезки командой Расчленить (_EXPLODE), а затем преобразовать отрезки с помощью команды ПОЛРЕД (_EDITPOLY) в единую полилинию. Второй — разбить 3D-полилинию на отдельные отрезки командой Расчленить (_EXPLODE), с помощью окна Свойства задать координаты вершин по оси Z полученных отрезков равным 0, а затем преобразовать отрезки с помощью команды ПОЛРЕД (_EDITPOLY) в единую полилинию.

С остальными постами на тему AutoCAD можно ознакомиться на странице блога.

С уважением, Андрей.

UPD: Обновил пост, добавил про отличия 3D-полилинии и про состав 2D-полилинии. Спасибо Алексею Кулику ака kpblc и Александру Ривилису за подсказки.

создание тела на основе 3d полилиний

А отрезками формировать замкнутый контур или готовыми плоскими примитивами оперировать не проще ли?
3Д-полилиния имеет несколько плохих свойств. Не надо её очень уж любить.
Это общеметодическая реплика, файл не видел и не .

Регистрация: 24.10.2009
Сообщений: 15

Да я эти полилинии получил путём экспорта из другой программы.
Как тогда можно их во что-то промежуточное преобразовать, чтобы потом в тело?

MikeStalker
Посмотреть профиль
Найти ещё сообщения от MikeStalker

Регистрация: 02.10.2008
Сообщений: 3,685

Вручную — ну очень заморочно.. Даже не знаю, есть ли такие средства в автокаде. Может, во что-то другое можно экспортировать, в сеть например..

__________________
. Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка — ложка понарошку,
А по правде, — это лом!

Регистрация: 29.10.2004
Сообщений: 16,333

1.удалить один слой полилиний. расчленить. преобразовать в области. (кое-что придётся дорисовать). области выдавить.
2. протрассировать (обвести) треугольники одного слоя трёхмерными гранями _3DFACE и выдавить.
на все не более, чем 1/2 часа

Регистрация: 02.10.2008
Сообщений: 3,685
Сообщение от Хмурый

1.удалить один слой полилиний. расчленить. преобразовать в области. (кое-что придётся дорисовать). области выдавить.
2. протрассировать (обвести) треугольники одного слоя трёхмерными гранями _3DFACE и выдавить.
на все не более, чем 1/2 часа

Не, ну надо-то, я так понимаю, тело с гранями по участкам существующих полилиний.. Если 3dFACE выдавить, получится не совсем то..

__________________
. Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка — ложка понарошку,
А по правде, — это лом!

Регистрация: 08.02.2008
Сообщений: 8,460
Сообщение от MikeStalker
эти полилинии получил путём экспорта из другой программы

А есть ли такая настройка (опция) в той экспортирующей программе, которая бы НЕ формировала бы эти 3Д-плинии? Может стоит там покопаться, чтобы в Каде полчаса не тратить.
Или файлом dxf воспользоваться, если он там допускает сохранять?

О какой программе речь-то — опять СЕКРЕТ?

Регистрация: 29.10.2004
Сообщений: 16,333

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

DWG 2007 CAD_revew.dwg (220.5 Кб, 3879 просмотров)

Регистрация: 24.10.2009
Сообщений: 15

Именно, нужно, чтобы грани тела были по полилиниям.
В dxf сохраняется. приложил.
Программа GMS (геологическая)
Опций по сохранению в CAD-формат к сожалению нет.

А если все полилинии в отрезки превратить, то можно по ним построить, используя их в качестве граней?

MikeStalker
Посмотреть профиль
Найти ещё сообщения от MikeStalker

Регистрация: 02.10.2008
Сообщений: 3,685
Сообщение от MikeStalker

Именно, нужно, чтобы грани тела были по полилиниям.
В dxf сохраняется. приложил.
Программа GMS (геологическая)
Опций по сохранению в CAD-формат к сожалению нет.

А если все полилинии в отрезки превратить, то можно по ним построить, используя их в качестве граней?

см. #8 — муторно , но результат даст..

__________________
. Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка — ложка понарошку,
А по правде, — это лом!

Регистрация: 24.10.2009
Сообщений: 15

#8 да, получается.
блин, но это в ручную.
а если дофига точек, то нереально.
Неужели нет такого инструмента, чтобы он объект, составленный из отрезков как бы тканью покрывал по периметру и создавал тело или поверхность автоматически.

MikeStalker
Посмотреть профиль
Найти ещё сообщения от MikeStalker

Регистрация: 08.02.2008
Сообщений: 8,460

Можно, муторно (очень внимательно и кропотливо), с обязательным замыканием последнего сегмента на первый (это ребра будущего тела). А грань — это поверхность.
Поищи лиспик на конвертирование поли в отрезки, может кто сделал или закажи, может кто сделает. Главное, чтобы эти поли были в одной плоскости.
А раз сохраняет в dxf, то с него и начни, вдруг процедура проще окажется.

Регистрация: 24.10.2009
Сообщений: 15

В одной плоскости все полилинии точно быть не должны.
Так в отрезки они же все и так конвертятся командой РАСЧЛЕНИТЬ. Только что потом с отрезками делать-то?
а dxf чем проще?

MikeStalker
Посмотреть профиль
Найти ещё сообщения от MikeStalker

Регистрация: 02.10.2008
Сообщений: 3,685
Сообщение от MikeStalker

#8 да, получается.
блин, но это в ручную.
а если дофига точек, то нереально.
Неужели нет такого инструмента, чтобы он объект, составленный из отрезков как бы тканью покрывал по периметру и создавал тело или поверхность автоматически.

В чистом автокаде нету.. Или надо смотреть «вертикальные» программы, или программировать.

__________________
. Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка — ложка понарошку,
А по правде, — это лом!

Регистрация: 29.10.2004
Сообщений: 16,333

все грани в данном чертеже- треугольные, а значит- плоские.

для каких целей нужно тело?

Последний раз редактировалось Хмурый, 05.03.2010 в 15:49 .
Регистрация: 24.10.2009
Сообщений: 15

Да, каждая грань — плоскость. а ребра отрезки.

Тело — геологический слой. Нужно загрузить его в Comsol (Ansys), чтобы смоделировать распространение в нём воды.

MikeStalker
Посмотреть профиль
Найти ещё сообщения от MikeStalker

Регистрация: 08.02.2008
Сообщений: 8,460

Отрезки объединить (преобразуются в замкн. плинию (водной плоскости) — но тут, похоже, вовсе другой случай.
Дхф открыть и посмотреть что там с ними и как. Может они сами там уже отрезки (не сталкивался с плиниями в этом ракурсе)
Что значить плинии в одной пл. не должны? Если так в геопрограмме, то тогда всё только ручками превращать нужные плинии в одну плоскость.
А может вообще их не превращать, а строить тела другими средставами?
И какие тела надо получить? Может поверхности надо получить?
Точная задача-то в чем? Однако. Не как набор 3дплиний превратить в тело, а как получить такое-то тело из . (см. файл)
Тогда придется смотреть, а не гадать

Регистрация: 24.10.2009
Сообщений: 15

Задача в том, чтобы получить именно тело.
получить его нужно из полилиний, так только так сохраняет программа.
полилинии можно преобразовать в отрезки. отрезки все между собой соединены. получающиеся грани — треугольные, то есть плоские.
а какими ещё средствами можно построить тело?

MikeStalker
Посмотреть профиль
Найти ещё сообщения от MikeStalker

Регистрация: 08.02.2008
Сообщений: 8,460

Не на сеть ли это похоже стало?
С сетями не общался, извини, тут я пас. Почитай в справке. Пофантазирую маленько (ща меня тут прибьют профи), может, есть там процедура выдавливания сети? Но будет ли это тело? Может, сначала, в поверхность, а потом в тело? Или заново по этой сети построить свою — кадовскую, а потом её переколдовать в тело?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *