вторник, 29 июля 2014 г.

Преобразование эллипса в полилинию или группу дуг в AutoCAD

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

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

Сначала рассмотрим преобразование эллипсов в полилинию, а потом - в дуги.

Преобразование эллипса в полилинию


1. Переменная PELLIPSE 


Перед тем, как начать создавать эллипс, установите значение переменной PELLIPSE равным 1. Эта переменная управляет типом вновь создаваемых эллипсов: 0 - строится реальный эллипс, 1 - создается представление эллипса в виде полилинии.



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



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

2. Команда ПОДОБИЕ (_OFFSET)


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


О том, как преобразовать сплайн в полилинию я писал в отдельном посте здесь. Управляя параметром точности преобразования можно добиться приемлемого результата по точности построения.

3. Экспорт в формат DXF версии AutoCAD R12


Если сохранить чертеж в формате DXF версии AutoCAD R12, то все эллипсы, которые есть в файле, будут преобразованы в полилинии, поскольку в AutoCAD R12 еще не было понятия эллипсов.


Это самый нежелательный, но самый быстрый способ преобразования. Все эллипсы вычерчиваются с помощью очень маленьких линейных сегментов полилинии, которые занимают большой объем памяти.

Преобразование эллипса в группу дуг


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

1. Эллипс из четырех дуг


Способ позволяет построить эллипс из четырех дуг и двух центров.


  • Строим эллипс, который хотим представить в виде дуг. Прочерчиваем большую и малые оси эллипса. Расстояние ob - длина большой полуоси, oa - длина малой полуоси.
  • Соединяем точки a и b. На полученном отрезке строим точку d, вычислив расстояние ad = ob - oa (разность длин большой и малой полуосей)
  • Строим линию, проходящую через середину отрезка bd и перпендикулярный к нему. Пересечение этого отрезка с малой осью даст точку e - центр первой дуги, с большой осью - c - центр второй дуги, с эллипсом - точку f - точку соединения этих дуг.
  • Строим дуги из центра e и от точки a до f, из центра c от точки f до b. Остальные дуги получаем операцией симметрии.
Получаем эллипс, вычерченный с помощью четырех дуг. Точность построения невелика, но вполне достаточна для большинства инженерных задач.



2. Эллипс из восьми дуг


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


  • Строим эллипс, который хотим представить в виде дуг. Прочерчиваем большую и малые оси эллипса. Расстояние ob - длина большой полуоси, oa - длина малой полуоси.
  • Строим отрезки ad, bd и ab. Строим из точки d отрезок, перпендикулярный отрезку ab и продлеваем его до пересечения с малой осью. Полученные точки e и c - центры искомых дуг.
  • Строим окружность из точки e радиусом, равным eb. Строим окружность из точки a с радиусом, равным eb. Строим окружность из точки c радиусом, равным cf. Пересечение окружностей дает точку g - центр третей искомой дуги.
  • Строим отрезки ge и от g до пересечения нижней окружности с малой осью. Продлеваем эти отрезки до эллипса - получаем точки h и k, в которых касаются дуги.
  • Строим дуги из центров c, e и g. Остальные дуги получаем с помощью симметрии.
Итог такого построения - эллипс, вычерченный из восьми дуг, который точнее повторяет исходную фигуру, чем из четырех дуг.


Процесс геометрических построений можно посмотреть в этом видеоруководстве



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

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

4 комментария:

  1. Можно разметить эллипс командой divide на, например, 32 точки и по точкам обвести 16 дугами (или 16 точек и 8 дуг, если точность устроит). Удобно перед этим вынести эллипс в отдельный временный слой (можно автоматизировать), создать точки в нём, и потом всё удалить.

    ОтветитьУдалить
    Ответы
    1. Можно и так, спасибо за предложенный вариант.

      Удалить