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

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

Изменения блока, атрибутов блока сразу в нескольких файлах

Ответ
Поиск в этой теме
Непрочитано 03.04.2009, 11:22 #1
Изменения блока, атрибутов блока сразу в нескольких файлах
andery
 
Регистрация: 27.12.2007
Сообщений: 132

Есть 5-10 (N) файлов в которм используется некоторый блок с несколькими атрибутами.
1. Возможно ли поменять значения атрибута блока сразу ли во всех файлах?
2. Возможно ли добавить атрибут в какой-то блок сразу во всех файлах?
3. Если это невозможно - то как правильно создавать блоки, чтоб менялись во всех файлах? С помощью каких инструментов? Или надо вставлять не блок а связь?

Заранне благодарен.
Просмотров: 3715
 
Непрочитано 03.04.2009, 12:52
#2
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,171


Попробуй подшивку.
Для более предметного разговора расскажи подробнее, что это за "некоторый блок", какое его назначение, как используются его атрибуты, где расположен (в модели, в листе)
kp+ вне форума  
 
Непрочитано 03.04.2009, 13:17
#3
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Внешняя ссылка?
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 03.04.2009, 13:17
#4
Кулик Алексей aka kpblc
Moderator

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


1. Возможно, если это блок. Правда, программу придется писать.
2. -"-
3. Если блоки абсолютно одинаковы, то можно попробовать использовать внешние ссылки.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.04.2009, 13:19
#5
Makswell

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


По п.1

andery, так как ты не дал подробного описания, как должна работать программа, то бери пока такую "рыбу". Отмеченные синим цветом места думаю и так интуитивно понятны. Откорректируй по своему вкусу.
Код:
[Выделить все]
(defun test (/ file)
;;;изменения значения атрибута в нескольких файлах
  (vl-load-com)
  (foreach item1 '("d:\\Путь\\Файл1.dwg" "d:\\Путь\\Файл2.dwg")
    (setq file (vla-Open (vla-get-Documents (vlax-get-acad-object))
			 item1
			 :vlax-false	;в режиме редактирования
			 ""
	       )
    )
    ;;в пространстве модели и во всех пространствах листа
    (vlax-for f_item1 (vla-get-Blocks file)
      (if (wcmatch (vla-get-Name f_item1) "`*Paper_Space*,`*Model_Space")
	(vlax-for f_item f_item1
	  (if (= (vla-get-ObjectName f_item) "AcDbBlockReference")
	    (if	(= (vla-get-EffectiveName f_item) "Имя блока")
	      (foreach item (vlax-safearray->list
			      (vlax-variant-value (vla-GetAttributes f_item))
			    )
		(if (= (vla-get-TagString item) "ИМЯ_АТРИБУТА")
		  (vla-put-TextString item "новое значение атрибута")
		)
	      )
	    )
	  )
	)
      )
    )
    (vla-Close file :vlax-true)		;с сохранением изменений
  )
  (princ)
)
Makswell вне форума  
 
Непрочитано 03.04.2009, 13:23
#6
Кулик Алексей aka kpblc
Moderator

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


Makswell, твой код может "вывалиться". Иногда vla-open может приводить к активизации обрабатываемого файла с остановкой лиспа. По идее надо искать do-func на форуме (по-моему, выкладывалось; если нет - то прямая дорога на caduser.ru).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.04.2009, 14:33
#7
andery


 
Регистрация: 27.12.2007
Сообщений: 132
<phrase 1=


Спасибо всем кто откликнулся.
Программку попробую....
Тока я так понимаю програмка тока изменяет атрибут, а если надо добавить (или вобще немного заменить/дочертить блок) ?
И еще такой вопрос:
Как в пространстве модели поменять все блоки с названием "1" на блоки с названием "2" ?
Все блоки в пространстве модели, чертежи сформированы на листах, листы в подшивке.
Раньше, когда делал проект, у меня все было в одном файле, что при больших проектах создавало "тормоза".
Сейчас решил поработать с несколькими файлами, но вот возникла проблемка с блоками. Для формирования спецификации в некоторых блоках надо добавить атрибут - а то и несколько, поставлять блоки в блоки (например: лампу в светильник) и т.д.
Пример чертежа прикрепляю, таких чертежей 7.
Вложения
Тип файла: rar DWG2.rar (324.7 Кб, 93 просмотров)

Последний раз редактировалось andery, 03.04.2009 в 14:45.
andery вне форума  
 
Непрочитано 03.04.2009, 17:07
#8
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,171


Цитата:
Как в пространстве модели поменять все блоки с названием "1" на блоки с названием "2" ?
Посмотри KITOX TOOLSET по ссылке http://dwg.ru/dnl/437
kp+ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Изменения блока, атрибутов блока сразу в нескольких файлах



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение атрибутов динамического блока сразу на нескольких листах в файле чертежа Builder_Drew Динамические блоки 39 06.07.2024 12:31
Назначение свойств атрибутов блока без attsync Кулик Алексей aka kpblc Программирование 9 15.08.2017 06:32
Извлечение атрибутов блока и вставка атрибутов в формулу andery AutoCAD 38 15.06.2009 02:39
Редактирование блока, используя значение его атрибутов Mazai Программирование 14 19.01.2009 20:49
Возможно ли назначение нескольких точек вставки блока? Leningrad AutoCAD 3 04.09.2007 08:40