Как задать высоту шрифта для отклонений?

Автор Николай, 21.05.13, 09:37:21

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Николай

Как задать высоту шрифта для отклонений?


Строка в VB:
ksDocument2D.ksText 20, 240, 0, 5, 1, 0, "16" & "$l" & "+0,33" & ";" & "+0,15"

Получается, как на картинке- всё одним шрифтом.

Azazel

Если не много размеров то попробуйте выделить их и в свойствах сменить стиль текста



q

Почитайте раздел "187.2. Синтаксис файла" справки по КОМПАСу.

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

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

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

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

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

+ Благодарностей: 1

Николай

У меня старый Компас (без такой развёрнутой справки), поэтому спасибо за выборку.

Николай

Что-то не срабатывает попытка изменить высоту индексов с помощью s,m или l.
Варианты строк в VB:

ksDocument2D.ksText 20, 230, 0, 5, 1, 0, 16 & "$" & "s" & "+0,33" & ";" & "+0,15 " & "$" & "s"
ksDocument2D.ksText 20, 210, 0, 5, 1, 0, 16 & "$s" & "+0,33" & ";" & "+0,15 " & "$s"

Результат на картинке.

q

Цитата: Николай от 21.05.13, 16:18:29
У меня старый Компас (без такой развёрнутой справки), поэтому спасибо за выборку.
В таком случае можете скачать файл http://sd.ascon.ru/ftp/Public/Documents/Kompas/KOMPAS_V13/KOMPAS-3D_Guide.pdf.
В нем раздел 231.1.2 полностью повторят соответствующий раздел справки.
Цитата: Николай от 21.05.13, 16:51:55
Что-то не срабатывает попытка изменить высоту индексов с помощью s,m или l.
Не знаю получится ли программно, но можно пойти обходным путем, задать разный размер шрифта для размера и индексов.

Николай

"Не знаю получится ли программно, но можно пойти обходным путем, задать разный размер шрифта для размера и индексов."
Обходным путём я уже сделал. Но так как строки размеров имеют каждый раз разную длину, пришлось подсчитывать количество знаков, наличие короткого символа- десятичного разделителя. И всё равно неэстетично. Если в размере много единиц- опять строка укорачивается и допуски "скачут"... Кривые решения дают кривоватые результаты.
Может, кто-нибудь проверит код и подскажет решение?

Slaviation

#7
Во вложении Python-скрипт создания текста с верхним отклонением заданной высоты (рис), записанный приложением КОМПАС-Макро (это приложение генерирует код Python действий пользователя по созданию объектов в КОМПАС). Разбирай, начиная со строки 27.

Чтобы не считать символы, есть функции которые вернут длину строки:
- GetTextLengthW
- GetTextLength
- ksDocument2D.ksGetTextLength

Николай

Принял к сведению. Будем разбираться.

Николай

#10
test.cdm.zip, распаковал, но там лежит файл с расширением *.cdm, который неизвестно чем открывается.
А функции помогли, спасибо:

D = 9999.111112
ksDocument2D.ksText 30, 140, 0, 5, 1, 0, "ПР @2 " + D
ksDocument2D.ksText 30 + 13 + ksDocument2D.ksGetTextLength(D, 0), 140, 0, 3.5, 1, 0, "$" + "+0,58" + ";" + "+0,32" + "$"

Результат почти не отличим от того, как Компас проставляет размеры. Но Компас допуски проставляет шрифтом высотой 3,2мм. Не по ГОСТУ, однако!  :)


GenTAPo

А почему не выбрать в настройках Параметры - По центру с уменьшенным шрифтом. Или я за свою практику больше привых обращать внимание на конструкцию, а не на высоту знаков.
У нас дотошная нормоконтроллёрша определила, что высота знаков 3,5 шрифта Таймс Нью Роман в текстовых документах больше, чем шрифт 12 в Ворде, где раньше оформляли документацию, аж на 0,15 мм. Как она их вычислила, не знаю. Но дури нет границ. В таких случаях я говорю, давайте останавливаем производство и на будем выпускать продукцию. А то станочник упадёт в обморок, увидев такой шрифт. А когда вы на кульмане рисовали, вы что, по трафарету всё писали? И всё было в размер?

Николай

Дело в том, что эти допуска должны проставляться не вручную, а программным путём. Поэтому "...выбрать в настройках Параметры - По центру с уменьшенным шрифтом..." ничего не даст... По высоте штифта- просто сделал допуски как в КОМПАСе, 3,2 мм и никто не заморочился измерять :)

yats

GenTAPo имел виду стандартную настройку