Разработка программы – генератора параметрических моделей и чертежей

Страницы работы

9 страниц (Word-файл)

Содержание работы

Курсовой проект по курсу «Инженерная компьютерная графика»

Задание 2

«Разработка программы – генератора параметрических моделей и чертежей»

Порядок выполнения задания.

  1. Получить у преподавателя номер варианта задания и загрузить в AutoCAD слайд с соответствующим номером. (Путь к каталогу со слайдами:  \\X‑files\tasks\ACAD\slides)
  2. Рассмотреть изображение детали, представленной на слайде, понять ее форму и размеры.
  3. С использованием среды разработки Visual LISP создать программу-генератор параметрической модели и рабочего чертежа данной детали.

Требования к программе:

  1. Программа запрашивает размеры детали у пользователя через диалоговое окно (файл *.DCL)
  2. Анализ введенных параметров на соответствие допустимому диапазону. В случае выхода за пределы диапазона, предложение повторного ввода значения размера.
  3. Корректировка диапазона допустимых значений последующих размеров в зависимости от введенных значений предыдущих размеров.
  4. Программа создает твердотельную модель детали в пространстве модели и шаблон рабочего чертежа детали, содержащий необходимые  изображения (виды, разрезы, сечения, выносные элементы), размеры с допусками, заполненную рамку формата А4, технические требования.

Рекомендации по выполнению задания:

  1. Сначала  разработать программу для упрощенного изображения детали с учетом 2 – 3 габаритных размеров (параллелепипед, цилиндр, конус) с тем, чтобы разобраться с технологией взаимодействия Visual LISP и AutoCAD и порядком разработки программ на языке AutoLISP.
  2. Функционально программа может состоять из трех последовательно выполняемых блоков: опрос пользователя, расчет необходимых параметров модели, выполнение построений модели и рабочего чертежа. Опрос пользователя включает циклическую обработку данных получаемых от пользователя через диалоговое окно и их анализ на соответствие допустимому диапазону. Выполнение построений включает также создание и запись на диск пакетного файла, реализующего автоматическое проецирование при последующем его запуске из программы.

Пример программы генерации 3D твердотельной модели и рабочего чертежа.

  1. Запрос координат точки:

Листинг 1.1  Запрос координат  2D точки.

(setq p1 (if p1 p1 (list 0 0)))

(setq szP1 (strcat “Enter point 1 <” (rtos (car p1)) “, ” (rtos (cadr p1)) “>:”))

(setq Paux (getpoint szP1))

(setq p1 (if Paux Paux p1))

Листинг1.1 показывает как запрашивать в цикле координаты 2D точки с использованием динамически формируемой строки запроса.

Первая строчка фрагмента, представленного в Листиге 1.1, проверяет существует ли точечная переменная p1, т.к. она могла быть создана в момент предыдущей итерации цикла или предыдущего запуска программы в текущем сеансе работы с AutoCAD. Функция if, если переменная p1 уже существует, возвращает ее значения без изменения, если переменная p1 имеет значение nil (не существует), вызывает функцию list для формирования списка из координат точки (0, 0). Результат выполнения функции if (предыдущее значение переменной p1 или точка (0, 0)) присваивается в качестве нового значения переменной  p1.

Вторая строка в рассматриваемом фрагменте динамически формирует строку подсказки и сохраняет ее в строковой переменной  szP1. Например, если к этому моменту переменная p1 хранит значения координат точки (5 7), то в переменной szP1 будет сохранена строка “Enter point 1 <5, 7>:”. Этот текст будет появляться в зоне подсказки AutoCAD после выполнения рассматриваемой строки кода. Согласно используемым в командной строке AutoCAD соглашениям, значения приведенные в угловых скобках, являются значениями предлагаемыми по умолчанию, и пользователь может их выбрать, просто нажав клавишу Enter. Так как от итерации к итерации значение точки p1 может меняться, то текст подсказки должен формироваться динамически, что и достигается в коде  рассматриваемой строки. Функции car и cadr возвращают соответственно координаты x, y точки p1 (в формате с плавающей точкой). Функция rtos преобразует число в строку текста. Для рассматриваемого листинга вызовы (rtos (car p1)) и (rtos (cadr p1)) возвратят строки “5” и “7”. Функция strcat выполняет слияние строк в одну строку текста. В нашем примере строки “Enter point 1 <”, “5”, “, ”, “7” и “>:” преобразуются в строку “Enter point 1 <5, 7>:”, которая записывается в качестве значения переменной szP1 и будет использована для вывода текста подсказки во время запроса.

Похожие материалы

Информация о работе