48135 (Построение параметрической модели детали в среде программирования), страница 2
Описание файла
Документ из архива "Построение параметрической модели детали в среде программирования", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48135"
Текст 2 страницы из документа "48135"
Жесткий диск.
В настоящее время минимальным объемом памяти на жестком диске считается 20 Гб.
Рассмотрим для примера два жестких диска: IC35L036UCD210 (фирма IBM) и IC25N020ATMR04 (фирма Hitachi из серии Travelstar 80 GN).
Объем диска. Первым и главным параметром любого винчестера является, конечно же, количество информации, который способен хранить ваш винчестер. Еще недавно эта емкость измерялась в мегабайтах, однако реальная величина сегодня составляет до сотни гигабайт! Надо сказать, что разница в цене между винчестерами на порядок меньше их разницы в объеме - переплатив всего лишь 30%, вы можете приобрести винчестер вдвое большей емкости. Тем не менее, для нашего проекта большая емкость будет излишняя. Поэтому делаем выбор в пользу накопителя IC25N020ATMR04.
Скорость чтения данных и спецификация. Как ни странно, на этот параметр редко обращают внимание при покупке - считая, что скорости у любого современного винчестера большой емкости практически одинаковы. Однако на деле разница доходит до 20%, что, согласитесь, не так уж и мало. Средний сегодняшний показатель - около 10-15 Мбайт/с. В нашем выбранном варианте это будет составлять - 32,5 Мбайт/с.
Среднее время доступа. Тоже достаточно важный показатель. Измеряется в миллисекундах и обозначает то время, которое необходимо диску для доступа к любому выбранному вами участку. Средний показатель - 7-9 мс. В нашем выбранном варианте это будет составлять - 12 мс.
Скорость вращения диска. Показатель, напрямую связанный со скоростью доступа и скоростью чтения данных. Принято считать, что покупать сегодня винчестеры со скоростью вращения меньше 5400 об/мин просто не имеет смысла, 7200 об/мин - сегодняшний стандарт, ну а 10 000 об/мин (планка, впервые взятая IBM) - это просто идеал! Существует, правда, и другая точка зрения. Некоторые специалисты утверждают, что чрезмерные скорости вращения диска на самом деле не слишком убыстряют чтение данных. А вот на надежность хранения информации и срок службы винчестера влияют куда более ощутимо...
Иными словами, чем выше скорость вращения шпинделя дисковода, тем больше его производительность (скорость записи и считывания данных), но выше цена и сильней нагрев.
Выбранный нами НЖМД имеет скорость вращения шпинделя 4200 оборотов в минуту, что будет вполне достаточно для разработки и использования нашего проекта.
Размер кэш-памяти. Кэш-память - быстрая "буферная" память небольшого объема, в которую компьютер помещает наиболее часто используемые данные. Она есть у процессоров, она есть у материнских плат. Но ведь собственной кэш-памятью оборудован и жесткий диск! Ее размер у современных моделей винчестеров колеблется в диапазоне от 2 Мбайт до 8 Мбайт (у большинства современных винчестеров размер кэш-памяти составляет 2 Мбайт). Нетрудно понять, что чем кэш больше, тем быстрее и стабильнее работает жесткий диск...
Принимаем жесткий диск IC25N020ATMR04 емкостью 20 Гб, с частотой вращения 4200об/мин, средним временем поиска 12 мс. Эти значения являются следствием разумного компромисса между производительностью и стоимостью.
Клавиатура.
Особых требований к клавиатуре нет, выбираем стандартную клавиатуру со 101 клавишей с разъёмом PS/2 (Genius Comfy KB-10X).
Мышь.
Мышь - это манипулятор для компьютера. Выбираем мышь по параметрам цены и качества, которым соответствуют мыши Genius NetScroll+PS/2.
4. Построение параметрической модели детали на основе AutoLisp
4.1Структура работы программы
П
остроение двумерной модели детали
Построение трехмерной модели детали
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)), которая задает цикл по многократно повторяющемуся условию.
4.3 Определение контрольных точек
Для указания координат точек применялись следующие функции:
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 список) - извлечение из списка подсписка путем удаления первого элемнта.
4.4 Отрисовка детали
Для построения чертежа детали использовались следующие функции:
(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) - извлечение последнего построенного примитива.
4.5 Простановка размеров
Для простановки размеров использовались следующие команды:
(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 - текстовый стиль для разеров.
4.6 Построение трехмерной модели детали
Для построения трехмерной модели детали использовались следующие команды:
(command "region" объекты "") - объединение объектов в регион;
(command "extrude" объекты "" высота "") - выдавливание объекта;
(command "subtract" p1 "" p2 "") - вычитание одного объекта из другого, где p1 - объект, из которого вычитают; p2 - объект, который вычитают;
(command "elev" высота "") - указание уровня;
(command "union" объекты "") - сложение объектов;
(command "shademode" опции "") - закрашивание детали.
Результаты работы программы
Построение двумерного изображения детали
Заключение
В данном курсовом проекте были поставлены следующие задачи:
изучить принципы создания параметрических моделей;
изучить язык программирования AutoLisp;
написать программу построения двумерного изображения детали с простановкой размеров;
написать программу построения трехмерного изображения детали.
В ходе данной работы все поставленные задачи были выполнены.
Практическую ценность проделанной работы вижу в том, что:
во-первых, мною был получен опыт создания параметрических моделей;
во-вторых, мной были изучены основы языка AutoLisp, что дает мне возможность для дальнейшего совершенствования своих знаний.
Список использованных источников
1. Райц Н.Р., Лимарева И.Г. Методические указания по выполнению курсового проекта по дисциплине "Компьютерная графика и геометрическое моделирование". - КарГТУ, 2005.
2. Воевода Е.П., Райц Н.Р., Лимарева Н.Г. Учебное пособие по работе в системе AutoCAD 2000. - КарГТУ, 2004.