Unigraphics. Справочник по сборке

       

Пакет Vstudio7

Вы узнаете, как управлять координатными пространствами Windows, как осуществлять взаимодействие нескольких представлений одного документа, как добиваться эффективности и реалистичности изображений OpenGL, как использоватьShell API для управления файловым деревом, как разрабатывать СОМ-серверы и СОМ-контейнеры, как синхронизировать множество элементов управления в рамках диалога, как создавать свои собственные нестандартные окна, как использовать контейнеры и алгоритмы стандартной библиотеки C++ (STL), как строить графики функций в трехмерном пространстве и, наконец, как решать простейшие краевые задачи с демонстрацией результатов в виде аккуратных графиков. Кроме того, в последней главе вы найдете информацию об архитектуре Windows, с точки зрения разработчика программного обеспечения.
При изложении материала я не стараюсь подробно рассматривать все технические детали использования какого-либо класса, функции или типа данных, так как, на мой взгляд, нецелесообразно ставить себе задачу запоминать детали. Во-первых, их очень много даже в рамках одной технологии, во-вторых, MSDN (Microsoft Developer Network) для того и существует, чтобы при необходимости быстро прийти на помощь, в-третьих, я верю в принцип: чем чаще используете, тем вероятней, что запомните. Вместо этого ставится задача показать, какие преимущества вы получаете, используя новую сущность или новый технологический прием, а главное, как их использовать.

Начало работы с Visual Studio.Net
Итак, вы успешно преодолели все трудности установки Microsoft Visual Studio. Net 7.0 (если они были, а они в изобилии присутствовали в бета-версии продукта, с которой я имел дело в момент написания книги) и готовы покорить определенные высоты с помощью вашей неудержимой фантазии программиста и возможностей студии. Инструменты Studio.Net, несомненно, помогут воплотить ваши идеи в реальные проекты, которые теперь принято называть решениями (solutions) — термин, обозначающий новую концепцию логического хранилища проектов.

Режимы отображения координат
В Windows любые операции вывода являются графическими. Подсистема GDI делает вывод анпаратно независимым. Это означает, что информация, выводимая на любое физическое устройство, будет выглядеть почти одинаково. На экране монитора, на плоттере и на принтере будут отражены все детали текста или изображения. Кроме того, GDI поддерживает логические устройства вывода, такие как память или диск.

Традиционное Windows-приложение
Если вы хотите самостоятельно освоить какой-либо технологический прием или способ управления ресурсами, а так же инструментами Windows, то лучше всего обратиться к разделу Platform SDK документации (MSDN). В блоке страничных окон, которыми вы успешно пользуетесь, имеется страница Dynamic Help, которая помогает быстро отыскать необходимую информацию в море документации, сопровождающей Studio.Net.



Анализатор кодов ошибок
Итак, мы покончили с интерфейсной шелухой и нам осталась самая интересная и трудная часть работы — внесение в приложение той логики, которая была определена на этапе постановки задачи. Она состоит в следующем. Мы должны найти файл Win Error, h, просканировать его и выудить из него полезную информацию. Эту информацию надо поместить в контейнер объектов типа ErrorType. Если вы помните, мы поместили объявление этого типа в начало файла LookDlg.h.

Управление файловым деревом
Нам понадобятся методы для управления тремя окнами: CLef tview, CRightView и CDrawView. Последний класс будет управлять окном, в котором полигон может быть отредактирован. Этот класс надо еще создать. Замените существующий интерфейс класса CTreeDoc на тот, который приведен ниже. Здесь мы также провели упрощение начальной заготовки по схеме, обсуждавшейся выше

Графика OpenGL
Другие функции OpenGL позволяют размещать объекты на трехмерной сцене, выбирать точку размещения глаза наблюдателя (камеру), передвигать эту точку. Неотъемлемой частью трехмерной графики является освещение материалов. Конвейер OpenGL использует специальные алгоритмы подсчета цвета любого фрагмента с учетом заданных свойств материала и источников света. Моделирование атмосферных эффектов (тумана, дыма, дымки) делает изображения более реалистичными.

Трехмерные графики функций
В этой главе мы разработаем Windows-приложение, которое в контексте OpenGL изображает трехмерный график функции, заданной произвольным массивом чисел. Данные для графика могут быть прочтены из файла, на который указывает пользователь. Кроме этого, пользователь будет иметь возможность перемещать график вдоль трех пространственных осей, вращать его вокруг вертикальной и горизонтальной осей и просматривать как в обычном, так и скелетном режим

