Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Построение параметрической модели детали на основе AutoLisp

 

Структура работы программы

 

 

Построение двумерной модели детали

 

     



Построение трехмерной модели детали

 

 

 

4.2 Определение базовых размеров

 

Для построения двумерной модели детали использовались следующие основные базовые размеры для определения формы детали:


 


Для ввода данных, определяющих основные размеры использовались функция ввода:

(getreal “текст запроса-подсказки”) - ввод вещественного числа с клавиатуры.

Для исключения наиболее очевидных ошибочных ситуаций использовалась функция:

(initget флаг строка) - задание ключевых слов и ограничений ввода для get-функций, действие функции распространяется только на одну следующую за ней get-функцию.

Аргумент <флаг> функции iinitget - это битовый флаг, который должен быть целым числом (от 0 до 255), являющимся суммой битов с соответствующими из них весовыми значениями (нумеруются по степеням числа 2). Если бит не установлен, то его значение в битовом флаге считается равным нулю.

В данном курсовом проекте использовалась функция (initget 6) - разрешен пустой ввод, но не разрешены ввод нуля и ввод отрицательных чисел (6=2+4).

Также были использованы:

1. Условная конструкция (if (условие) (выражение1) (выражение2))

Типы аргументов: любые.

Если условие истинно, то выполняется выражение1, иначе - выражение2.

2. Функция

(while (условие) (выражение1) (выражение2) … (выражениеN)), которая задает цикл по многократно повторяющемуся условию.

 

Определение контрольных точек

 

 

Для указания координат точек применялись следующие функции:

1. Функция присваивания

(setq переменная 1 (выражение 1)

переменная 2 (выражение 2) …

переменная N (выражение N))

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

2. Списки - основные структуры данных, используемые в программировании на языке AutoLisp. Чаще всего списки используются для определения координат точек.

Списки создаются функцией list:

(list элемент1 элемент2 … элементN)

В качестве аргументов элементы, из которых образуется список, могут выступать любые объекты, которыми оперирует AutoLisp. В качестве элементов списка могут выступать другие списки, а также переменные и выражения AutoLisp. Функция list возвращает последний элемент списка, причем список не должен быть равным nil.

Со списками выполняют операции следующие функции:

(car список) - извлечение первого элемента списка или точечной пары;

(cadr список) - извлечение из списка подсписка путем удаления первого элемнта.

 

Отрисовка детали

 


Для построения чертежа детали использовались следующие функции:

(command “имя команды" параметр1 … параметрN)

Функция command воспринимает все сопутствующие операнды так, будто они введены в командную строку. Все константы, являющиеся параметрами функции command, задаются как текстовые строки (в кавычках), даже если они являются числами или координатами точек. Любой параметр функции command можно заменить на имя переменной или выражение AutoLisp. Данный параметр примет значение, равное значению переменной или результату значения выражения.

Таким образом, в проекте были использованы следующие команды:

 

(command "line" “точка1” “точка2" "") - построение линии;

(command "circle" “центр окружности” “радиус”) - построение окружности;

(command "layer" "опции") - работа со слоями;

(command "array" объекты "" "тип массива" “базовая точка" "количество элемнтов" "угол заполнения" "") - построение массива;

(command "osnap" "обозначение привязки") - включение определенного вида привязки;

(command "trim" выделяемые секущие стороны "" объекты для отсечения "") - отсечение по границе;

(command "erase" объекты "") - удаление объектов;

(command "fillet" "r" "радиус сопряжения")

(command "fillet" объект1 объект2 "") - сопряжение;

(command "lengthen" "de" "величина" объект "") - изменяет размер объекта на заданную величину;

(command "bhatch" "p" "ansi31" "0.5" "0" точка "") - штриховка объекта через указание точки внутри замкнутой области;

(entlast) - извлечение последнего построенного примитива.


Простановка размеров

 

 

Для простановки размеров использовались следующие команды:

 

(command "dimlinear" p1 p2 p3) - линейный размер, где p1, p2 - начальная и конечная точка на объекте; p3 - точка расположения размерной линии;

(command "dimdiameter" p1 p2) - диаметральный размер, где p1- точка на окружности или дуге; p2 - точка расположения размерной линии;

(command "dimradius" p1 p2) - радиальный размер, где p1 - точка на окружности или дуге; p2 - точка расположения размерной линии;

(command "dimangular" p1 p2 p3) - угловой размер, где p1 - точка на первом объекте; p2 - точка на втором объекте; p3 - точка расположения размерной линии.

 

Для создания размерного стиля использовались следующие команды:

 

(command "style" "имя стиля" "шрифт" "высота" эффекты) - создание и настройка нового текстового стиля (стиль назначается текущим);

(command "dimstyle" "s" "имя стиля" "y") - сохранение созданного стиля;

(command "dimstyle" "r" "имя стиля") - активизация стиля;

 

Использовалась функция (setvar “имя” значение). Она меняет значение соответствующей системной переменной.

В данном курсовом проекте была использована системная переменная DI MTXSTY - текстовый стиль для разеров.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...