Раздел 4. Компьютерная графика и геометрическое моделирование
192
4.4. Параметризация геометрических моделей
193
и развитием интерактивной компьютерной графики языки програм-
мирования на время перестали быть актуальными. Но необходи-
мость развития и адаптации автоматизированных систем к нуждам
потребителей заставила снабжать интерактивные системы общедо-
ступными средствами для разработки. Например, фирма Autodesk
[101], создатель одной из старейших CAD систем AutoCAD, разра-
ботала для этих целей специальный проблемно-ориентированный
язык программирования AutoLisp. С помощью этого языка можно
запрограммировать построение геометрической модели и при этом
ввести все необходимые условия, связи и ограничения.
В настоящее время практически все промышленные САПР
снабжены подсистемами API (Application Programming Interface) -
это интерфейс прикладного программирования. API представля-
ет собой открытое средство доступа к объектно-ориентированной
библиотеке функций, содержащей все основные команды ав-
томатизированной системы (в том числе и графическое ядро),
в форме, пригодной для использования в любой современной
среде программирования.
Несомненным достоинством программной параметризации
является универсальность, гибкость и отсутствие интерфейсных
ограничений. Например, в известной российской CAD-системе
КОМПАС-График программным способом реализованы при-
кладные библиотеки стандартных элементов [100]. Это позволя-
ет организовать удобный диалог для ввода параметров стандарт-
ного изделия, запрограммировать все необходимые вычисления
и логические операции.
Главный недостаток программной параметризации - необхо-
димость освоения пользователем алгоритмического языка, что
далеко не всегда доступно практикующему инженеру, а также
необходимость приобретения какой-либо системы программи-
рования (например, DELFI или MS Visual С. Профессиональное
программирование требует не только знаний и опыта, но и под-
разумевает достаточно длительный цикл написания и отладки
программного продукта.
Параметризация по истории построения (иерархическая пара-
метризация, history-based design) состоит в том, что при включе-
нии этого режима работы автоматически, по мере выполнения
команд создания объектов модели, фиксируются связи и порож-
даются ограничения, определяемые приемами интерактивной
работы пользователя.
Например, учитываются привязки, использованные кон-
структором при расстановке примитивов, назначенные поль-
зователем размеры и точки вставки фрагментов. Определен-
ные связи создают операции движения в процессе порождения
объемных элементов, обязательно учитываются установленные
пользователем сопряжения объемных моделей и пр.
Кроме того, система может автоматически делать опреде-
ленные системой правил логические выводы и добавлять недо-
стающие ограничения. Например, отрезок, проведенный поль-
зователем так, что он соответствует признакам, установленными
правилами (вертикально, горизонтально, параллельно и так да-
лее), автоматически приобретает соответствующее ограничение
(вертикальность, горизонтальность, параллельность).
Достоинство параметризации по истории построения состо-
ит в том, что связи и ограничения назначаются автоматически.
Но при этом возможны ошибки и неточности. Если система не
доопределена, то программа самостоятельно подставляет не-
достающие параметры исходя из текущих значений координат
и размеров в непредсказуемых порой для пользователя местах.
Если система переопределена, то автоматически могут быть уда-
лены лишние связи и важный размер может непредсказуемо из-
менить свое значение.
Чтобы не сделать ошибку, в автоматическом режиме выполня-
ется только частичная параметризация. Разумеется, компьютер
не в состоянии вводить функциональные зависимости, отличать
основные параметры от второстепенных, делить переменные на
внешние и внутренние, поэтому практически невозможно до-
стичь создания высокоавтоматизированной параметрической
модели в иерархическом режиме.
Эскизная параметризация (вариационная параметризация,
variational) предусматривает установление связей между эле-
ментами, наложение ограничений и задание переменных, вы-
ражений и зависимостей самим пользователем системы геоме-
трического моделирования в диалоговом режиме (рис. 4.4.2) или
автоматически — с помощью алгоритмов искусственного интел-
лекта, как в синхронном моделировании.