От сырых COM API к проекту ATL
В этом уроке мы научимся разрабатывать приложения, которые реализуют функции СОМ-сервера и СОМ-контейнера. Известная вам технология OLE (Object Linking and Embedding) базируется на модели COM (Component Object Model), которая определяет и реализует механизм, позволяющий отдельным компонентам (приложениям, объектам данных, элементам управления, сервисам) взаимодействовать между собой по строго определенному стандарту. Технология разработки таких приложений кажется довольно сложной для тех, кто сталкивается с ней впервые.

Трехмерная графика в проекте ATL
В этом уроке мы продолжим разработку DLL-модуля, который после регистрации в системе в качестве СОМ-объекта позволит любому другому клиентскому приложению, обладающему свойствами контейнера объектов СОМ использовать его для отображения в контексте OpenGL трехмерного графика функции, заданной произвольным массивом чисел. Данные для графика СОМ-объект берет из файла, на который указывает пользователь клиентского приложения.

Из жизни студентов
Как показывает практика, студенты по-разному относятся к тому факту, что доля курсовых проектов, которые необходимо выполнять в виде компьютерных приложений, непрерывно растет. Некоторые их очень любят, так как подобные проекты позволяют продемонстрировать неординарность мышления, изобретательность и свой собственный «неподражаемый» стиль программирования, другие ненавидят, так как работающее приложение невозможно создать без тщательной проработки почти всех деталей, в том числе и тех, которые кажутся мелкими и незначительными.

Решаем краевую задачу
В этом разделе мы разработаем MFC приложение с SDI-интерфейсом, которое использует контейнеры STL для хранения последовательностей величин, участвующих в формулировке простейшей одномерной краевой задачи матфизики. Сама задача формулируется в виде дифференциального уравнения, связывающего искомую функцию, пространственную координату и параметры, зависящие от свойств среды.

Некоторые сведения об архитектуре Windows
Как известно, объем адресуемой памяти определяется размером регистра команд, который обычно зависит от длины машинного слова. Во времена, когда эта длина была равна 16 битам, можно было без особых ухищрений обратиться к любому байту из диапазона (0, 216-1), или 65536 = 64 Кбайт. Обращение к адресам памяти вне этого диапазона стоило определенных усилий.

Unigraphics. Справочник по сборке

Опция Accuracy [Точность] задает точность вычислений. Первоначальное значение точности определяется системной переменной пользовательских умолчаний Assemblies_WeightDataAccuracy (по умолчанию - 0.99). Задавая большее значение точности, Вы снизите погрешность, но при этом увеличится время расчетов. И наоборот, меньшее значение точности ускоряет процесс вычислений. Доступны следующие значения: 0.9, 0.99, 0.999, 0.9999, 0.99999 и 0.999999.

Секция Accuracy - Точность вычислений
Опция Set Reference Set [Установить Ссылочный Набор] задает существующий ссылочный набор для определения объемных тел, участвующих в вычислении весовых характеристик. После того, как ссылочный набор выбран, он будет использоваться во всех дальнейших расчетах для этой части и для любых компонентов, имеющих эту часть в качестве прототипа.

Фоновое меню
Фоновое меню Навигатора Сборки появляется, если Вы поместите курсор над пустой областью Навигатора (когда ничего не выделено) и нажмете MB3. Другие всплывающие меню включают всплывающее меню компонента

Каскадное меню последовательности сборки
Каскадное меню последовательности сборки появляется, после выбора опции Assemblies—Sequences [Сборка-Последовательность]. Многие из этих опций также доступны из инструментальной панели последовательностей

Атрибуты подстановки
Системный администратор может определить собственный код обработки, который будет вызываться на протяжении процесса клонирования с различными целями, - проверка, какие-либо дополнительные действия, изменение опций и т.д.

Добавление существующего компонента
Опция Assemblies—Components—Add Existing позволяет создавать сборки методом снизу-вверх, добавляя часть к рабочей части, как компонент. Данная часть может быть уже созданной или Вы можете создать семейство частей "налету". Если часть, которую необходимо добавить не была загружена, она загружается когда Вы используете данную опцию.

Find Component - Найти компонент
Диалоговое окно Find Component обеспечивает центральную точку для поиска компонентов по любому глобальному свойству. Каждая страница диалогового окна, которая доступна из закладок представляет определенный метод поиска

