Как уже говорилось в предыдущем пункте, основной проблемой при
создании системы моделирования механизмов является проектирование программного инструментария
для конструирования и редактирования механизмов. Поэтому, в первую очередь, определим требования,
связанные c основной функциональностью программы – редактированием механизмов. В связи с этим,
программа должна выполнять следующие функции:
Визуальное отображение 3-х мерного аналога структурной схемы механизма. Это требование
подразумевает наличие средств рисования пространственной схемы механизма в нескольких проекциях
с использованием возможностей 3D-графики. Изображение схемы механизма должно в реальном масштабе
времени отображать изменение всех параметров механизма и его структуры;
Визуальное представление структуры пространственного механизма в виде дерева. Корневым узлом
дерева является сам механизм, его дочерними узлами - группы кинематических пар. В свою очередь
каждая пара включает, в качестве подузлов, те звенья, которые к ней присоединены. Таким образом,
пользователь сможет наглядно представить полную структуру механизма;
Редактирование параметров любых объектов механизма и их настройка. В этом требовании имеется
в виду необходимость наличия инструмента выбора любого объекта механизма, отображения его параметров
и изменения любого доступного параметра. Редактирование параметров механизма должно сопровождаться
адекватным изменением его визуального представления;
Последовательная сборка механизма из предоставляемых типов звеньев и элементов кинематических пар.
Здесь имеется в виду, что программа должна предоставлять пользователю средства интерактивной сборки
механизма, посредством выбора структурных объектов механизма и присоединения их к имеющемуся механизму.
Присоединение структурных объектов к механизму должно допускать только корректную сборку механизма, без
нарушения правил его внутреннего строения;
Возможности сохранения и загрузки модели построенного механизма. Программа должна позволять
сохранять созданные механизмы в специальном файле, а так же загружать их из файлов совместимого формата.
      Это требования к основным функциональным возможностям программы. Для того
чтобы более конкретно разобраться с требованиями, рассмотрим каждое из них более подробно в отдельности.
      Для визуального отображения 3-х мерного аналога структурной схемы механизма
необходимо решить следующие задачи:
Разработка геометрических (полигональных) моделей структурных объектов механизма, которые будут
являться заменой соответствующим плоским обозначениям объектов структуры механизма (см.
таблица 1);
Проектирование структур данных геометрических объектов сцены, обеспечивающих выполнение рендеринга
объектов, основных операций над ними и настройки визуального представления;
Построение подсистемы видов, отображающих проекции пространственного механизма, с использованием
средств 3D-графики, выполняющих операции пользователя над объектами и обеспечивающих индивидуальную настройку каждого вида;
Обеспечение возможности настройки визуальных параметров отображаемых геометрических объектов, таких
как цвета и некоторые геометрические размеры.
      Кроме визуального геометрического представления механизма, программа должна
отображать его структуру в виде дерева (как минимум с пятью уровнями вложенности), содержащего различные
типы узлов:
узел механизма – корневой узел;
узлы группы кинематических пар – дочерние узлы механизма;
узлы кинематических пар – являются дочерними по отношению к узлам групп;
узлы звеньев – дочерние по отношению к узлам присоединённых пар;
узлы подзвеньев – дочерние по отношению к звеньям, которые они составляют;
узлы геометрических точек – дочерние по отношению к содержащим их подзвеньям;
      Для дерева структуры механизма должны существовать средства его редактирования,
выполняющие следующие основные операции:
Выбор узла дерева с автоматическим выделением этого объекта на видах структурной схемы и отображением параметров этого объекта;
Полный обход дерева – перемещение “вниз” или “вверх” по узлам дерева;
Удаление произвольного узла дерева с сохранением корректности структуры механизма;
Создание групп кинематических пар механизма;
Выбор текущей для редактирования группы механизма (той группы, в которую будут добавляться по умолчанию все создаваемые пары);
Перемещение кинематических пар из одной группы в другую;
      Программа должна иметь список всех объектов с редактируемыми параметрами
и компонент выбора активного в редакторе параметров объекта. Функциональный компонент программы для
отображения и редактирования свойств объектов должен иметь возможности отображения и изменения параметров
следующих типов:
Строковые;
Целочисленные;
Вещественные числовые;
Логические (True/False);
Перечисления;
Цветовые;
Поля объектов внутренних классов системы;
      Для сборки модели механизма, пользователю должны предоставляться следующие
структурные объекты:
Звенья следующих типов:
Крепление – представляет закреплённое звено стойки;
Линейное звено (ломаная) – звено, состоящее из линейных цилиндров, соединяющих узловые точки звена;
Контурное звено – частный случай линейного звена, но с соединением начальной и конечной точек;
Ползунок – звено ползунка, входящее в поступательную или цилиндрическую кинематическую пару;
Элементы следующих кинематических пар:
Вращательная;
Сферическая;
Поступательная;
Цилиндрическая;
      Перед созданием звена, должна обязательно осуществляться привязка к уже
существующей кинематической паре. В свою очередь элемент какой либо пары должен присоединяться к одной
из узловых точек заранее созданного звена. Для того, чтобы начать создание нового механизма необходимо
разрешить создание звена крепления без присоединения к паре (поскольку в механизме может не существовать
ни одной пары). Это можно реализовать, как создание звена крепления вместе со сферической или вращательной парой.
      Приведённый здесь список требований к программе нельзя считать полным или
законченным, поскольку разработка этой программы предусматривает добавление к ней в дальнейшем возможностей
расчета и клиент-серверных расширений.