Сведения о создании чертежных программ
Команды меню > позволяют создавать чертежные программы, служащие для определения соответствия чертежа изменениям состояния его модели. Изменения могут произойти при повторном выполнении модели с новыми входными данными Pro/PROGRAM и при замене модели другим экземпляром из семейства моделей. При обычных условиях можно легко отличить одну последовательность или состояние от другой по значениям некоторых параметров, содержащихся в модели.
Чертежная программа предназначена для адаптации чертежа к программе детали или сборки. Она содержит логические инструкции, которые управляют компоновкой чертежа и выполняют различные вспомогательные функции. Например, чертеж детали может включать детальный вид отдельного констр. элемента, например шпоночной канавки. Если этот констр. элемент подавлен, то система должна стереть этот детальный вид и переместить другие виды, чтобы заполнить образовавшееся пустое место. Если возникло состояние no_detail_view, при котором стирается детальный вид и соответствующим образом структурируются (перемещаются) другие виды, то программа запрашивает систему, является ли шпоночная канавка подавленной. В этом случае на чертеже отображается состояние no_detail_view. Если нет, то на чертеже изображаются детальные виды модели.
Чертежная программа состоит из состояний и текста программы. Состояние — это именованная последовательность известных процедур (например, отображение размера или перемещение вида), которые выполняются на чертеже и определяют, как он должен выглядеть. Это запись изменений, которые необходимо внести в чертеж. Чтобы создать состояние, с клавиатуры вводится имя и записываются различные вспомогательные команды. Эти команды можно воспроизвести, чтобы посмотреть, какие действия выполняются при переходе в состояние чертежа, и, при необходимости, править его. По мере создания чертежа одни состояния создаются, другие удаляются.
Во время создания состояния чертежной программы можно разместить размеры, разрывы размеров и отсечения размеров на линиях привязки.
После определения состояния чертежа можно создать чертежную программу, как показано на предыдущем рисунке. Чертежная программа представляет собой текстовый файл, помещенный внутрь чертежа, который содержит строки текста, задающие определенные состояния для чертежа в зависимости от значений используемых условных выражений. Можно использовать инструкции IF, параметры чертежей и инструкции назначения для установки ранее определенных состояний чертежа. Сначала программа производит поиск определенного чертежного параметра в чертеже. Если он не найден, то производится поиск параметра модели в модели по умолчанию. Если чертежная программа распознала чертежный параметр, то она обозначает его суффиксом ":d" (т. е. атрибут_чертежа:d). Если это параметр модели, то программа обозначает его номером модели.
• Команды для выполнения состояния чертежа принимают следующий вид: SET STATE имя_состояния.
• Вложенные инструкции IF можно использовать в следующем виде:
IF <выражение>
ELSE IF <выражение>
ELSE
ENDIF
Выражение представляет собой логическое выражение, которое можно использовать в составе уравнения деталей. Оно может содержать атрибуты чертежа, как указано в меню "НАСТРОЙКА" (SETUP), либо функцию подавления констр. элемента, т. е. FEAT_SUPPRESSED (имя_модели, feat_id) для определения наличия подавления констр. элемента и функцию FEAT_SUPPRESSED (имя_сборки, comp_id) для определения наличия подавления компонента. Например:
IF FEAT_SUPPRESSED (bolt,15)
SET STATE no_detail_view
В данном случае система проверяет, является ли констр. элемент с ID 15 модели с именем "bolt" подавленным. Если это так, состояние устанавливается в no_detail_view. В противном случае никакие действия не предпринимаются.
• Инструкции назначения выглядят следующим образом:
var_name = выражение, где var_name — имя переменной.
• Строки комментария выглядят следующим образом:
/*Это строка комментария.
|
Слова IF, ELSE, ENDIF, SET, STATE, FEAT_SUPPRESSED являются зарезервированными. Их нельзя использовать в качестве имен переменных в программе чертежа. Кроме того, при использовании знака равенства (=) в операторе IF необходимо использовать инструкцию "==". Для присвоения значения параметру пользуйтесь инструкцией "=".
|