Форумы caduser.ru

 
Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти  
Страницы: 1
RSS
Замена Шрифта во всех текстовых стилях чертежа, необходимо подставть определенный шрифт во все текстовые стили
Всем привет.
Можете помочь с лиспом в следующем вопросе?

Есть проблема: Много смежных отделов/организаций/исполнителей, которые выполняют чертежи, используют свои стили текста (заставить их работать с одним - исключено). Также есть специализированное приложение, которое само формирует стиль теста со своим шрифтом.

Задача: В один клик заменить в каждом стиле текста, имеющимся в чертеже, шрифт на ISOCPEUR.
Удалять сами стили текста не надо

Спасибо
отвечу сам себе
нашел из постов решение от Кулик Алексей aka kpblc
по подмене шрифта
(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 (findfile font-name)))
) ;_ end of VL-CATCH-ALL-APPLY
) ;_ end of vlax-for
) ;_ end of progn
) ;_ end of if
) ;_ end of defun


от VVA взял полезную вещь по созданию автоматически своего стиля

(vl-load-com)
((lambda ( _style _fontfile / tmp)
(if (not (tblsearch "STYLE" _style))
(setq tmp (vla-add (vla-get-textstyles (vla-get-activedocument (vlax-get-acad-object))) _style))
(setq tmp (TBLOBJNAME "STYLE" _style)
tmp (vlax-ename->vla-object tmp)
)
)
(vla-put-fontfile tmp (findfile _fontfile)) ;_Шрифт
(vla-put-height tmp 0.0);_
(vla-put-obliqueangle tmp (/ (* 15 PI) 180)) ;_15 - Угол наклона в градусах
(vla-put-width tmp 1) ;_Ширина
(vla-put-activetextstyle (vla-get-activedocument (vlax-get-acad-object)) tmp)
)
"MY_STYLE_NAME" ;_Имя стиля
"simplex.shx" ;_имя файла шрифта
)


тему можно удалить или закрыть
Спасибо
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)