Файл: Методические указания по выполнению лабораторных работ по дисциплине (модулю) Лингвистическое и программное обеспечение автоматизированных систем.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 569
Скачиваний: 3
СОДЕРЖАНИЕ
2.Общие положения (теоретические сведения)
2.1. Принцип рекурсии в правилах грамматики
2.2. Запись правил грамматик с использованием метасимволов
2.3. Запись правил грамматик в графическом виде
3. Задание на лабораторную работу
4. Ход работы (порядок выполнения работы)
2.Общие положения (теоретические сведения)
2.1. Разработка лексического анализатора
2.2. Разработка синтаксического анализатора
2.3. Пример построения простого синтаксического анализатора
2.4. Анализаторы для сложных рекурсивных грамматик
2. Общие положения (теоретические сведения)
2.5. Логическая структура XML-документа
2.8. Описание структуры XML-документов
2.9. Язык XML Sсhema Definition (XSD)
2.10. Программная обработка XML-документов
2.11. Обработка XML-данных с использованием модели DOM
2.14. Сопоставление объектной иерархии с XML-данными
2.16. Считывание XML-документа в DOM
2.17. Директивы таблицы стилей, встроенные в документ
2.18. Загрузка данных из модуля чтения
2.19. Доступ к атрибутам в модели DOM
2.20. Получение всех атрибутов в виде коллекции
2.21. Получение единичного узла атрибута
2.22. Считывание объявлений сущностей и ссылок на сущности в DOM
2.23. Сохраняемые ссылки на сущности
2.24. Разворачиваемые и не сохраняемые ссылки на сущности
2.25. Создание новых узлов в модели DOM
2.26. Создание новых атрибутов для элементов в модели DOM
2.29. Проверка имен XML-элементов и атрибутов при создании новых узлов
2.30. Создание новых ссылок на сущности
2.32. Копирование существующих узлов
2.33. Копирование существующих узлов из одного документа в другой
2.34. Копирование фрагментов документа
2.35. Удаление узлов, содержимого и значений из XML-документа
2.36. Изменение узлов, содержимого и значений в XML-документе
2.37. Проверка XML-документа в DOM
2.38. Проверка XML-документа в DOM
2.39. Обработка ошибок проверки и предупреждений
2.40. Сохранение и запись документа
2.42. Запись содержимого документа с помощью свойства OuterXml
3.Задание на лабораторную работу
4. Ход работы (порядок выполнения работы)
2. Общие положения (теоретические сведения)
3. Задание на лабораторную работу
4. Ход работы (порядок выполнения работы)
2. Общие положения (теоретические сведения)
4. Ход работы (порядок выполнения работы)
2. Общие положения (теоретические сведения)
3.5. Эскизы в документах Деталей
3.6. Взаимодействие с пользователем
3 Задание на работу (рабочее задание)
Вывод данных
Для вывода текста пользователю можно воспользоваться функцией ksMessage:
iKompasObject.ksMessage("Start")
В результате выводится окно с текстом:
Заключение
Таким образом, становится ясно, что сама система Компас-3D даже в базовой поставке обладает всеми возможностями для построения специализированной САПР. И процесс проектирования хоть и трудоемок, но не так уж и сложен.
Еще одним плюсом является то, что изменить скрипт можно элементарно, даже в блокноте, не прибегая больше ни к одной среде разработки. Конечно же, если писать библиотеку на Delphi, то внести изменения таким образом не выйдет – нужна сама среда, чтобы внести изменения и откомпилировать код.
3. Задание на работу
Создать макрос для параметрического построения данной детали в 3D в КОМПАС средствами языка Python
4. Ход работы (порядок выполнения работы)
1) Ознакомится теоретической справкой.
2) Разработать ПО для реализации задания.
3) Оформить отчет.
4) Защитить работу преподавателю.
5. Содержание отчета
1) Титульный лист
2) Задание
3) Чертеж с указанием параметров.
4) Описание процесса подготовки макроса.
5) Скриншоты с демонстрацией работы программы.
6) Выводы по работе
7) Список используемой литературы
8) Приложение – текст макроса.
Лабораторная работа № 6
Разработка программных продуктов для трехмерного моделирования с использованием встроенных языков среды Autodesk Inventor
1. Цель и задачи работы
Цель работы – освоить навыки применения и разработки графических библиотек для САПР «Autodesk Inventor».
Для достижения поставленной цели необходимо выполнить следующие задачи:
- Освоить принципы применения стандартных графических библиотек.
- Разработать ПО графической библиотеки.
2. Общие положения (теоретические сведения)
Inventor API реализуется на основе COM технологии и предоставляет разные способы обратиться к данным Inventor при помощи различных видов надстроечных приложений (Plug-in modules).
INCLUDEPICTURE "https://api-2d3d-cad.com/wp-content/uploads/2018/02/image001-1-300x285.jpg" \* MERGEFORMATINET INCLUDEPICTURE "https://api-2d3d-cad.com/wp-content/uploads/2018/02/image001-1-300x285.jpg" \* MERGEFORMATINET INCLUDEPICTURE "https://api-2d3d-cad.com/wp-content/uploads/2018/02/image001-1-300x285.jpg" \* MERGEFORMATINET INCLUDEPICTURE "https://api-2d3d-cad.com/wp-content/uploads/2018/02/image001-1-300x285.jpg" \* MERGEFORMATINET
Белые поля представляют компоненты, которые обеспечивают API – Inventor и «Apprentice Server». Синий цилиндр в основании представляет Inventor данные, к которым Вы обращаетесь – это детали, сборки, и т.д. Все желтые поля представляют программы, которые Вы записываете. Когда одно поле включает другое поле, это указывает, что включенное поле выполняется в том же самом процессе как поле, включающее его
VBA, подобно Visual Basic, позволяет Вам создавать кроме модулей кода (Module, ThisDocument) еще модули формы (UserModule) и класса (Class Module). В отличие от Visual Basic все VBA модули содержатся в пределах одного файла и не могут загружаться отдельно от проекта.
VBA позволяет создавать формы, модули классов и модули кода. Эти модули содержатся в проектах. В большинстве сред разработки проект содержит весь исходный код, который используется для создания одного автономного компонента. Поскольку VBA не создает автономных компонентов, проекты используются немного иначе. Проект VBA – это просто контейнер для различных модулей. Из-за этого один проект VBA может содержать множество несвязанных функций. В рамках одного проекта можно написать любое количество функций и выполнять их независимо.
VBA от Inventor поддерживает три типа проектов: документ, приложение и пользовательский. Основное различие между этими типами проектов – расположение проекта VBA. Проекты документов хранятся в документах Inventor. Приложения и пользовательские проекты хранятся во внешних файлах. Поскольку Inventor поддерживает сохранение проектов VBA в документах Inventor или во внешних файлах, вы можете решить, какой подход лучше подходит для вашей конкретной ситуации. Ниже приведены некоторые факторы, которые следует учитывать при принятии этого решения.
Проекты документов позволяют легко добавлять код, специфичный для документа, к самому документу. Например, если у вас есть стандартная деталь, которая используется для создания семейства деталей, можно написать программу, которая устанавливает параметры детали для создания различных экземпляров. Эту программу удобно встроить в документ Inventor, чтобы программа всегда была доступна вместе с документом детали.
Inventor автоматически загружает проект приложения всякий раз, когда пользователь запускает Inventor. Это делает макросы внутри проекта приложения всегда доступными. Только один проект может быть определен как проект приложения. Файл проекта, который служит проектом приложения, определяется с помощью диалогового окна «Параметры приложения» Inventor, как показано ниже. Поле «Проект VBA по умолчанию» на вкладке «Файл» определяет, какой пользовательский проект использовать в качестве проекта приложения.
Пользовательские проекты не загружаются автоматически, но должны загружаться вручную с помощью команды «Загрузить проект» в меню «Файл VBA» Inventor (в Inventor выберите вкладку «Инструменты», затем «Редактор VBA», затем «Файл | Загрузить проект ...»). Новые пользовательские проекты также можно создавать с помощью команды «Новый проект» в меню «Файлы VBA». Нет ограничений на количество загружаемых пользовательских проектов.
Доступ к интерфейсу VBA Inventor в Inventor осуществляется с помощью команды «Редактор VBA» на вкладке «Инструменты» на ленте. Команда Macros позволяет запускать существующие макросы и открывать редактор для определенного макроса. Эти две команды также доступны с помощью сочетаний клавиш Alt + F8 и Alt + F11.
Прежде чем идти дальше, давайте определимся с некоторыми терминами. Sub – это, по сути, функция без возвращаемых значений. Код заключен в операторы Sub и End Sub. Sub может иметь аргументы, которые могут быть входными и выходными, но не имеют возвращаемого значения. Макрос (macro) - это особый случай Sub, у которого нет аргументов. Любые Sub без аргументов будут считаться макросами. Например, следующий код будет рассматриваться VBA как макрос.
Public Sub SampleMacro() MsgBox "This is a sample." End Sub |
При выполнении команды «Макросы» ("Macros") в Inventor отображается диалоговое окно, показанное ниже. В этом диалоговом окне отображается список всех доступных в настоящее время макросов. Этот список можно отфильтровать с помощью поля со списком «Макросы в» ("Macros in"). Это позволяет вам перечислить макросы, содержащиеся в конкретном проекте (документ, пользовательский проект или проект приложения), или чтобы вывести список всех макросов во всех загруженных проектах.
Когда макрос выбран из списка, все кнопки справа, кроме одной, становятся активными:
Run - выбранный макрос выполняется без отображения среды программирования VBA.
Cancel – закрывает диалоговое окно.
Step Into - Открывает среду программирования VBA и начинает выполнение выбранного макроса пошагово. Это полезно при отладке макроса.
Edit - Открывает среду программирования VBA с позицией курсора в начале первой строки макроса.
Create - Если выбран существующий макрос, эта кнопка неактивна. Если новое имя вводится в поле «Имя макроса» ("Macro name"), эта кнопка становится активной, и при ее нажатии будет создан макрос с указанным именем.
Delete – Удаляет выбранный макрос. Удаляет Sub из проекта.
3.3.1Файлы и документы
Объект File представляет собой хранилище в файловой системе (то есть файл на диске). Объект Document представляет собой экземпляр модели или чертежа в памяти. Документ может иметь только один связанный объект File. Однако, поскольку возможно иметь несколько экземпляров (или уровней детализации) файла в памяти, которые сохраняются в одном хранилище файловой системы, несколько объектов
Document могут быть связаны с одним и тем же объектом File.
3.3.2Файл и Ссылки на Документ
Объект FileDescriptor описывает ссылку из файла на другой файл. DocumentDescriptor описывает ссылку из документа на другой документ. Дескриптор содержит всю информацию, необходимую для поиска указанного файла / документа, а также состояние ссылки (исправное, неразрешенное, замененное и т.д.). Объекты File и FileDescriptor представляют собой консолидированное представление всех представлений документа. На рисунке ниже показаны отношения между объектами FileDescriptor, File, DocumentDescriptor и Document.
3.3.3Соответствующие API свойства
Примечание: Интерфейс документа заменен на ApprenticeServerDocument в Apprentice. Все названия свойств остаются прежними.
Объект File
Свойство | Возвращаемые объекты | Описание |
AvailableDocuments | Document objects | Документы в памяти. |
AllReferencedFiles | File objects | Все файлы, на которые ссылается этот файл (включая рекурсивно вложенные ссылки). |
ReferencingFiles | File objects | Все файлы в памяти, которые напрямую ссылаются на этот файл. |
ReferencedFiles | File objects | Все файлы, на которые напрямую ссылается этот файл. Неразрешенные и подавленные ссылки пропускаются. |
ReferencedFileDescriptors | FileDescriptor objects | Коллекция, описывающая все прямые ссылки, содержащиеся в этом файле. Это сводный обзор всех ссылок на документы. Включает неразрешенные и подавленные ссылки. Также включает ссылки на внешние файлы (xls, bmp и т.д.) |
Document (и ApprenticeServerDocument) Object
Свойство | Возвращаемый тип | Описание |
File | File object | Связанный объект File. |
AllReferencedDocuments | Document objects | Все документы, на которые есть ссылки в этом документе (включая рекурсивно вложенные ссылки). |
ReferencingDocuments | Document objects | Все документы в памяти, которые напрямую ссылаются на этот документ. |
ReferencedDocuments | Document objects | Все документы, на которые есть прямая ссылка в этом документе. Неразрешенные и подавленные ссылки пропускаются. |
ReferencedDocument Descriptors | DocumentDescriptor objects | Коллекция, описывающая все прямые ссылки, содержащиеся в этом документе. Включает неразрешенные и подавленные ссылки. |
ReferencedOLEFile Descriptors | ReferencedOLEFileDescriptor objects | Коллекция, описывающая все прямые ссылки на внешние файлы, содержащиеся в этом документе. Включает неразрешенные ссылки. |
ReferencedOpaqueFile Descriptors | ReferencedOpaque FileDescriptor objects | Коллекция, описывающая все прямые ссылки на внешние файлы, содержащиеся в этом документе. Включает недостающие ссылки. |