- •Оглавление
- •Часть 1 8
- •Часть 2 96
- •Часть 3 185
- •Введение
- •Часть 1 автоматизация проектирования. Основные понятия. Технические средства
- •1.2. Структура и основные принципы построения сапр
- •1.3. Автоматизированные рабочие места инженеров-конструкторов
- •Лекция №2 Виды обеспечения сапр
- •2.1. Инструментальная база сапр
- •Файловые системы fat
- •Файловая система fat32
- •Файловая система ntfs
- •Общая характеристика систем
- •2.3. Классификация устройств, обеспечивающих получение твердых копий конструкторской документации
- •Сканеры
- •Получение твердых копий
- •Технология печати
- •Струйные принтеры
- •Лазерные принтеры
- •Плоттеры
- •Архитектура системы
- •Лекция №3 Организация и управление данными в сапр
- •3.1. Информационный фонд сапр
- •Языки бд
- •Типовая организация современной субд
- •Организация систем автоматизированного проектирования на базе бд
- •3.2. Внутримашинное представление объектов проектирования
- •3.3. Организация обмена данными. Компьютерные сети
- •Лекция №4 Лингвистическое обеспечение автоматизированного проектирования
- •4.1. Организация программного обеспечения сапр. Языки программирования
- •Основные понятия и определения
- •Вычисления в AutoCad
- •Структура программы на AutoLisp
- •Структура программ
- •Объектно-ориентированное программирование
- •Часть 2 задачи автоматизации проектирования механизмов и машин в машиностроении
- •Лекция №5 Основы методологии проектирования технических объектов. Работа с информацией, вырабатываемой во время проектирования
- •5.1. Методология проектирования технических объектов
- •5.2. Работа с информацией
- •5.3. Сапр как объект проектирования
- •Лекция №6 Геометрическое моделирование и организация графических данных
- •6.1. Назначение и область применения систем обработки геометрической информации
- •6.2. Двухмерное проектирование с помощью системы AutoCad
- •6.3. Параметрическое проектирование с применением системы SolidWorks
- •Лекция №7 Виртуальное производство. Характеристики и основные принципы работы сапр технологических процессов обработки металлов давлением
- •7.1. Виртуальное производство
- •7.2. Предпосылки автоматизации проектирования технологических процессов
- •7.3. Математическое обеспечение виртуального производства
- •Лекция №8 сапр инженерных расчетов
- •8.1. Предпосылки автоматизации проектирования деталей приводных устройств
- •8.3. Автоматизация инженерных расчетов и подготовки рабочих чертежей
- •Лекция №9 Принципы построения и организация технического документооборота в масштабе предприятия
- •9.1. Автоматизация управления подготовкой производства
- •9.2. Структура и принципы организации работ
- •Документ – версия – итерация
- •Часть 3 методы оптимизации, применяемые при решении конструкторских задач
- •Лекция №10 Основы теории оптимизации. Проектные параметры. Критерии качества
- •10.1. Постановка задач оптимизации
- •Выбор целевой функции
- •Назначение ограничений
- •Нормирование управляемых и выходных параметров
- •10.2. Классификация оптимизационных задач
- •10.3. Подходы к решению обобщенных задач оптимизации. Математическая формулировка задач оптимизации
- •Безусловная оптимизация
- •Многомерный случай
- •Оптимизация при линейных ограничениях
- •Оптимизация при нелинейных ограничениях
- •Выбор метода оптимизации
- •Выбор метода безусловной оптимизации
- •Выбор метода для задачи с нелинейными ограничениями
- •Размер задачи
- •Структура ограничений
- •Методы нуль-пространства и ранг-пространства
- •Выбор метода, генерирующего допустимые точки
- •Выбор метода для решения задачи с нелинейными ограничениями
- •Роль пользователя
- •Программное обеспечение
- •Заключение
- •Билиографический список
- •394026 Воронеж, Московский просп., 14
Структура программы на AutoLisp
Большие программы на AutoLISP можно составить в любом двоичном текстовом редакторе, сохранив написанное с расширением *.lsp. Программа может содержать любое количество определений функций и других выражений. Обобщенную структуру программ AutoLISP можно представить в виде следующей последовательности блоков:
(vmon)
РАЗДЕЛ ТЕКСТОВ ПРОЦЕДУР И ФУНКЦИЙ
(defun FUNCTION1 (Раздел описания переменных)
)
РАЗДЕЛ ОСНОВНОГО БЛОКА ПРОГРАММЫ
(defun C:PROGRAM () - Главная программа, вызывающая построенную ранее функцию FUNCTION1
(FUNCTION1) - Вызов функции FUNCTION1
)
Любая программа на AutoLISP имеет три самостоятельных этапа:
1) ввод технологических параметров пользователем;
2) числовые и геометрические расчеты, в процессе которых определяются значения вспомогательных переменных;
3) работа с графической базой данных чертежа либо напрямую (редактирование объектов), либо через команду AutoCAD (отрисовка и редактирования объектов).
Доступ к командам AutoCAD обеспечивается функцией COMMAND:
(COMMAND [аргументы] ...)
Аргументы представляют собой команды AutoCAD, их ключи, координаты точек, числовые и текстовые параметры. Каждый аргумент вычисляется и посылается в редактор AutoCAD как ответ на соответствующий запрос. Как следует из вышесказанного, взявшись за создание собственной программы, прежде всего, следует:
- выделить технологические параметры (то, что должен задавать конструктор при работе с командой);
- определить технологию отрисовки (редактирования, работы с изображением) объекта;
- выделить геометрические и числовые параметры, необходимые для реализации отрисовки объекта выбранным способом.
4.3. Визуальные языки программирования
В настоящее время в практике программирования различных задач все более часто используют "визуальные языки программирования" (Visual), которые относятся к языкам программирования, и в зависимости от их назначения, их можно классифицировать следующим образом:
1) для обработки визуальной информации;
2) для поддержки визуального взаимодействия с пользователем;
3) для программирования с помощью визуальных выражений.
Изначально под программированием под Windows подразумевалось программирование на C с использованием Windows Application Programming Interface (интерфейсом прикладного программирования Windows), что являлось весьма трудоемкой задачей. Средства визуального программирования, в отличие указанной технологии, обычно решают задачи построения пользовательского интерфейса и упрощения разработки приложения путем замены метода написания программы на метод конструирования. Средства визуального программирования могут быть использованы по разному:
просто для визуального определения пользовательского интерфейса, который затем встраивается в традиционную программную среду;
более глубоко, для визуального задания и интерфейса и контролирующих интерфейс объектов с одновременным программированием бизнес-логики традиционными методами;
наконец, для полного визуального построения приложения.
Каждая составная структура разрабатываемого алгоритма, представлена в Visual отдельным блоком. Такими блоками могут быть последовательная, разветвляющаяся, повторяющаяся структуры, а также подпрограммы. В каждом блоке (которые можно назвать сложными командами) размещаются простые команды. Каждая команда (простая или сложная) представлена отдельной иконой. Вследствие того, что кроме изображения и текстовой информации каждая такая икона содержит еще некоторые, специфические именно для нее возможности, то понятие иконы расширено нами до понятия Графический Визуальный Объект (ГВО).
Таким образом, алгоритм, построенный с помощью Visual, представляет собой набор ГВО, сгруппированных в отдельных блоках-структурах. Набор ГВО предоставляется системой. Наиболее универсальной платформой визуального программирования на сегодняшний день остается Microsoft Visual Studio.NET. В первую очередь она предназначена для программ, ориентированных на Internet: Web-приложений и Web-служб (Web Services). Первые обеспечивают доступ к ресурсам Web-серверов для пользователей (через Internet-браузер), а вторые - для программ (в формате XML по протоколу SOAP).
Исходные тексты .NET-приложений компилируются в специальный промежуточный код на языке Microsoft Intermediate Language (MSIL) и выполняются в среде .NET Framework, состоящей из виртуальной машины Common Language Runtime (CLR) и библиотеки классов .NET Framework Class Library. .NET Framework скрывает все особенности конкретной операционной системы и, таким образом, позволяет разрабатывать кросс-платформенные (до определенной степени) приложения. Сегодня уже почти готовы версии .NET Framework для FreeBSD и Linux. А компания Halcyon реализовала .NET Framework на Java!. CLR обеспечивает верификацию и компиляцию кода "на лету" из MSIL в команды процессора, управляет памятью (включая автоматическую "сборку мусора"), процессами и потоками, решает проблемы безопасности. Библиотека классов .NET Framework является языконезависимой, т. е. ее могут использовать все .NET-приложения вне зависимости от применяемого языка программирования.
В ней содержатся классы Windows Forms для разработки графического пользовательского интерфейса, Web Forms для создания Web-приложений и Web-служб на основе ASP.NET, библиотека ADO.NET для доступа к базам данных, классы для работы с XML, Internet-протоколами FTP, HTTP, SMTP, SOAP и многое другое. В .NET Framework используется собственная компонентная модель, элементами которой выступают сборки (assembly). Для прямой и обратной совместимости с моделью COM/COM+ в CLR имеется ряд механизмов под общим названием COM Interop, обеспечивающих доступ к COM-объектам по правилам .NET и к .NET-сборкам - по правилам COM. Модель .NET не требует регистрации компонентов в системном реестре Windows. Для работы .NET-приложения достаточно поместить все относящиеся к нему сборки в один каталог. Если же какую-то сборку необходимо использовать в нескольких приложениях, то ее можно зарегистрировать в общем кэше Global Assembly Cache (GAC) с помощью специальной утилиты. В интегрированной среде разработки VisualStudio.NET проекты логически организуются в решения (solutions). Каждое решение состоит из одного или нескольких проектов. В свою очередь каждый проект может состоять из любого количества исходных файлов, ссылок на внешние сборки и прочих ресурсов, которые и образуют приложение. Двумя важнейшими компонентами платформы .NET является среда выполнения (Common Language Runtime, CLR) и библиотека базовых классов. Любые двоичные файлы .NET, называемые сборками, работают только в среде выполнения .NET-CLR. Сборки содержат в себе инструкции промежуточного кода (Intermediate Language, IL) и метаданные самой сборки (манифест) и типов. Промежуточный код превращается в платформенно-зависимый код в момент выполнения приложения. Во всех объектно-ориентированных языках четко различаются понятия «класс» и «объект». Класс – это определяемый пользователем тип данных. Класс можно представить себе как алгоритм, по которому организуются его члены. В отличие от класса объектом называется конкретный экземпляр определенного класса, с помощью которого обычно и производятся определенные действия в программе. В большинстве случаев класс помимо конструктора по умолчанию снабжается другими конструкторами - принимающими параметрами. Использование такого конструктора – самый простой способ инициализировать состояние объекта в момент его создания, установив необходимые значения. Кроме классов и объектов в визуальных языках имеются так же конструкции, которые можно рассматривать как некую особую разновидность классов. С классами структуры роднит многое: для структур можно определять конструкторы, структуры могут реализовывать интерфейсы, структуры могут содержать любое количество внутренних членов.