| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Замена шрифта сразу во всех стилях

Замена шрифта сразу во всех стилях

Ответ
Поиск в этой теме
Непрочитано 16.11.2006, 13:16
Замена шрифта сразу во всех стилях
Georg
 
Design
 
Kiev
Регистрация: 27.10.2004
Сообщений: 57

:arrow: Как в чертеже поменять во всех текстовых стилях шрифт на один определенный.

Бывает необходимо, когда приносят распечатать чертежи сторонних контор, а шрифты пиплы забывают прикладывать.
Вот и приходится в сотне чертежей менять шрифт в каждом из десятка стилей

:arrow: Может у кого Лисп есть для такого дела?
Просмотров: 28025
 
Непрочитано 28.05.2013, 16:28
#21
voverrr

гастарбайтер понаехал
 
Регистрация: 07.12.2009
Маскво
Сообщений: 267


спасибо! теперь можно жить без матов про чужие чертежи.
voverrr вне форума  
 
Непрочитано 15.07.2016, 11:32
#22
Kyogre


 
Регистрация: 18.05.2016
Сообщений: 4


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Спробуй так:...
в Автокаде 2017 работает, но шрифт меняет имя со своего краткого на имя своего пути, в результате в чертеже создаются шрифты дублёры, и в добавок к этому шрифт меняется не сразу после выполнения лиспа, а только после открытия (и закрытия) окна редактирования текста.
Реально что-нибудь с этими двумя проблемами сделать?
Kyogre вне форума  
 
