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

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

Изменение свойств атрибута в составе блока

Ответ
Поиск в этой теме
Непрочитано 22.04.2009, 16:47 #1
Изменение свойств атрибута в составе блока
rzinnurov
 
Регистрация: 07.06.2008
Сообщений: 199

На листе с технологией размещено оборудование в виде блоков с атрибутами, которые впоследствии планируется загнать в СПДС таблицу путем связки таблицы и блоков, но вот загвоздка: создал много блоков с атрибутами, и некоторые атрибуты в составе блока имеют свойства “постоянный” – значение “да”, а такие атрибуты получаются невидимыми для спецификации, т.е. нужно у блоков поменять значение параметра “постоянный” на “нет”. Выбирать и редактировать каждый блок и в нем атрибуты долго и муторно (блоков не один десяток). Помогите: нужен лисп или vba для быстрого ЛИБО ДЛЯ МАССОВОГО редактирования свойств атрибута.
PS технологию выдать надо было как обычно "вчера"

Миниатюры
Нажмите на изображение для увеличения
Название: атрибут.jpg
Просмотров: 619
Размер:	14.1 Кб
ID:	19336  

Вложения
Тип файла: dwg
DWG 2000
ТХ.dwg (615.6 Кб, 3283 просмотров)


Последний раз редактировалось rzinnurov, 22.04.2009 в 17:02. Причина: Добавление файлов
Просмотров: 11359
 
Непрочитано 22.04.2009, 20:08
#2
AlphaGeo


 
Сообщений: n/a


Цитата:
Сообщение от rzinnurov Посмотреть сообщение
Выбирать и редактировать каждый блок и в нем атрибуты долго и муторно (блоков не один десяток)
rzinnurov, у вас в файле 8 блоков (3 из них Вам редактировать точно не придется). Так что по одному выделяем, заходим в редактор блоков и ручками правим необходимые настройки...
Следует различать описания блоков (в Вашем файле - 8 штук), в которых содержится вся основная информация о них, и вхождения блоков (в Вашем файле - 744 штуки), которые являются частными случаями отображания блоков.
Миниатюры
Нажмите на изображение для увеличения
Название: All_Blocks.png
Просмотров: 378
Размер:	12.0 Кб
ID:	19339  
 
 
Непрочитано 22.04.2009, 22:11
#3
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


PS
Цитата:
Сообщение от rzinnurov Посмотреть сообщение
На листе с технологией размещено оборудование в виде блоков с атрибутами, которые впоследствии планируется загнать в СПДС таблицу путем связки таблицы и блоков, но вот загвоздка: создал много блоков с атрибутами, и некоторые атрибуты в составе блока имеют свойства “постоянный” – значение “да”, а такие атрибуты получаются невидимыми для спецификации, т.е. нужно у блоков поменять значение параметра “постоянный” на “нет”. Выбирать и редактировать каждый блок и в нем атрибуты долго и муторно (блоков не один десяток). Помогите: нужен лисп или vba для быстрого ЛИБО ДЛЯ МАССОВОГО редактирования свойств атрибута.
PS технологию выдать надо было как обычно "вчера"
Если смотреть на задачу поширшее, то наверное надо говорить "Спецификация оборудования". А тогда лучше воспользоваться поиском по этим словам. ЯТД
Писал неоднократно на эту тему. Попробуйте посмотреть на соседнем форуме http://www.caduser.ru/forum/index.ph...#message187202
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...

Последний раз редактировалось Alan, 22.04.2009 в 22:21.
Alan вне форума  
 
