Анализ твердого тела
Вы можете анализировать твердое тело, его грань и ребро, используя команду Analysis—>Examine Geometry. Система дает информацию о любых специфичных условиях или проблемах, существующих на твердом теле, которые могут влиять на работу приложений, использующих геометрию твердого тела (например CAM).
Система рассматривает твердое тело, как набор топологи чески связанных геометрических объектов; граней, ребер и вершин. Топологические элементы и соотношения между ними определяют целостность описания тела. За топологическим объектами твердого тела стоят геометрические объекты, которые задают форму тела.
Вершины задаются точками.
Ребра представляются кривыми.
Грань тела представляется геометрией поверхности.
Правильное тело должно удовлетворять следующим условиям:
Топологическая структура должна быть целостной, ребра вокруг грани должны образовывать замкнутый контур и ребра должны встречаться в вершинах.
Геометрические объекты должны быть правильными, т.е. не иметь самопересечения; геометрия любого объекта имеет непрерывность класса G1 ( непрерывность до первой производной).
Геометрические объекты должны соответствовать друг другу, например, вершина должна лежать на кривой, описывающей ребро.
Вы можете уровень проверки геометрии. Первые три опции проверки применимы для тела, остальные две для проверки грани. Вы можете выбрать для проверки любое количество тел и граней.
Error Options Опции сообщения об ошибках
Эта глава содержит информацию о сообщениях об ошибках, которые могут быть указаны во время работы с приложением моделирования Unigraphics Modeling.
|
Playback открывает диалог Edit During Update (EDU) и начинает обновление, начиная с первого элемента. |
|
|
|
|
|
|
Гладкость грани
Эта опция проверяет геометрию грани не непрерывность G1 для NURBS поверхностей. Она также проверяет, лежат ли кривые, описывающие ребра тела на поверхности.
Неудачное восстановление после ошибки
Если система не может восстановиться после ошибки, она выдает следующее сообщение. Сообщение означает, что система пыталась восстановить часть, но не может сделать этого. Если вы получили такое сообщение, немедленно выходите из системы и входите в UG снова. Не пытайтесь сохранить ошибочную часть
В дополнении к диалоговому окну система посылает одно из двух сообщений в строку статуса системы:
Восстановление после ошибки завершено
Error recovery failed
Ошибки обновления и опции восстановления
Если твердое тело не строится после выполнения команды обновления, то появится сообщение об ошибке в окне редактирования Edit или ошибок Error.
Вы можете использовать редактирование во время обновления для определения причины по которой не происходит построение и там, где возможно изменить тело для правильного построения.
Если операции редактирования не могут быть использованы без ошибок, то появится сообщение об ошибке.
Пересечение между гранями
Эта опция проверяет, чтобы все грани тела пересекались друг с другом только по известным ребрам тела и нигде больше. Она проверяет каждую грань тела но возможное пересечение с всеми остальными гранями тела. Такая проверка может занять определенное время.
При моделировании возможно создать такое неправильное тело. Например вы делаете из кубика тонкостенное тело с толщиной стенок 1 мм и затем скругляете внешнее ребро радиусом скругления 5 мм. После этого внешняя грань скругления будет пересекать внутреннюю грань тела. Модель тела будет неправильной.
Такого рода некорректности часто могут быть вылечены применением дополнительных операций построения. В предыдущем пример поможет, например, скругление внутреннего ребра тела.
Самопересечение грани
Эта опция, что грань имеет правильную геометрию и не пересекает сама себя. Она также проверяет, чтобы ребра грани пересекались только в вершинах.
В следующей таблице приведены сообщения об ошибках, возникающих при проверке твердого тела:
Согласованность
Эта опция проверяет:
Топологическую целостность модели.
Непрерывность G1 для геометрических объектов.
Согласованность геометрических объектов: вершины лежат на ребрах, ребра лежат на гранях, ребра пересекаются только в вершинах.
Сообщения об ошибках обновления
Если система не может выполнить обновление модели, то она изображает диалоговое окно, предлагая вам выбрать одну из трех возможностей.
Структура данных
Эта опция используется для проверки структуры данных геометрических данных от порчи.
Unsuccessful Recovery
When the system cannot recover from an error, it displays the following message. It means that the system tried to perform error recovery after detecting a problem, but was unable to rollback to the previous state. When you see this message, you should immediately exit out of the system and restart Unigraphics. Do not attempt to save the parts.
Успешное восстановление после ошибки
Следующее сообщение, появляющееся на экране, после успешного восстановления после ошибки. Это означает, что ваша часть возвращается к состоянию, который она имела до выполнения операции, приведшей к ошибке.
Замечание:К сожалению, попытка повторить операцию приводит к различным результатам.
Внутренние ошибки
Сообщение о внутренней ошибке (Internal Error) или сообщения, начинающиеся с префикса внутренняя ошибка говорят о том, что в программе возникает ошибочная ситуация. Вряд ли повторное выполнение команды, приводящей к ошибке, даст другой результат. Некоторые разделы системы, например моделирование, говорят вам о действиях, которые принимает система для того, чтобы избавиться от последствий ошибки. Если система сообщает об этом, то вы можете безопасно продолжать работать с частью.
Если ошибка произошла при загрузке сборочной модели, сообщение показывает на компоненту, при работе с которой это случилось. Если опция прекращения загрузки при ошибке Abort Load On Failure выключена, то система игнорирует ошибочную компоненту и продолжает загружать остальные. Если вы намерены сохранить часть после того, как произошла ошибка и система не сообщила о ее восстановлении, то сохраняйте часть под другим именем. Таким образом вы сохраните исходную часть. После этого проверьте, может ли быть вновь сохраненная часть нормально считана. Если часть нормально читается, то вы можете переименовать ее в имя исходной части.
Вы можете выполнить команду File—>Utilities—>Part Cleanup и попробовать выполнить команду, вызвавшую ошибку снова.
Apply или OK
Команда Apply дает вам возможность увидеть эффект от внесенных изменений. При ее выполнении происходит пересчет всей геометрии, зависящей от внесенных изменений.
К такому же результату приводит выход из меню редактирования выражений нажатием кнопки OK.
Действие фильтра
Установите опцию Include для фильтрации сообщеий в списке, или Exclude если вы не хотите использовать фильтр.
Expression Language Язык выражений
Выражения имеют свою собственную грамматику, которая, в общем, напоминает синтаксис выражений на языке С. В этом разделе обсуждаются:
Expressions General Concepts Концепция работы с выражениями
В этой главе обсуждаются общие концепции создания и редактирования выражений.
Выражение может быть прямо задано в окне редактирования, либо, если оно уже существует, выбрано из списка и отредактировано.
В окне редактирования можно менять только правую часть выражения. Если вы хотите изменить имя выражения, воспользуйтесь командой .
Expressions Выражения
Арифметические и логические выражения используются в системе для задания параметров модели. Выражения определяют размеры типовых элементов и эскизов и позиционные размеры. Механизм выражений в параметрической твердотельной модели используется для установления взаимосвязей между параметрами в одной части и параметрами компонент в сборке. Например, толщина пластины может выражаться через ее длину. В случае изменения длины автоматически изменится и ее толщина.
|
|
|
|
|
|
|
Expression для создания и редактирования выражений. |
Формат импортируемых выражений
Выражение, начинающееся с символа '!', указывает имя части, в которую могут быть импортированы выражения. В следующем примере первые два выражения импортируется в часть "part_а", а вторые два в часть "part_b".
a=1
b=2
!b_part
a=100
b=1.01
Геометрические выражения
Когда вы выбираете геометрические выражения Geometric Expression появляется диалоговое окно Geometric Expression.
Геометрические выражения позволяют вам задать ограничения на параметры элементов, такие как использование минимального расстояние между объектами, как управляющее выражение длины блоков. Типы геометрических выражений приведены здесь:
Имена переменных
Имя переменной есть алфавитно-цифровая строка, начинающаяся с буквы. Она может содержать знак подчеркивания. В именах различаются строчные и прописные буквы.
Помните, что в именах переменных различаются заглавные и строчные буквы, поэтому X1 и x1 будут рассматриваться системой как разные переменные.
Все имена выражений (левая часть выражений) также являются переменными и должны соответствовать всем условиям имен переменных. Также все переменные должны появляться как выражения, перед использованием их в других выражениях.
Имя файлов в кавычках
Если имя файл содержит символы, которые могут быть неправильно интерпретированы в выражении, то такое имя файла необходимо заключить в двойные кавычки. Например, если имя файла «top-leevel», а имя переменной “len”, то полное выражение:
Без ковычек это выражение читается как:
что не является правильным.
Замечание: : Только имя файла должно заключаться в кавычки, и только если оно содержат специальные символы:
Импорт частей, содержащих выражения
Если вы импортируете часть, содержащую выражения, то к именам выражений после символа ' будет добавлен номер. Например:
width'0 = 5
Номер приставки увеличивается на единицу при каждой операции импорта. Такой механизм гарантирует уникальность имен для всех выражений в части. Например, представим, что вы импортировали часть с параметром p0. Этот параметр получит имя p0'0. При импорте другой части с параметром p0 он получит имя p0'1 и т.д.
На пример, вы импортируете часть, содержащую три выражения - p1, p2 и p3. В список выражений будут добавлены параметры p1'0, p2'0 и p3'0.
Замечание: Если импортируемая часть использует другую систему единиц, выражения импортироваться не будут.
Если выражение не умещается на одной строке, то оно может быть продолжено на следующей строке, если задать в конце строки символ “\”. Если вы импортирует многострочное выражение, то помните о правилах:
Символ продолжения должен быть последним символом в строке, после него не должно быть ни чего, в том числе и комментария.
Система не имеет ограничение на число строк продолжения, максимальная длина строки выражения ограничена 128 символами.
Когда система импортирует многострочное выражение, то она объединяет все строки в одну строку.
Ниже приведен пример выражения до и после импортирования.
Замечание: Экспортированные выражения не форматируются в многочисленные линии или в многострочный формат.
Импорт выражений
Команда считывает указанный файл, содержащий выражения.
Замечание: Такие геометрические выражения, как p0=distance(40) не могут быть импортированы.
Импортируемый файл может содержать выражения, уже имеющиеся в части. Когда такой конфликт случается, система либо сохраняет старое выражение неизменным, либо меняет его значение на новое. Поведение системы зависит от установки опций.
Replace Existing - Заменить существующие. Старые выражения будут заменены вновь импортируемыми.
Keep Existing - Сохранить старые выражения неизменными. Если выбрана эта опция, то каждый раз, когда имена старых и новых выражений совпадают, система будет выдавать сообщение, в конце система даст возможность сохранить новый список выражений Accept, либо отказаться от него и восстановить старый список Undo.
Когда вы используете опцию Keep Existing, система считывает указанный текстовой файл и пытается добавить каждое выражение в список. Если происходят конфликты (выражения с одинаковым именем), найденный во время передачи данных, появляется сообщение об ошибке. После того, как трансляция данных завершена, выберите команду Accept для сохранения нового списка выражений или Undo для воостановления первоначального списка.
Если вы имели старое выражение diam=10 и импортировали новое diam=20, то результатом будет в зависимости от опции:
Если вы выбрали опцию Replace Existing, то выражение "diam=2.0" заменяет существующее выражение.
Если вы выбрали опцию Keep Existing, то выражение "diam=1.0" сохраняется и выражение из текстового файла игнорируется.
Interpart Expressions Обмен выражениями между частями
Вы можете определить выражение так, что она задается через выражения, определенные в других частях. Кроме того, выражения заданные в сборке могут изменить значение выражений, описанных в частях - компонентах.
Используя механизм передачи выражений между частями (IPEs), вы можете моделировать взаимозависимость между компонентами сборки. Заклепка, спроектированная в отдельной части, может зависеть от диаметра отверстия, в которое она должна вставляются. Изменение диаметра отверстия автоматически изменит и диаметр заклепки.
Замечание: По умолчанию возможность обмена выражениями отключена. Перед созданием части, в которой она предполагается использоваться вы должны изменить соответствующую переменную в параметрах части по умолчанию.
Использование комментариев
Вы можете создать среди выражений строку "комментарий". Такая строка начинается с пары символов "//".
Изменение перезадающих выражений
Когда вы изменяете значение перезадающего выражения, загруженная часть, на которую ссылается перезадающее выражение также обновляется. Если перезадающее выражение ссылается на частично загруженную часть, то система выдает предупреждение о невозможности выполнить обновление и дает возможность провести полную загрузку компоненту.
Изменить ссылку
Эта команда дает возможность за одну операцию изменить имя части, используемой в нескольких выражениях. Например, если вы имеете выражения.
y=comp::width
x=other_comp::p12
и выбрали часть comp для замены на "comp_2", то после завершения операции вы получите
y=comp_2::width
x=other_comp::p12
Конечно, такая замена предполагает наличие выражений "len" и "width" в новой части. В противном случае система выдает предупреждение, что произошла замена на несуществующее выражение.
Изменить связь выражений
Эта команда позволяет вам управлять ссылками на выражения из других частей. После вызова команды система выводит список всех внешних частей, на которые существует ссылки.
Вы можете:
Экспорт выражений
Эта команда дает возможность записать все выражения на внешний файл. После выбора команды появляется диалоговое окно позволяющее:
Файлы, используемые для экспорта/импорта выражений имеют расширение “.exp”.
Замечание: Когда геометрическое выражение содержится в экспортируемом файле, это выражение становиться измененным (например, выражение угла: p0=angle (12), которое означает, что угол равен 90 градусам, в экспортируемом файле записывается, как p0=90.0).
Кем используется выражение?
Эта команда выдает список выражений, в которых используется указанное выражение.
Замечание: В случае внешних ссылок система показывает только выражения для загруженных частей.
Опции фильтра
Существуют несколько опций, которые вы можете использовать для контоля списка выражений.
Операторы
Существует несколько типов операций, используемых в выражении. В следующей таблице представлен список арифметических операторов.
Замечание: TАрифметические операторы такие же, как операторы языка программирования C. Десятичная дробь игнорируется.
В следующей таблице таблице представлены логические операторы и операторы относительности и равенства.
Открыть часть
Эта команда полностью загружает часть, которая до этого момента была загружена частично.
В момент работы со сборочной моделью вы можете установить режим, при котором компоненты загружаются не полностью. Загружается только информация, необходимая для отображения компоненты в сборке. Такой режим полезен для экономии памяти. Когда вы переключаетесь на другую рабочую часть в контексте сборки, система производит ее полную загрузку.
Если часть загружена частично, вы не можете изменять ее твердое тело. Тем не менее, используя ссылки между выражениями, вы можете изменить значение выражения в частично загруженной компоненте. Когда вы изменяете выражение в частично загруженной сборке, система сообщает вам, что для того, чтобы увидеть изменения, вы должны полностью загрузить компоненту. Для этого вы можете воспользоваться командой Open.
После вызова команды система выдает список частично загруженных компонент. Опция в верхней части меню позволяет вам выбрать между двумя опциями. Показаны компоненты с измененными выражениями (All Modified). Показаны компоненты, на которые имеются ссылки (All Reference).
Вы можете выбрать компоненты из списка или использовать опцию Load All Parts In List (Загрузить все части из списка) для загрузки всех компонент из списка.
Замечание: Вы можете использовать навигатор сборок Assemblies Navigation Tool (ANT) для того, чтобы удостовериться, что все компоненты полностью загружены. В целом, вы можете установить опции загрузки Load Options, чтобы все компоненты были загружены.
Отмена редактирования
Используя функцию UNDO, вы можете отказаться от любого из нижеуказанных изменений, которые вы сделали:
Обновление модели
Удаление выражения
Создание выражения
Любое редактирование выражений
Отмену дейставия можно выполнить командой Edit—>Undo (или нажать кнопку Undo в выпадающем меню).
Выбрав команду Undo вы можете отменоть:
Первое редактирование
Обновление модели
Все редактирования после обновления модели
Команду ОК (только для Tools—>Expression)
Например, если вы сделали пять изменения, обновление модели и еще три изменения, команда Undo отбросит три последних редактирования.
Если вы сделали пять изменений, обновление модели, и оно не прошло, то команда Undo отменит пять предыдущих редактирования.
Вы можете повторять Undo, пока не дойдете до начального состояния базы данных выражений.
Переименовать выражение
Эта команда используется для переименования выражения. Система находит все выражения, где использовалась переименованное, и заменяет и в них старое имя на новое. Имена всех выражений в части должны быть уникальными. Вместо стандартных имен полезнее использовать имена выражений, имеющие смысл.
Перезадающие выражения
Выражение, которое вносит изменение в выражения другого файла, называется перезадающим выражением.
Замечание: Перезадающее выражение допустимо только для сборки и компонентов сборки.
Примеры выражений
Замечание: Следующие примеры созданны для определенного построения:
Арифметические выражения:
Логические выражения:
Геометрические выражения:
Выражения могут использоваться несколькими способами. Они могут контролировать значение ограничения эскиза и параметра на типовом элементе формы. Они могут определять константы, используемые в других выражениях (pi=3.1415926). Они могут содержать вычисления, которые разбивают сложные формулы на несколько простых формул.
На пример, вам надо создать блок и определить его размеры, ссылаясь на его ширину. Вы можете сначала написать выражение для определения толщины "width = 5.0", затем используя это выражение определить другие размеры блока. Если вы используете команду создания блока с помощью длин ребер и угла Edge Lengths, Corner вы можете использовать выражение "width" для определения длины по оси X. Тогда значение длины по оси Y будет равно "3 * width" или по оси Z - "width/4".
Приоритет операций и порядок их выполнения
Ниже приведены операции в порядке приоритета, верхние операции имеют приоритет над операциями расположенными ниже. В этой же таблице в скобках указан порядок использования операций, имеющих одинаковый приоритет:
Когда в выражении одновременно используются несколько операций с одинаковым приоритетом то, в зависимости от порядка следования, операции будут выполняться слева-направо. Например, X=90-10+30 имеет значение 110, а не 50.
Редактирование геометрических выражений
Геометрические выражения могут редактироваться, используя команды Edit --> Feature.
Если вы выбираете команду редактирования параметров Edit Parameters, появляется диалоговое окно Feature Selection. Выберите элементы DISTANCE_EXP, LENGTH_EXP или ANGLE_EXP в диалоговом окне соответствующей типу создаваемого выражения диалог Edit Distance Feature, Edit Length Feature или Edit Angle Feature.
Для удаление геометрического выражения, используйте команды Edit—>Feature—>Delete Feature и выберите выражение из списка Feature Selection.
Используя команды Information—>Expression, вы можете получить более подробную информацию по выражениям.
Редактирование в электронной таблице
Замечание: : Геометрические выражения не показываются в электронной таблица.
Для получения более подробной информации по электронной таблице смотрите Unigraphics Gateway Online Help.
Редактирование выражений
Для редактирования выражений просто введите его новое значение. Геометрические выражения могут редактироваться, используя команды Edit—>Feature.
Замечение: Выражения, использовавшиеся в 10-й версии UG не попадут в список выражений, пока использующие их типовые элементы не будут вызваны для редактирования с помощью команд Tools—>Expression или Information—>Expression после того, как элемент был выбран, используя Edit Feature.
Вы можете редактировать выражения так, что все выражения, содержащие ссылку на одну часть, могут быть заменены ссылкой на другую часть.
Например, если вы имеете:
y = part1::width
part1::height = 10
то вы можете поменять все ссылки "part1" на "part2" так, что
y = part2::width
part2::height = 10
Вы можете также заменить все внешние ссылки выражениями-константами.
Регулярные выражения
Регулярные выражения используются для выражения имени части с правилами задания версий. Они также могут использоваться в диалоге выбора компонент для фильтрации имен компонент и для поиска имен компонент в графическом навигаторе сборки.
Максимальное число в регулярных выражениях 255.
{n,} все версии от n до 255
{,m} все версии от 0 до m
{n} точно n версий
задающее ссылку на выражение из
Выражение, задающее ссылку на выражение из другой части имеет вид:
Например выражение:
означает, что параметр "hole_dia" задается через выражение "diameter" из части "pin".
Замечание: Перед символом "::" никаких пробелов не допускается.
Синтаксис выражения
Выражение есть предложения, задающее связь между переменной и ее значением. Выражение имеет описание, заданное в его правой части, которое присваивается переменной, заданной в его левой части. Для получения значения выражения система “вычисляет” его правую часть, которая может быть алгебраическим либо логическим выражением.
Левая часть выражения всегда должна быть только простой переменной. Левая часть выражения также называется его именем. Имя выражения уникально. Имя выражения может встречаться сколько угодно раз правой части других выражений, т.е. мы можем задавать значения одних выражений, используя значения любых других выражений.
Правая часть выражения может содержать комбинацию переменных, чисел, операций и символов. Каждая переменная, использующаяся в правой части выражения, должна строго один раз встречаться в левой части одного из выражений.
В именах переменных различаются заглавные и строчные буквы, по этому D и d будут рассматриваться системой как разные переменные.
Выражение могут быть двух типов:
Созданные системой. Такие выражения автоматически создаются системой и начинаются с префикса “p”.
Созданные пользователем. Выражения, которые ввел сам пользователь.
Сохранение текущего фильтра
Если вы выбираете эту опцию, текущий фильтр сохраняется. В следующий раз, когда вы откроете файл, в поле Filter будет установлено значение, которое содержалось в Save Current Filter.
Создание выражений
Новое выражение создается простым его набором в окне редактирования.
Замечание: В момент задания чисел вы можете использовать запись десятичного выражения с показателем десятичной степени. Например:
2e+5 означает 200000
2e-5 означает 0.00002
Для создания геометрического выражения, выберите команду Geometric Expression в диалоговом окне Edit Expressions и нажмите OK или Apply.
Создать связь выражений
Эта команда позволяет создать выражение, ссылающееся на выражение в другой части. После выбора команды система предлагает указать имя части из списка частей, загруженных в текущем сеансе. Вы можете указать имя части в списке, указав на него курсором в графическом окне, если вы работаете в сборке или выбрать любую часть по имени файла, используя команду Choose Part File.
После того как вы выбрали часть, система выведет на экран список всех выражений из этой части. Укажите имя выражения из списка и набери ОК. Ссылка на выражение будет внесена в текстовое поле. Она имеет вид:
Если часть, на которую вы ссылаетесь, имеет другую систему единиц, система автоматически добавит функцию преобразования. Например, если вы ссылаетесь в части, использующей миллиметры, в части, использующей дюймы, то получите преобразование:
Замечание: Вы не обязаны использовать команду Create Link для ссылки на выражение в другой части и можете прямо ввести ссылочное выражение в диалоговом текстовом окне.
Список по
Опция позволяет вам контролировать порядок сортировки выражений в окне. Эта опция имеет значения:
Список выражений
Вы можете просматривать все выражения сборки, включая ее компоненты, используя команду Information—>Expression.
Команда показывает полный список выражений и их значений, веденных в правой колонке в диалоговом окне вывода результатов. Вы можете сохранить список выражений в текстовом файле, выполнив команду File-->SaveAs или напечатать их командой Print.
Другая команда Information—>Expression представляет более интеллектуальные возможности просмотра выражения: по типовым элементам, по эскизу, по условиям сопряжения компонент в сборке. Это позволяет вам быстро понять, какое выражение связано с тем или иным элементом построения твердого тела.
Замечание: Типовые элементы, созданные не в 10-ой версии UG, не будут отображаться в списке выражений до тех пор, пока вы не начнете редактировать типовые элементы построения, с которыми они связаны.
В списке выражений отображаются все выражения, которые соответствует заданному в данный момент фильтру. Если вы выберите любое выражение, указав на него курсором, и нажмете левую клавишу мышки, система поместит выражение в диалоговое текстовое окно, расположенное ниже. Такое выражение готово для редактирования. Если вы сделали любое редактирование текста и затем выбрали другое выражение, левая часть нового выражения, т.е. его имя, будет добавлено в конец текущего выражения. Этот способ удобен для быстрого включения в выражение имен других выражений. Например, вы вызвали в диалоговое окно выражение lenght=10 и начали его редактировать, набрав символ '+'. Если после этого указали выражение offset=3.14, то окончательно получите выражение lenght=10+offset.
Если вы указали на новое выражение, не сделав никакого изменения в текущем выражении, то новое выражение просто заменит старое.
Замечание: Многие команды в меню редактора выражение (например, удаление выражения) имеют смысл только в том случае, если вы выбрали какое-либо выражение. Если никакое выражение не выбрано, никакого действия не происходит.
Текстовое поле
Вы можете ввести выражение в текстовое поле одним из следующих способов:
Вводом выражения в диалоговом окне.
Выбором выражения из списка выражения
Выбором команды Create Link (Создание связи).
После окончания ввода выражения нажмите клавишу Return.
Замечание: Нажатие ОК приведет к записи введенного выражения. После этого будет сделано обновление геометрической модели.
The Expressions Dialog Выражения
Когда вы выбираете команду Tools—>Expression, на экране появляется изображенное ниже диалоговое окно.
Тип выражений