Непрочитано 15.07.2016, 13:46
#23
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Тогда, как вариант (не проверял, подчеркиваю!)
Код:
[Выделить все]
(defun setfont (font-name / selset)
  (vl-load-com)
  (if (findfile font-name)
    (progn
      (vlax-for style
                      (vla-get-textstyles
                        (vla-get-activedocument (vlax-get-acad-object))
                        ) ;_ end of vla-get-textstyles
        (vl-catch-all-apply
          '(lambda () (vla-put-fontfile style font-name))
          ) ;_ end of VL-CATCH-ALL-APPLY
        ) ;_ end of vlax-for
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.07.2016, 14:00
#24
Kyogre


 
Регистрация: 18.05.2016
Сообщений: 4


Кулик Алексей aka kpblc,
во, теперь всё чётко - первая проблема решена. Вторую проблему можно решить таким костылём: выделить тексты на которых применили этот лисп, в Свойствах нажать на графу Содержимое, сбоку от этой графы появится значок окна, нажать на этот значок, откроется редактор текста, нажимать комбинацию CTRL+Enter до тех пор пока не закроются все редакторы, в результате шрифты успешно применятся.
P.S. для новичков поясняю, как вызывается этот лисп: копируем в командную строку фразу (setfont "xxx.shx")
да да, прямо с круглыми скобками. Потом xxx заменяем на имя нужного вам шрифта, нажимаем Enter

Последний раз редактировалось Kyogre, 15.07.2016 в 14:05.
Kyogre вне форума  
 
Непрочитано 15.07.2016, 14:07
#25
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Лисп работает не на текстах, а на стилях. Так что после него надо бы применить лисп очистки форматирования многострочных текстов (на форуме был, найти только надо).

----- добавлено через ~1 мин. -----
http://forum.dwg.ru/showthread.php?t...ght=stripmtext
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.07.2016, 14:13
#26
Kyogre


 
Регистрация: 18.05.2016
Сообщений: 4


да, вы правы, работает на стилях (я понял это после того как зашел в редактор остальных текстов того же стиля). А существует ли лисп, чтобы принудительно изменять шрифты текстов без изменения стилей? (ну, чтобы было так как я напридумывал в своем предыдущем посте; чтобы потом на эти тексты применение стилей не меняло шрифт) Или такое никому не нужно и не находит применение?
Kyogre вне форума  
 
Непрочитано 14.02.2019, 11:45
#27
JIexaSVT


 
Регистрация: 14.02.2019
Сообщений: 2


Прошу помочь с той же проблемой. нужно в существующих стилях файла (АР) применить 1 шрифт.
вышеуказанный код не срабатывает в 2016 автокаде. может что то не актуально? предыдущая версия кода выдавала
"Команда: (setfont "times.shx")
nil"

подгружен и отлично работает change text styles (cts) 1.7, спасибо быстро и удобно. НО бывает при неких действиях вылетают тексты в 100 раз больше или в 100 раз меньше, иногда при сбросе системные данные выскакиваю. Да и не очень удобно, когда все в 1 стиле. в нем случаем нет "вшитой" функции по замене только шрифта во всех стилях?

ПС может какому новичку поможет: неизвестные шрифты заменяются на "альтернавтивный", его можно задать в настройках:
1) Открыть настройки (_options)
2) Во вкладке «Файлы» найти «Имена файлов текстового редактора, словаря, шрифтов» -> «Файл альтернативного шрифта» и указываем типовой, например Times New Roman.
JIexaSVT вне форума  
 
Непрочитано 30.03.2021, 08:20
#28
gizmo_zx

Проектировщик ЭО,ЭМ, ЭОС
 
Регистрация: 18.07.2007
Нижний Новгород
Сообщений: 256
<phrase 1= Отправить сообщение для gizmo_zx с помощью Skype™


Бодрого дня.
Код перестал работать при переходе на Windows 10.
Причина вероятно кроется в расположении шрифта (GOST.TTF).

Выбирая вручную "GOST type A" получаю xxx = TS.fontFile равную "" пустому месту
Раньше (windows 8) все шрифты лежали "c:\Windows\Fonts\" , а теперь при установке сами лезут в папку юзера "c:\Users\YURII\AppData\Local\Microsoft\Windows\Fonts\GOST.TTF"

Как еще можно подсмотреть расположение файла шрифта?
Устанавливая TS.fontFile = "c:\Users\YURII\AppData\Local\Microsoft\Windows\Fonts\GOST.TTF" (файл физически там есть) , в Acad шрифт помечается желтым треугольником, как не найденный.

Устанавливая TS.fontFile = "c:\Windows\Fonts\GOST.TTF" вываливается с ошибкой (т.к. файла физически там нет)



Код:
[Выделить все]
Public Sub FontChange()
 Dim TS As AcadTextStyle
 Dim TSs As AcadTextStyles
Dim xxx As String
  
 Set TSs = ThisDrawing.TextStyles

 For Each TS In TSs

 xxx = TS.fontFile
 TS.fontFile = "c:\Users\YURII\AppData\Local\Microsoft\Windows\Fonts\GOST.TTF"
  TS.fontFile = "c:\Windows\Fonts\GOST.TTF"
 'TS.BigFontFile = ""


 Next

 End Sub
gizmo_zx вне форума  
 
Непрочитано 30.03.2021, 10:06
#29
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Проверяй, что в реестре указывается для этого файла. Arial Italic, к примеру - ArialI.ttf, насколько мне помнится
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.04.2021, 07:57
#30
gizmo_zx

Проектировщик ЭО,ЭМ, ЭОС
 
Регистрация: 18.07.2007
Нижний Новгород
Сообщений: 256
<phrase 1= Отправить сообщение для gizmo_zx с помощью Skype™


Для тех кто завязан на расположение файла шрифта (для Windows 10)

Как заставить Win10 установить шрифты в C:\Windows\Fonts?

В каталоге C:\Users\MyName\AppData\Local\Microsoft\Windows\Fonts щелкните правой кнопкой мыши файл шрифта и выберите "Install for all users" (перевод). Появится подсказка, сообщающая, что шрифт уже установлен. Все еще нажимаю "Yes". Затем шрифт будет скопирован в %WINDIR%/Fonts.

Можно подумать, что файл шрифта в C:\Users\MyName\AppData\Local\Microsoft\Windows\Fonts больше не нужен и может быть удален. Но когда вы пытаетесь, появляется сообщение, сообщающее, что действие не может быть завершено, так как файл открыт в системе. - Значит, у нас есть еще одна копия файла.

Чтобы избавиться от файлов *.pfb, *.pfm и *.ttf в C:\Users\MyName\AppData\Local\Microsoft\Windows\Fonts, перейдите в реестр и удалите все ссылки на них в "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Fonts" и "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Type 1 установщик". Затем перезагрузите компьютер. Затем вы можете удалить эти файлы.

https://coderoad.ru/55264642/Как-зас...-Windows-Fonts
gizmo_zx вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Замена шрифта сразу во всех стилях

Размещение рекламы