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

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

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

Ответ
Поиск в этой теме
Непрочитано 20.02.2024, 11:36 #1
Как отобразить скрытый атрибут сразу нескольких блоков одновременно?
Йинегве
 
Регистрация: 10.11.2017
Сообщений: 8

Добрый день! В чертеже имеется больше 1000 блоков. У всех этих блоков есть атрибут "Номер". И у всех блоков в этом атрибуте для параметра режима "Скрытый" установлена галочка. В результате атрибут не отображается на чертеже. Стандартная опция позволяет редактировать только по одному блоку. Можно ли снять галочку для параметра "Скрытый" сразу для всех 1000 блоков одновременно? Спасибо
Просмотров: 605
 
Непрочитано 20.02.2024, 11:56
#2
Кулик Алексей aka kpblc
Moderator

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


1000 вхождений одного и того же блока или 1000 разных описаний блоков?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 20.02.2024, 12:42
#3
Йинегве


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


1000 разных описаний блоков
Йинегве вне форума  
 
Непрочитано 20.02.2024, 14:47
#4
name02


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


Вот попробуй это. Основу взял отсюда
Изменение свойства скрытности для атрибутов всех ОПИСАНИЙ блоков в чертеже:
Код:
[Выделить все]
 (defun c:AttsNotHIDDEN (/ ATT_NAME b n)

  ;;Здесь указать имя атрибута
  (setq ATT_NAME "НОМЕР")

  (vl-load-com)

  (while (setq b (tblnext "block" (not b)))

    (setq n (cdr (assoc 2 b)))

    (vlax-for o	(vla-item (vla-get-blocks
			    (vla-get-activedocument
			      (vlax-get-acad-object)
			    ) ;_ end of vla-get-activedocument
			  ) ;_ end of vla-get-blocks
			  n
		) ;_ end of vla-item

      (if (= (vla-get-objectname o) "AcDbAttributeDefinition")

	(if (wcmatch (strcase (vla-get-tagstring o)) (strcase ATT_NAME))
	  (progn
	    ;;  :vlax-true  -  сделать атрибут скрытым
	    ;;  :vlax-false -  сделать не скрытым
	    (vla-put-invisible o :vlax-false)

	    ;;обновляем вхождение блока в документе
	    (command "_attsync" "_name" n)


	  ) ;_ end of progn
	) ;_ end of if
      ) ;_ end of if
    ) ;_ end of vlax-for
  ) ;_ end of while
) ;_ end of defun
(c:AttsNotHIDDEN)
AttsNotHIDDEN.lsp

Последний раз редактировалось name02, 20.02.2024 в 14:54.
name02 вне форума  
 
Автор темы   Непрочитано 20.02.2024, 15:57
#5
Йинегве


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


Спасибо большое, помогло!
Йинегве вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как отобразить скрытый атрибут сразу нескольких блоков одновременно?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно появляется скрытый атрибут при вставке блоков. Mozgolom AutoCAD 8 20.11.2024 09:22
Как редактировать несколько блоков одновременно Nastysia AutoCAD 39 28.03.2022 08:07
Как отобразить в динамическом блоке 1 атрибут с разным форматированием Autocad 2017 Mahrk Динамические блоки 0 07.09.2018 18:53
Корректировка атрибутов блоков в нескольких чертежах AutoCAD из Excel superkot007 Программирование 14 20.10.2011 12:53
Как в автокаде получить общую длину нескольких линий сразу. Рин AutoCAD 1 14.04.2008 11:57