|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как научить acad 2008(2010) понимать text override из acad 2002?
Краматорск-Донбасс-Украина
Регистрация: 07.02.2011
Сообщений: 7
|
||
Просмотров: 4080
|
|
||||
Дизайнер-конструктор Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
![]() |
Может проблема со шрифтами? Которые есть в 2002, но нет в 2008?
При загрузке файла в 2008 после загрузки нажать F2. Там ничего нет типа шрифт такой-то не найден, заменен на....??? Тогда поможет загрузка шрифта в 2008.
__________________
Kiev, Ukraine |
|||
![]() |
|
||||
Регистрация: 07.02.2011
Краматорск-Донбасс-Украина
Сообщений: 7
|
Проблем со шрифтами нет.
Дело в том, что acad2002 - acad2007 понимет кодировку, например, показатель степени (допуска в размере) в таком виде в поле text override: <>`+`0`.`2`5 А acad 2008 не понимает и пишет, то что видит ![]() В нем кодировка показателя степени (допуска в размере), если проставить размер заново, выглядит следующим образом: <>{}{\H0.71x;\C3\S\+0.25^;} Вот в это вся и загвоздка. Какие у кого есть еще предложения? Помогите! |
|||
![]() |
|
||||
В AutoCAD 2002 в размерах использовался обычный текст, в 2008 - мультитекст. Я на 99.999% уверен, что дело именно в шрифте, в котором символ ` выполнял функцию надстрочного текста. Этот шрифт судя по всему неюникодовый и AutoCAD 2008 работать с ним нормально не будет. Мой совет - писать программу (ObjectARX/LISP/.NET), которая произведет интеллектуальную замену строк в размерах. Другого способа я не вижу.
|
||||
![]() |
|
||||
Регистрация: 07.02.2011
Краматорск-Донбасс-Украина
Сообщений: 7
|
Ура. Этот вопрос я решил, почитав help acad2008. Нашел используемый shx шрифт (он присутствовал и в 2008/2010) и в нем исправил ACCII кодировку символа, по которому проставляется верхний индекс (в данном сучае поставил десятичный код "`" 96 ).
Всем спасиба. |
|||
![]() |
|
||||
Наверное имелось в виду ASCII.
Последний раз редактировалось Александр Ривилис, 18.02.2011 в 13:01. |
||||
![]() |
|
||||
Регистрация: 07.02.2011
Краматорск-Донбасс-Украина
Сообщений: 7
|
Опечатка вышла
![]() В качестве пояснения приведу боооольшую цитату из мануала по ACAD2008. Сразу скажу, что до меня в редактируемом шрифте, приведенные ниже строки (но с другими цифрами и кодами ASCII) были прописаны кем-то. Хотя там для верхнего индекса указывался другой символ, но acad2002 почему-то нормально понимал символ "`" (почему? Разбираться не стал). Поэтому я поменял только одно значение для верхнего индекса (десятичный код 96 для символа "`"). Всё заработало, поэтому больше ничего не стал менять. И если возникнут проблемы например с нижним индексом, я уже знаю, что надо делать. Верхние и нижние индексы в SHX-файлах Для усовершенствования отображения верхних и нижних индексов в текстовых строках нужно внести некоторые изменения в соответствующие файлы описания форм. SHX-шрифты AutoCAD обладают лишь ограниченными возможностями написания верхних и нижних индексов в текстовых строках. Однако бороться с этим сравнительно просто: нужно внести некоторые изменения в соответствующие файлы описания форм. Процесс нанесения верхних и нижних индексов проходит в два этапа. Вначале необходимо сместить вверх или вниз “воображаемое перо”, с помощью которого, вектор за вектором, отрисовывается текст. Затем производится уменьшение “масштаба” шрифта. В дополнение к этому требуются еще две обратные операции, которые возвращают шрифт в нормальное состояние. В описание шрифта следует добавить четыре новых символьных клавиши: две для включения/отключения верхних индексов и две - для нижних. Чтобы не трогать уже имеющиеся описания, лучше отвести под переход на уменьшенный шрифт клавиши малой цифровой клавиатуры. Добавление описаний верхних и нижних индексов к описанию шрифта Описанная в данном примере процедура иллюстрирует модификацию шрифта AutoCAD с именем Romans, но такой же метод можно приложить к любому шрифту AutoCAD. К описанию шрифта добавляются четыре новые формы: super_on, super_off, sub_on и sub_off, которые управляют положением и размером следующих за ними символов. Для простоты в данном примере под новые операции задействованы символы квадратных скобок ([и]) и фигурных скобок ({и}). Пользователь может выбрать для данной операции другие символы или использовать номера форм из расширенной части таблицы ASCII (коды от 128 до 256). В последнем случае для размещения новых символов потребуется ввод кода %%nnn (где nnn - это ASCII-код символа). 1 Отредактируйте файл SHP в текстовом редакторе. 2 Найдите описания форм для символов, которые нужно заменить. Для того чтобы новые описания форм вступили в силу, перед каждой строкой, содержащей старое описание, нужно поставить точку с запятой, тогда она будет считаться комментарием. Описание формы может состоять из нескольких строк. Символы квадратных скобок имеют коды ASCII 91 и 93 (для шрифтов Unicode используются шестнадцатеричные значения 05B и 05D). Символы фигурных скобок имеют коды ASCII 123 и 125 (шестнадцатеричные значения 07B и 07D). 3 Сложите первое и второе значения из второй строки описания и разделите полученную сумму на 2, как показано в следующем примере: *UNIFONT,6,расширенный одноштриховой Roman для UNICODE 21,7,2,0 21 + 7 = 28, затем 28 / 2 = 14. Полученное число будет использоваться в дальнейшем. 4 Добавить следующие строки в конец SHP-файла: *91,8,super_on 2,8,(0,14),003,2,1,0 *93,8,super_off 2,004,2,8,(0,-14),1,0 *123,8,sub_on 2,8,(0,-14),003,2,1,0 *125,8,sub_off 2,004,2,8,(0,14),1,0 Обратите внимание на значения 14 и –14, использующиеся в этих строках. Это смещения по оси Y для воображаемого пера. Значение 14 - это половина максимальной высоты символов данного шрифта, что является правильным приближенным значением для верхних и нижних индексов. Это значение необходимо вычислять для каждого файла шрифта отдельно, но пользователь может изменить его по своему желанию. 5 Сохраните файл. 6 Скомпилируйте SHP-файл с помощью команды _compile. После того как форма откомпилирована и задан нужный стиль, можно вызывать новые команды для поднятия и опускания пера путем ввода символов [, ], {, и }. Символ [ наносит верхний индекс, а символ ] возвращает шрифт в нормальное состояние. Символ { наносит нижний индекс, а символ } возвращает шрифт в нормальное состояние. В моём случае, как уже говорилось, символ ` наносит верхний индекс. Последний раз редактировалось atum, 18.02.2011 в 21:05. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
AUTOCAD 2010 перестал переключаться в многооконный режим. Проблемы с переменными | Андрей Х. | AutoCAD | 24 | 27.05.2015 10:17 |
Express Tools | Perezz!! | AutoCAD | 483 | 13.02.2015 10:57 |
перенос данных и автокада в эксель | evg76 | Программирование | 31 | 29.10.2013 14:55 |
Сомневаюсь в правильности своего перевода | hwd | Программирование | 11 | 26.10.2009 08:43 |
Сетевой ACAD 2002 и WIN_XP_PRO_SP2 | mike7 | AutoCAD | 11 | 17.01.2005 16:24 |