Управление, усвоением знаний используя компьютерные технологии на кафедре «Начертательной геометрии и графики»



страница3/4
Дата31.01.2019
Размер1.28 Mb.
ТипУчебное пособие
1   2   3   4
1.3. Автоматизация электронного моделирования
примеры, рассмотренные выше можно намного проще реализовать через программирование, используя встроенный язык программирования Visual LISP. С его помощью можно: создавать новые команды графического редактора; осуществлять доступ и модификацию графической базы данных; создавать специализированное меню, обеспечивающее работу систем-надстроек AutoCAD; создавать функции для расчетов геометрических объектов и др.

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

Чтобы пользователь не создавал интерактивно (довольно трудоемко) в графическом редакторе трехмерные модели и чертежи, проще их запрограммировать и составить специальное меню, которое значительно ускорит и облегчит изучение геометрических объектов начертательной геометрии.

Следующие примеры из начертательной геометрии выполнялись программно. Для чего составлялись функции на отдельные геометрические элементы модели.

В листинге 1 приведена реализация программы изображения в среде AutoCAD трех плоскостей проекций (первая октанта). Программа Октант изображает 1/8 часть пространственной модели рисунка 7. Код программы AutoLISP для понимания снабжен комментариями, по командам и опциям можно определить, что они изображают в редакторе. Эта программа создает новую команду Октант, которая строит изображение, первую четверть пространства. Каждая плоскость пространства это прямоугольник, который определяется опцией Уровень и двумя угловыми координатами в соответствующем слое, виде (сверху, спереди и слева) и цвете. На рисунке 13 приведен результат команды Октант.

Листинг 1. Функция Октант. lsp





AutoCAD имеет несколько команд для построения примитива прямой линии: Прямая, Отрезок, Полилиния, 3dПлиния, Полоса. Две из перечисленных команд Полилиния и Полоса имеют ширину. В нашей функции Прямая была использована команда Полилиния (Плиния) с шириной 1.

Кроме того, в модели создаются проекции прямой. Функция Прямая листинг 2, в начале которой определены точки прямой в пространстве, а также по две точки проекций (горизонтальной, фронтальной и профильной). Проекции изображаются на плоскостях различными способами, для профильной проекции копировать пространственную прямую, так как у них одинаковая длина и угол наклона. Остальные две проекции, изображаются прямоугольником с уровнем горизонтальной и фронтальной плоскостей по преобразованным точкам.

Имея программу из двух функций Октант и Прямая автоматизируем построение модели прямой, приведенные на рисунке 12. Для большей наглядности прямая выполнена при помощи команды цилиндр с минимальным радиусом.

Листинг 2. Прямая.lsp


Расположение плоскости относительно плоскостей проекций. Следующая программа Плоскость_общего_положения изображает в первой четверти плоскость. Функция Плоскость представлена в листинге 3, которая аналогична функции Октант с той лишь разницей, что в ней изображается одна плоскость, а команда Повернуть используется для изображения различного положения плоскости.

На рисунке 1 изображен результат работы программы из двух функций приведенных в листингах 1 и 3. С помощью этих функций можно изображать различные положения плоскости в пространстве. Для лучшей наглядности плоскостей на рисунке 13 они выполнены с использование свойства прозрачности. Модель эта корректировалась в редакторе Corel Draw. Команда прозрачность придает изображению реальность и наглядность.

Моделируемая плоскость (рис. 13,а), располагается параллельно горизонтальной плоскости проекции, называется горизонтальной плоскостью. Если плоскость (рис. 13,б) параллельна фронтальной плоскости проекций, то эта фронтальная плоскость. Плоскость параллельная профильной плоскости проекций, называется профильной (рис. 13,в).



а б в


Рис. 13. Моделирование плоскостей частного положения

Листинг 3. Функция Плоскость. lsp



На рисунке 14 показано моделирование задачи нахождения точки пересечения прямой с плоскостью.

Если прямая пересекается с плоскостью, то существует точка, общая для прямой и плоскости. Рассмотрим построение проекций точки К - точки пересечения прямой а общего положения с фронтальнопроецирующей плоскостью α. Плоскость α проецируется на π2 в виде прямой – следа f0α, а на π1 проекция плоскости α проецируется в прямоугольник. Фронтальная проекция точки К// определяется как точка пересечения фронтальными проекциями прямой а// с следом f0α, фронтальнопроецирующей плоскости α. Горизонтальная проекция точки К/ является точкой пересечения линии проекционной связи КК/ c горизонтальной проекцией прямой a/.

Рис. 14. Моделирование пересечения прямой с плоскостью
Дополним рисунок изображением видимых и невидимых участков прямой а, т.к. плоскость непрозрачна. Левая часть прямой до точки К располагается выше плоскости α, потому на π1 проекция этой части прямой видима до точки К/, другая часть прямой – невидима. На этом рисунке первая четверть была изображена командой Октант, а прямая с ее проекциями и линиями проекционных связей, командой Прямая; плоскость и ее две проекции с линиями проекционной связи– командой Плоскость. Все эти три функции составили программу команды Прямая-плоскость.

