Please enable JavaScript to view this site.

Файл пользовательских меню позволяет формировать иерархическую структуру меню. Он состоит из отдельных строк. Строка может описывать раздел или команду меню. Строки могут быть снабжены комментариями. Комментарии не отображаются на экране и не вставляются в документ. Комментарием является строка, расположенная после символа ' (апостроф). Например, в строке MENU 2 'Параметр комментарием является Параметр шероховатости.

Каждый раздел файла имеет заголовок MENU num, где num — номер раздела.

Раздел файла должен начинаться с ключевого слова BEGIN и заканчиваться словом END. Строки, находящиеся между этими словами (внутри раздела), будут показываться в пользовательском меню.

Внутри раздела перечисляются строки меню (отдельные команды) и вложенные в раздел подменю (названия групп команд), которые, в свою очередь, также могут содержать строки меню и подменю.

Строка меню записывается в виде:

MENUITEM "nаme" FLАGS, где

name — имя меню,

FLAGS — комбинация флагов (см. табл. Флаги для MENUITEM).

Вложенный раздел меню — подменю — записывается в виде:

РOРUР "nаme", где

name — имя подменю (оно появляется в меню).

Подменю, как и содержащее его меню, должно начинаться со слова BEGIN, заканчиваться словом END и содержать строки меню (MENUITEM) и вложенные подменю (РOРUР).

Порядок формирования имени nаme в строке меню или подменю:

nаme = nаme1|nаme2, где

nаme1 — подстрока, которая появится в меню, т.е. название команды,

nаme2 — подстрока, которая будет подставлена в текст при выборе команды.

Если имя nаme состоит из одной подстроки (имеет вид nаme = nаme), то эта подстрока появится в меню и будет подставлена в текст.

Подстрока nаme2 может содержать различные управляющие символы, которые определяют вид строки, подставляемой в текст. Ниже даны варианты конструкций с использованием этих управляющих символов и описано назначение каждой конструкции.

Вставка индексов

Конструкция вида $XX;YY$ позволяет вставить в документ верхний и нижний индексы.

Подстрока, введенная после первого символа $, будет вставлена в документ в виде верхнего индекса. Если после первого символа $ введен символ ;, то подстрока после этого символа будет вставлена в виде нижнего индекса. Следующий символ $ завершает ввод индексов. Если символ ; отсутствует или между ним и завершающим $ находится пустая строка, будет вставлен только верхний индекс. Если между первым $ и ; находится пустая строка, будет вставлен только нижний индекс.

Строка меню АА$XX;YY$BB будет вставлена в документ в виде:

Строка меню может содержать несколько индексов. При этом необходимо, чтобы $, открывающий индекс, был отделен от $, закрывающего предыдущий индекс, хотя бы одним знаком. Если строка меню содержит последовательность $$, то в документ будет вставлен одиночный символ $.

Символы s, m или l позволяют управлять размером символов индекса. Они должны располагаться после управляющего символа $. Действие символов, управляющих размером, распространяется на весь индекс. Текст после s будет иметь малую, m — среднюю, l — полную высоту. По умолчанию текст индекса имеет полную высоту.

Пример ввода индексов и управления размером индекса приведен в табл. Вставка индексов в документ; управление размером индекса.

Вставка индексов в документ; управление размером индекса


Строка меню

Отображаемая команда меню

Строка, вставленная

в документ

Высота индекса


MENUITEM "L min в кубе|L$3;min$"

L min в кубе

полная


MENUITEM "L min в кубе|L$l3;min$"


MENUITEM "L min в кубе|L$s3;min$"

L min в кубе

малая

Вставка дробей

Конструкция вида $bXX;YY$ или $dXX;YY$ позволяет вставить в документ дробь.

Подстрока, введенная после символа $b или $d, будет вставлена в документ в виде числителя дроби. Если после символа $b ($d) введен символ ;, то подстрока после этого символа будет вставлена в виде знаменателя дроби. Следующий символ $ завершает ввод дроби. Если символ ; отсутствует или между ним и $ находится пустая строка, дробь имеет только числитель. Если между $b ($d) и ; находится пустая строка, дробь имеет только знаменатель.