Установки добавления компонента
Определяет значение по умолчанию для опции Layer [Слой], которая используется в диалоговых окнах Add Existing Part [Добавить Существующую Часть] и Create Component [Создать Компонент]. Если Вы устанавливаете значение по умолчанию Work, компонент и все его объекты будут размещаться на рабочем слое. Если Вы устанавливаете значение по умолчанию Original, объекты компонента будут размещаться на тех же самых слоях, на которых они находятся в части компонента.

Диалоговые окна
Данный раздел содержит иллюстрации наиболее важных диалоговых окно модуля Assemblies. Он не содержит диалоговых окон, которые детально рассмотренны в других разделах документации. (Например, диалог Class Selection описан в Справочнике по Интерфейсу Пользователя).

Опция Auto-explode Components - Автоматически разнести Компоненты
Опция Automatic создает виды с разнесенными компонентами автоматически. Эта опция позволяет задать значение сдвига, которое может быть положительным или отрицательным. После выбора опции Auto-Explode Components, на экране появится диалоговое окно Explosion Distance

Словарь
Совокупность деталей и подсборок, из которых состоит изделие. В Unigraphics это файл части, организованный в соответствии с установленной пользователем иерархической структурой соединения деталей и подсборок.

Страница Assembly - Сборка
Позволяет Вам задавать слой в котором должны находится выделенные компоненты, если Опция Layer установлена в Specified Layer [определенный слой].

Опция Edit Attributes - Редактировать атрибуты ссылочного набора
Атрибуты ссылочного набора могут заменять атрибуты части компонента или добавляться к ним. При применении ссылочных наборов их атрибуты вместе с атрибутами части становятся атрибутами компонента. В случае дублирования атрибутов приоритет имеют атрибуты ссылочного набора

Настройки
Управлять возможностями модуля Assemblies можно путем настройки системных параметров. Эти настройки включают в себя опции диалога Assembly Preferences и параметры опции Preferences—Visualization—Large Model. Более подробно процедура настройки значений системных параметров описана в Справочнике по интерфейсу пользователя [Gateway Online Help] .

Примеры использования ugtopv
ProductVision - это пакет программ, позволяющий просматривать 2D и 3D модели и манипулировать ими. ProductVision, Unigraphics, и iMAN могут взаимодействовать друг с другом, передавая информацию через или (не путать с закладками, которые использует только Unigraphics). В данной главе описано взаимодействие ProductVision и Unigraphics. Более полную информацию по ProductVision и iMAN можно получить в документациях по этим продуктам.

Пример запуска программы удаления скрытых линий
Опция Batch Hidden Line является альтернативным способом обработки изображения больших сборок для удаления скрытых линий. Она выполняется как автономная программа (задание), поэтому по сравнению с опцией Assembly Hidden Line имеет меньше проблем, связанных с нехваткой памяти и большими затратами процессорного времени.

Определение структуры сборки
Опция Assemblies—Reports—List Components [Отчет—Список Компонентов] предоставит Вам полный список всех компонентов, на которые явно или неявно ссылается файл сборки. Отчет содержит имя компонента, количество компонентов, единицы измерения (дюймы/миллиметры), ссылочный набор, директорию (где хранится файл компонента) и статус файла компонента (например, загруженная или незагруженная часть).

Панель инструментов Assemblies - Сборки
Для выбора компонента сначала выберите Select Components [Выделить компонент] иконку из панели инструментов Global Selection. Это дает Вам возможность ограничивать уровень выбора компонентов. Выберите один или более компонентов из Навигатора Модели (Model Navigator), Навигатора Сборки (Assembly Navigator), графического окна или диалогового окна Find Component [Найти компонент] (Assemblies—Context Control—Find Component), и теперь выберите операцию, которую Вы хотите применить для этих компонентов.

Опция Edit Frozen Status - Редактирование статуса замораживания
В диалоговом окне WAVE Associativity Manager нажмите клавишу Edit Frozen Status. Появится диалоговое окно Edit Frozen Status, содержащее 3 списка частей: Non-Delayed Parts [Части Без Задержки обновления], Session Frozen Parts [Замороженные на Сеанс Части] и Persistent Frozen Parts [Постоянно Замороженные Части]. Измените статус части, выбрав ее из списка и нажав нужную клавишу: Session Freeze [Заморозить на Сеанс], Persistently Freeze [Постоянно Заморозить] или Unfreeze [Разморозить].