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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как изменить свойства атрибута "Текст"

Как изменить свойства атрибута "Текст"

Ответ
Поиск в этой теме
Непрочитано 09.11.2011, 06:47 #1
Как изменить свойства атрибута "Текст"
dimon_hub
 
Менеджер САПР
 
г. Хабаровск
Регистрация: 03.08.2010
Сообщений: 43

Подскажите пожалуйста как изменить в чертеже свойства атрибута текста - глобально? (Угол наклона, стиль текста и др.). У меня есть блоки с созданными атрибутами и в них угол наклона - 15 градусов и стиль текста другой. А в фирме где я работаю требуют текст без наклона и текстовые стили раз в полгода изменяют. Мне надо подогнать все то, что у меня сделано под стандарт предприятия. Может быть есть какая-нибудь LISP-програмка по переводу атрибутов?
Просмотров: 7866
 
Непрочитано 09.11.2011, 08:02
#2
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,327


через _battman, только с отзеркаленными блоками будут некоторые заморочки
Хмурый вне форума  
 
Автор темы   Непрочитано 14.11.2011, 09:04
#3
dimon_hub

Менеджер САПР
 
Регистрация: 03.08.2010
г. Хабаровск
Сообщений: 43


Я согласен. Но эта команда редактирует атрибуты одного блока с одинаковым именем. Но у меня другая задача. Если в чертеже вставлено 20 и более блоков и мне необходимо у них поменять текстовый стиль, угол наклона текста и коэффициент сжатия текста для всех вставленных в чертеж блоков, потому что эти атрибуты будут одинаковыми для всех объектов чертежа.
dimon_hub вне форума  
 
Непрочитано 14.11.2011, 09:10
#4
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,327


синхронизация атрибутов _attsync
да и _battman во всех вхождениях блока с атрибутом свойства текста меняет...

Последний раз редактировалось Хмурый, 14.11.2011 в 09:21.
Хмурый вне форума  
 
Автор темы   Непрочитано 25.11.2011, 05:16
#5
dimon_hub

Менеджер САПР
 
Регистрация: 03.08.2010
г. Хабаровск
Сообщений: 43


Дело в том, что имена у блоков разные. Хотелось бы изменить свойства текста для всех вставленных блоков сразу.
dimon_hub вне форума  
 
Непрочитано 25.05.2015, 13:09
#6
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Понадобилось, не нашёл готового, быстро накидал, м.б. кому-то ещё пригодится. На заблокированных слоях не обработает.

Код:
[Выделить все]
 
;;;*****************************************************************************************
;;; Copyright ©2015 Пётр Лоскутов (Alaspher)
;;; e-mail: [email protected]
;;;*****************************************************************************************
;;; ВЕРСИЯ: 0.9 БЕТА
;;;*****************************************************************************************
;;; ОГРАНИЧЕНИЕ ГАРАНТИЙ
;;; ПРОГРАММА РАСПРОСТРАНЯЕТСЯ НА УСЛОВИЯХ "КАК ЕСТЬ".
;;; АВТОР НЕ БЕРЕТ НА СЕБЯ И НЕ ПОДРАЗУМЕВАЕТ КАКИХ-ЛИБО ГАРАНТИЙНЫХ ОБЯЗАТЕЛЬСТВ.
;;; ВЫ ИСПОЛЬЗУЕТЕ  ПРОГРАММУ НА СВОЙ РИСК.
;;; АВТОР НЕ БЕРЕТ НА СЕБЯ ОТВЕТСТВЕННОСТЬ ЗА ПОТЕРЮ ДАННЫХ, УЩЕРБ, ПОТЕРЮ ПРИБЫЛИ ИЛИ ЛЮБЫЕ
;;; ДРУГИЕ ПОТЕРИ, ПРОИЗОШЕДШИЕ ВО ВРЕМЯ ИСПОЛЬЗОВАНИЯ ИЛИ НЕПРАВИЛЬНОГО ИСПОЛЬЗОВАНИЯ
;;; ДАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.
;;;*****************************************************************************************
;;; Разрешается   использовать,  копировать,  изменять,  и  распространять  это  программное
;;; обеспечение бесплатно, при  условии, что программное обеспечение, полностью или частично
;;; включающее данное ПО, будет распространяться  на тех-же условиях, а указанные  выше знак
;;; авторского права и примечания об ограничениях гарантий будут приводиться во всех копиях.
;;;*****************************************************************************************
;;; Описание.
;;;
;;; Данное ПО предназначено для изменения параметров атрибутов вставленных блоков.
;;;
;;; Формат вызова:
;;; Command: patrup
;;;
;;;*****************************************************************************************
;;;
(defun pl:edit_all_atr (/ ADOC BLKS LAYS SEL THEI TSTR)
  (setq	adoc (vla-get-activedocument (vlax-get-acad-object))
	blks (vla-get-blocks adoc)
	lays (vla-get-layers adoc)
	sel  (vla-get-activeselectionset adoc)
  )
  (vla-clear sel)
  (princ "\nВыбери блоки содержащие атрибуты")
  (pl:obj-selectonscreen sel '((0 . "INSERT")))
  (vla-endundomark adoc)
  (vla-startundomark adoc)
  (if (and (not (zerop (vla-get-Count sel)))
	   (progn (initget "Не менять")
		  (setq thei (vl-catch-all-apply (function getdist) '("\nУкажи высоту текста <Не менять>: ")))
		  (not (or (vl-catch-all-error-p thei) (= thei "Не менять")))
	   )
	   (progn (initget "Не менять")
		  (setq tstr (vl-catch-all-apply (function getreal) '("\nУкажи растяжение текста <Не менять>: ")))
		  (not (or (vl-catch-all-error-p tstr) (= tstr "Не менять")))
	   )
      )
    (vlax-for b	sel
      (if (= :vlax-true (vla-get-hasattributes b))
	(foreach i (vlax-safearray->list (vlax-variant-value (vla-getattributes b)))
	  (if (= (type thei) 'REAL)
	    (vl-catch-all-apply (function vla-put-Height) (list i thei))
	  )
	  (if (= (type tstr) 'REAL)
	    (vl-catch-all-apply (function vla-put-ScaleFactor) (list i tstr))
	  )
	)
      )
    )
  )
  (vla-endundomark adoc)
  (vla-clear sel)
  (princ)
)



(defun pl:obj-selectonscreen (csel filter / i)
  (vla-selectonscreen csel
		      (vlax-safearray-fill (vlax-make-safearray vlax-vbinteger (setq i (cons 0 (1- (length filter)))))
					   (mapcar (function car) filter)
		      )
		      (vlax-safearray-fill (vlax-make-safearray vlax-vbvariant i) (mapcar (function cdr) filter))
  )
)

(vl-load-com)

(defun c:patrup () (pl:edit_all_atr) (princ))

(progn (princ "\nType 'patrup' for start.") (princ))
Alaspher вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как изменить свойства атрибута "Текст"

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить ширину MText атрибута во вставленном блоке ? Roman3R AutoCAD 7 23.09.2011 17:40
Как изменить свойства отдельно взятого объекта в VBA? penb Программирование 11 01.08.2011 12:24
Слои в автокаде. при добавлении нового слоя не могу изменить имя и свойства слоя oleole AutoCAD 6 02.11.2010 23:28
Изменить поле (формула) атрибута блока EfremenkoDO Программирование 5 08.04.2010 11:43
Как изменить свойства атрибутов блока ALFMario AutoCAD 15 25.01.2008 00:42