Рассмотрим алгоритм построения на чертеже (эпюре Монжа) (рис. 15,а) точки пересечения прямой а, определяемой отрезком DE с плоскостью общего положения ΔABC (α):



  1. Заключаем DE во вспомогательную фронтальнопроецирующую плоскость β, заданную следами (foβ и hoβ);

  2. Находим линию пересечения двух плоскостей М/N/=α β ;

  3. Находим точку К (К/, К//) пересечения отрезков DE и МN: К/=D/E/М/N/ ; К// = К/ К// D//E//;

4. Видимость отрезка DE определяем с помощью метода конкурирующих точек 1 и M, у которых совпадают фронтальные проекции 1// и M //, а горизонтальная проекция точки М М / имеет координату Y больше чем 1/. Поэтому правая часть треугольника и сторона В// С// будут видимы, а часть отрезка DE К//Е// невидима.

Плоскость часто задается плоской фигурой – треугольником, особенно при решении позиционных задач. Треугольник в AutoCAD можно изобразить командой Многоугольник или командой Полилиния (ломаной линией). В листинге 4 описан Треугольник и его различное положения относительно плоскостей проекций. Функция Треугольник начинается с определения точек вершин, по которые изображается треугольник. Кроме того, имеются еще две точки, это измененные координаты второй и третьей вершины треугольника, они используются при вращении треугольника в профильной и горизонтальной проекциях.


а б


Рис. 15. Пересечение прямой с плоскостью

На рисунке 16 дана реализация двух функций Октант и Треугольник. Треугольник определяет профильнопроецирующую плоскость, профильная проекция которой представляет собой отрезок прямой, совпадающей с профильным следом, две другие проекции являются треугольниками рис. 16,а. Плоскость общего положения проецируется на три плоскости треугольниками рис. 16,б.

Любая проецирующая плоскость может быть задана на эпюре той ее вырожденной проекцией, которая представляет собой прямую. Эта прямая совпадает с одним из следов плоскости, причем второй след плоскости перпендикулярен или параллелен ему или удален в бесконечность.

Листинг 4 Функция Треугольник.lsp






а б

Рис. 16. Моделирование плоскостей и их проекций


В начертательной геометрии часто плоскость задается следами – линиями их пересечения с плоскостями проекций. В этом случае решение многих задач упрощается. Рассмотрим построение следов плоскости заданной треугольником αАВС) используя ее проекции (горизонтальную ΔА/В/С/ и фронтальную ΔА//В//С//):

1. Горизонтальный след плоскости hoα определяется горизонтальными следами H и H1 сторон треугольника. Для нахождения этих точек, определяем фронтальные проекции горизонтальных следов сторон треугольника H// и H//1, которые определяются как точки пересечения продолжения проекций сторон А//С// и А//B// с осью Ох. Из точки H// проводим перпендикуляр к оси Ох до пересечения с продолжением горизонтальной проекцией стороны A/C/ в точке H/. Аналогично из точки Н//1 провести перпендикуляр к оси Ох до пересечения с продолжением стороны А /В / в точке H//1. Два следа H// и H//1 сторон треугольника определяют горизонтальный след hoα плоскости αАВС) рис. 19б;

2. Определяем фронтальный след плоскости foα. Для этого находим фронтальный след F стороны ВС. Сначала определяем его горизонтальную проекцию F/, как пересечение продолжения горизонтальной проекции стороны ВС – B/C/ с осью Ох. Далее восстанавливаем перпендикуляр к оси Ох из точки F/ до пересечения с продолжением фронтальной проекции стороны ВС – B//C// в точке F//.

3. Проводим фронталь плоскости ΔАВС. горизонтальная проекция фронтали параллельна оси Ох. Проводим ее из вершины A/ параллельно оси Ох до пересечения со стороной B/C/ в точке 1/. Из точки 1/ проводим линию проекционной связи до пересечения с фронтальной проекцией стороны B//C// в точки 1//. Прямая A //1// является фронтальной проекцией фронтали. Фронтальный след foα плоскости αАВС) проводим через проекцию F// и точку схода следов (точку пересечения горизонтального следа с осью Ох) параллельно прямой A//1// рис. 17,в.

4. Проводим линии проекционной связи между точками треугольника и его проекций и другими построенными проекциями точек (рис. 17,г).



а б

в г


Рис. 17. Моделирование построения следов плоскости

В листинге 5 приведена функция Два_треугольника, которая изображает в редакторе пересечение двух плоскостей заданных треугольниками. Вначале программа запрашивает три точки (вершины) первого треугольника. Запрашиваемые точки т1, т2 и т3 имеют по три координаты x, y, z , которые могут быть произвольными. Для полной уверенности, что они будут пересекаться, и изображение их будет на плоскостях проекций, функция предлагает свой вариант координат точек. Второй треугольник имеет вершины с точками т4, т5 и т6. Изображение состоит из установки нового слоя, цвета и вида спереди. Треугольники контур которых изображаются трехмерной командой 3d Плиния, а толщина командой Выдавить принимают толщину равной единице.

Листинг 5. Пересечение_двух_треугольников.lsp


На рисунке 18 представлено моделилирование пересечения двух треугольников, выполненной командой Пересечение_двух_треугольников, программа которой состоит из двух функций Октант и Два_треугольника, где дано изображение вида спереди, сверху и аксонометрия.

Рис. 18. Моделирование пересечения двух треугольников






  1. Поделитесь с Вашими друзьями:
1   2   3   4


База данных защищена авторским правом ©znate.ru 2017
обратиться к администрации

    Главная страница