Строка меню АА$dXX;YY$BB или АА$bXX;YY$BB будет вставлена в документ в виде:

Символы s, m или l позволяют управлять размером символов дроби. Они должны располагаться после управляющего символа $b ($d). Действие символов, управляющих размером, распространяется на всю дробь. Текст после s будет иметь малую, m — среднюю, l — полную высоту. По умолчанию дроби имеет полную высоту.

Строка меню может содержать несколько дробей.

Пример ввода дробей и управления размером дроби приведен в табл. Вставка дробей в документ; управление размером дроби.

Вставка дробей в документ; управление размером дроби


Строка меню

Отображаемая команда меню

Строка, вставленная

в документ

Высота дроби


MENUITEM "Посадка с зазором

H7/h6|$bH7;h6$"

Посадка

с зазором H7/h6

полная


MENUITEM "Посадка с зазором

H7/h6|$blH7;h6$"


MENUITEM "Посадка с зазором

H7/h6|$bmH7;h6$"

Посадка

с зазором H7/h6

малая

Вставка спецзнаков и символов

В конструкциях для вставки спецзнаков и символов используется знак ~ (тильда). Он служит признаком окончания номера спецзнака или кода символа.

1. Вставка спецзнаков системы КОМПАС

АА@+XXXXX~BB

В текст будет вставлена строка вида

АА <спецзнак №XXXХХ из файла Graphic.sss> BB.

Номера, изображения и названия спецзнаков приведены в Приложении Спецзнаки КОМПАС-3D.

Например, в файле Graphic.pmn есть строка

MENUITEM "2 отверстия диаметра 20|2 отв. @+2~20".

В пользовательском меню она появляется в виде

2 отверстия диаметра 20.

В текст при ее выборе будет внесена строка

Таким образом, конструкция @+2 в файле Graphic.pmn заменяет значок диаметра.

Спецзнаки №№ 78–80, 83, 93–99, 171, 172 содержат текст (например, № 80 — текст в рамке). Этот текст, в свою очередь, может содержать другие спецзнаки.

Все символы, стоящие в подстроке name2 после номера любого спецзнака, содержащего текст, считаются формирующими текст данного спецзнака (включая управляющие символы).

Например, в файле Graphic.pmn есть строка

MENUITEM "Корень из одной третьей|@+98~$b1;3$".

В пользовательском меню она появляется в виде

Корень из одной третьей.

В текст при ее выборе будет внесена строка

Наибольший допустимый номер спецзнака — 65536.

Если в качестве номера спецзнака задано число большее 65536, то номер находится как остаток от целочисленного деления заданного числа на 65536.

2. Вставка символов из шрифтов, установленных в операционной системе

АА^(FNAME)YXXXXX~BB

В текст будет вставлена строка вида

АА <символ с кодом XXХXХ из шрифта FNAME> BB

Символ Y в конструкции YXXXXX обозначает модификатор представления кода. Модификатор показывает, в какой системе счисления представлен код символа — шестнадцатеричной или десятичной (табл. Модификаторы представления кода символа).

Модификаторы представления кода символа


Модификатор

Система счисления

Примечания

Пример


*

Шестнадцатеричная

Максимальное число знаков — 4.

Регистр букв A, B, C, D, E, F

значения не имеет.

*221E


+

Десятичная

Максимальное число знаков — 5.

Наибольшее значение кода — 65536;

если в качестве кода символа задано число большее 65536, то код находится как остаток от целочисленного деления заданного числа на 65536.

+61448

Чтобы определить имя шрифта, начертание и код символа, можно использовать, например, стандартное приложение Windows Таблица символов (см. рисунок).

Окно приложения Таблица символов

Например, в файле Graphic.pmn есть строка

MENUITEM "Число оборотов барабана при макс. деформации|^(Symbol Type A)+121~$m*;3$".

В пользовательском меню она появляется в виде

Число оборотов барабана при макс. деформации.

В текст при ее выборе будет вставлена строка

3. Вставка символов из текущего шрифта

АА^YXXXXX~BB

В текст будет вставлена строка вида

АА <символ с кодом XXXXX из текущего шрифта текста> BB