Непрочитано 23.04.2009, 09:06
#4
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Программа меняет свойство "Постоянный" атрибутов всех выбранных блоков с "Да" на "Нет". Также меняет это свойство в описании блоков, и соответственно во всех вхождениях данного блока, присутствующих в рисунке.
Код:
[Выделить все]
(defun test (/ ss n ent lst)
  (setq	ss  (ssget '((0 . "INSERT")))
	n   0
	lst '()
  )
  (while (setq ent (ssname ss n))
    (setq ent	  (vlax-ename->vla-object ent)
	  blk_nam (vla-get-EffectiveName ent)
    )
    (if	(and (not (member blk_nam lst))
	     (= (vla-get-HasAttributes ent) :vlax-true)
	)
      (setq lst (cons blk_nam lst))
    )
    (setq n (1+ n))
  )
  (foreach item	lst
    (setq ent (vla-Item	(vla-get-Blocks
			  (vla-get-ActiveDocument (vlax-get-acad-object))
			)
			item
	      )
    )
    (vlax-for fam_item ent
      (if (= (vla-get-ObjectName fam_item) "AcDbAttributeDefinition")
	(if (= (vla-get-Constant fam_item) :vlax-true)
	  (progn
	    (vla-put-Constant fam_item :vlax-false)
	    (vl-cmdf "_.ATTSYNC" "_N" item)
	  )
	)
      )
    )
  )
  (princ)
)
Makswell вне форума  
 
Автор темы   Непрочитано 23.04.2009, 09:51
#5
rzinnurov


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


Цитата:
Сообщение от Makswell Посмотреть сообщение
Программа меняет свойство "Постоянный" атрибутов всех выбранных блоков с "Да" на "Нет". Также меняет это свойство в описании блоков, и соответственно во всех вхождениях данного блока, присутствующих в рисунке.
Makswell это то что нужно: как глоток воды после дня в пустыне. Нет, как литр воды!
БОООЛЬШОЕ СПАСИБО

я начинаю с лиспом дружить, немного код подправил: "defun test" исправил на "defun c:test"

PS Я возможно уже надоел совсем, если на этот вопрос не получу ответа в виде лиспа, не буду сильно расстраиваться. Ситуация такая, уже создал базу блоков, и вот сейчас нашел в ней еще проблемы (как с постоянным атрибутом да/нет). Суть новой проблемы такова, переименовать имя атрибута с "ПОЗИЦИЯ" на "0№"." Еще раз повторюсь, это не срочно, не обязательно, и очень ИМХО нагло, а наглеть не хотелось бы

Последний раз редактировалось rzinnurov, 23.04.2009 в 11:25.
rzinnurov вне форума  
 
Непрочитано 23.04.2009, 17:53
#6
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


Цитата:
Сообщение от rzinnurov Посмотреть сообщение
Makswell это то что нужно: как глоток воды после дня в пустыне. Нет, как литр воды!
БОООЛЬШОЕ СПАСИБО

я начинаю с лиспом дружить, немного код подправил: "defun test" исправил на "defun c:test"

PS Я возможно уже надоел совсем, если на этот вопрос не получу ответа в виде лиспа, не буду сильно расстраиваться. Ситуация такая, уже создал базу блоков, и вот сейчас нашел в ней еще проблемы (как с постоянным атрибутом да/нет). Суть новой проблемы такова, переименовать имя атрибута с "ПОЗИЦИЯ" на "0№"." Еще раз повторюсь, это не срочно, не обязательно, и очень ИМХО нагло, а наглеть не хотелось бы
Посылал я вас на первоисточник в ссылке. Там есть упоминание книги "САПР на базе..." а в ней описаны принципы создания библиотеки блоков и потом спецификации.
Понимаете, не атрибуты надо менять а сразу правильно составлять библиотеки. Мы делали свои еще до написания книги, т.е. по-своему.
Как пример, даю файлик, сделанный на "чужой" подоснове из Архикада (ногами не бить за слои), технологической части проекта (медицинской).
Вот с такого файла легко считывается инфа в 9-ти позиционную спецификацию.
Вложения
Тип файла: zip технология_Этаж-0-2000 - Standard.zip (324.4 Кб, 371 просмотров)
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 24.04.2009, 10:51
#7
rzinnurov


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


Цитата:
Сообщение от Alan Посмотреть сообщение
Посылал я вас на первоисточник в ссылке. Там есть упоминание книги "САПР на базе..." а в ней описаны принципы создания библиотеки блоков и потом спецификации.
Понимаете, не атрибуты надо менять а сразу правильно составлять библиотеки. Мы делали свои еще до написания книги, т.е. по-своему.
Как пример, даю файлик, сделанный на "чужой" подоснове из Архикада (ногами не бить за слои), технологической части проекта (медицинской).
Вот с такого файла легко считывается инфа в 9-ти позиционную спецификацию.
Господин Алан, не хочу никого обидеть, но по-моему вы вообще не в курсе о чем идет речь в моих постах. Меня больше всего поразило "надо сразу правильно составлять библиотеки". Да что вы говорите? Вы видимо библиотеку составили с первого рази и без ошибок. Ну что ж мои Вам овации. Только вот файлик ваш, абсолютно непонятен простому человеку. Отдельно блок-рисунок. Отдельно от этого блока атрибут. Причем даже не на самом блоке, а где-то рядом висит. Наверно Вам удобно и понятно, раз вы пишете "Вот с такого файла легко считывается инфа в 9-ти позиционную спецификацию"(кст, а где сама спецификация-то). А мне кажется удобнее и понятнее мой вариант, в котором написано что за предмет, его габариты, и другие нужные для спецификации характеристики. AutoCAD, г-н Алан, это такой инстремент, в котором цель можно достич разными средствами и путями. Конечно, я понимаю ваше желание меня больше просветить в этом вопросе, но если честно ни по вашей ссылке, ни по вашему файлу, я ничего не понял.
Вот ещё один мой файл со спецификацией в финальной стадии.
Вложения
Тип файла: dwg
DWG 2000
Развлекательный центр6.dwg (1.08 Мб, 3075 просмотров)

Последний раз редактировалось rzinnurov, 24.04.2009 в 11:27.
rzinnurov вне форума  
 
Непрочитано 24.04.2009, 12:28
#8
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


Цитата:
Сообщение от rzinnurov Посмотреть сообщение
Только вот файлик ваш, абсолютно непонятен простому человеку. Отдельно блок-рисунок. Отдельно от этого блока атрибут. Причем даже не на самом блоке, а где-то рядом висит.
Блоки оборудования наши проектировщики-технологи выбираются командой из специализированного по разделам меню. В процессе работы запрашивается точка вставки блока, а затем точка вставки марки - для исключения "наползания". У вас кстати оно есть, не смотря на всего лишь двухсимвольную маркировку.
Цитата:
Наверно Вам удобно и понятно, раз вы пишете "Вот с такого файла легко считывается инфа в 9-ти позиционную спецификацию"(кст, а где сама спецификация-то).
Прикладываю спецификацию, выполненную по ГОСТ 21.110
Цитата:
А мне кажется удобнее и понятнее мой вариант, в котором написано что за предмет, его габариты, и другие нужные для спецификации характеристики. AutoCAD, г-н Алан, это такой инстремент, в котором цель можно достич разными средствами и путями. .....
Да, разными средствами и путями. В Автокаде можно практически всё. Но Вы пока работаете с 10-100 блоками такие вещи еще проходят.
А в общем случае надо переходить на работу с базой.
И книжечку всё-таки посмотрите, если не всё поняли из тех сообщений на указанной мной ссылке...
Вложения
Тип файла: pdf TO_2202--tx_00-2202-ТХ-С.pdf (350.0 Кб, 949 просмотров)
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 24.04.2009, 14:39
#9
rzinnurov


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


Alan теперь понятно, о чём вы говорили и вашу основную мысль я понял. Книгу "САПР на базе..." "приобрёл" и на досуге (как только свободное время появится) ознакомлюсь.
rzinnurov вне форума  
 
Непрочитано 24.04.2009, 15:17
#10
Кулик Алексей aka kpblc
Moderator

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


Offtop: Эту книгу нельзя читать "на досуге"... По крайней мере первые две трети
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Изменение свойств атрибута в составе блока

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Угол поворота атрибута в составе блока rzinnurov AutoCAD 15 18.10.2017 08:08
Изменение значения атрибута в составе блока rzinnurov Программирование 27 06.12.2013 17:50
Изменение параметров дин блока ch-viktor Программирование 5 23.05.2008 21:38
изменение свойств атрибутов блока elena_din AutoCAD 8 12.12.2005 14:16