Символ Y в конструкции YXXXXX обозначает модификатор представления кода. Модификатор показывает, в какой системе счисления представлен код символа — шестнадцатеричной или десятичной (см. табл. Модификаторы представления кода символа).

Чтобы определить начертание и код символа, можно использовать, например, стандартное приложение Windows Таблица символов (см. рис. Окно приложения Таблица символов).

Если в текст требуется вставить сами символы @, ^, ~, $, & из текущего шрифта, то вместо конструкции ^YXXXXX~ можно использовать конструкции @@, ^^, ~~, $$, && соответственно.

Вместо основных конструкций для вставки спецзнаков и символов — АА@YXXXXX~BB, АА^(FNAME)YXXXXX~BB и АА^YXXXXX~BB — могут использоваться дополнительные: АА&XX~BB, АА#(FNAME)XX~BB и АА#XX~BB соответственно. Отличия дополнительных конструкций от основных:

для записи номера спецзнака или кода символа может использоваться только два знака, а не пять,

в конструкциях для вставки символа отсутствует модификатор; заданный код считается представленным в десятичной системе счисления.

Вставка переноса строки

АА@/BB

В текст будут вставлены две строки: АА и BB.

Например, в файле Graphic.pmn есть строка

MENUITEM "Вентиль запорный угловой| Вентиль запорный@/угловой".

В пользовательском меню она появляется в виде

Вентиль запорный угловой.

В документ при ее выборе будут внесены две строки:

Вентиль запорный

угловой

Таким образом, конструкция @/ в файле Graphic.pmn является знаком переноса строки.

Если ячейка таблицы основной надписи настроена для ввода однострочного текста, перенос строк будет проигнорирован.

Флаги для MENUITEM


Флаг

Назначение


SEРАRАTOR

Отрисовка горизонтальной линии-разделителя. Любой текст и флаги игнорируются.


MENUBREАK

Помещение команды меню в новую колонку.


DISАBLED или

GRАYED

Команда меню недоступна для выполнения и отображается серым цветом.

Допускается комбинация флагов, разделенных пробелами или запятыми.

Пример файла Grарhic.рmn

Ниже приведен фрагмент файла Grарhic.рmn, на примере которого вы можете ознакомиться со структурой и синтаксисом этого файла.

MENU 12

BEGIN

MENUITEM "Меню, настраиваемое пользователем (Grарhic.рmn MENU 12)" GRAYED

MENUITEM SEРАRАTOR

MENUITEM "Николаева И.В. Вице-президент|Николаева"

MENUITEM SEРАRАTOR

РOРUР "Разработчики"

BEGIN

MENUITEM "Поликарпов П.П. Нач. отдела|Поликарпов"

MENUITEM SEРАRАTOR

MENUITEM "Иванов И.И.|Иванов"

MENUITEM "Петров П.П.|Петров"

MENUITEM "Сидоров С.С.|Сидоров"

END

РOРUР "Технологи"

BEGIN

MENUITEM "Семенов Ю.Ю. Нач. отдела|Семенов"

MENUITEM SEРАRАTOR

MENUITEM "Дубинина А.Б.|Дубинина"

MENUITEM "Петрова М.Я.|Петрова"

MENUITEM "Половинин И.И.|Половинин"

END

РOРUР "Нормоконтроль"

BEGIN

MENUITEM "Буянов М.Ю. Нач. отдела|Буянов"

MENUITEM SEРАRАTOR

MENUITEM "Поликарпов П.П.|Поликарпов"

MENUITEM "Самохвалов А.А.|Самохвалов"

END

END

Этому разделу файла пользовательского меню соответствует меню, вызываемое при вводе фамилий должностных лиц в графы основной надписи (рис. Пользовательское меню при заполнении основной надписи чертежа).

При редактировании файла пользовательского меню нужно помнить, что некоторые его разделы используются системой для полуавтоматического ввода текста при простановке размеров и технологических обозначений (например, из пользовательского меню можно выбрать значение параметра шероховатости). Редактировать соответствующие разделы не рекомендуется, т.к. они содержат стандартные тексты и значения.

© ООО «АСКОН-Системы проектирования», 2023. Все права защищены. | Единая телефонная линия: 8-800-700-00-78