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

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

Замена сразу всех значений в блоке

Ответ
Поиск в этой теме
Непрочитано 20.09.2010, 21:12 #1
Замена сразу всех значений в блоке
Deliverance
 
Регистрация: 20.09.2010
Сообщений: 7

Уважаемые господа!
Задача: имеется 55 принципиальных схем сделанных копированием одного блока. Схемы отличаются только нумирацией в обозначении. Например в первой суффиксы или префиксы идут с двойкой во второй с четверкой и т.д.

Каким образом можно изменив значение одного атрибута блока добиться того чтоб это значение присваивалось например сразу в 20-ти местах этого блока???

Сегодня пол дня потратил так и неполучилось, поиском ненашел. Вставка с полем (объект-значение атрибута) берет значение только из нутри блока, т.е. изменив значения цельного болока оно не меняется.
Можно также присвоить полю не в редакторе а в цельном блоке зажав ctrl (объект-значение атрибута) но тогда в остальных вставленных таких же блоках это автоматом не принимается.
Заранее спасибо.
Просмотров: 4475
 
Непрочитано 21.09.2010, 11:17
#2
vadim_evg1


 
Регистрация: 08.01.2007
Рус
Сообщений: 398


а пример посмотреть?
vadim_evg1 вне форума  
 
Автор темы   Непрочитано 21.09.2010, 12:01
#3
Deliverance


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


Сбросил кусок схемы где собственно нужно эту проблему решить.
Что-то мне подсказывае, что без лиспа тут необойтись.
Хотя дело казалось-бы ерундовое.
Вложения
Тип файла: dwg
DWG 2004
AttributWert.dwg (88.9 Кб, 752 просмотров)
Deliverance вне форума  
 
Непрочитано 21.09.2010, 14:05
1 | #4
Psyakrev


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


На этом форуме была похожая тема пару месяцев назад. Насколько я помню, красивого решения эта задача не имеет (сам с ней сталкивался). Как вариант - создать свойство чертежа и в атрибутах вставить поле с ссылкой на это свойство.
Psyakrev вне форума  
 
Непрочитано 21.09.2010, 14:12
1 | #5
Victor


 
Регистрация: 14.06.2009
Бат-Ям
Сообщений: 295


Find?
Вложения
Тип файла: dwg
DWG 2007
AttributWert.dwg (120.8 Кб, 711 просмотров)
Victor вне форума  
 
Автор темы   Непрочитано 21.09.2010, 14:51
#6
Deliverance


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


Цитата:
Сообщение от Victor Посмотреть сообщение
Find?
Так неработает, я меняю значение одного атрибута, остальные автоматом не меняются.
А с помощью лиспа это можно сделать, что б это все красиво работало?
Deliverance вне форума  
 
Непрочитано 21.09.2010, 15:17
#7
Кулик Алексей aka kpblc
Moderator

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


Для начала не следует создавать атрибуты с одинаковыми тэгами. Во-вторых, команда _updatefield никуда не делась...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 21.09.2010, 15:25
#8
Deliverance


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


Создав атрибуты с разными тегами и используя _updatefield -это делу ни как не поможет. Всеравно не получается использовать значение одного атрибута для других.
Deliverance вне форума  
 
Непрочитано 21.09.2010, 15:39
#9
Кулик Алексей aka kpblc
Moderator

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


В 2010 _updatefield работает нормально.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 21.09.2010, 15:46
#10
Deliverance


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
В 2010 _updatefield работает нормально.
Это просто команда обновление поля, она обновляет текущее значение атрибута для отображения на экране. Но если само значение атрибута не может присваиваться из другого значения то она не поможет .
Deliverance вне форума  
 
Непрочитано 21.09.2010, 16:20 простое решение
#11
vfyuecn


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


командой find я попробовал на твоем чертеже получилось
если конечно я правильно тебя понял, все атрибуты с 2-кой заменил на 9-ку. ну правда если схем 55 то это действие прийдется сделать 55 раз
vfyuecn вне форума  
 
Автор темы   Непрочитано 21.09.2010, 16:28
#12
Deliverance


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



Автозаменой можно другие случайно попавшиеся цифры заменить. И это несовсем удобно.
Deliverance вне форума  
 
Непрочитано 21.09.2010, 16:32 про замену
1 | #13
vfyuecn


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


там сплошной блок, и меняет только атрибуты, если все атрибуты одного блока одинаковые то этот метод может подойти, заходишь в редактирование атрибута копируешь цифру которую надо изменить, выделяешь блок (одну из схем) потом финд ставишь current selection ну что меняешь и на что меняешь финд ол ну и все, на остальные цифры в блоке команда не финд не реагирует т.к. они элемент блока я на твоей схеме попробовал кроме атрибутов ничего не меняет, ну может кто то еще чет предложит поинтересней

Последний раз редактировалось vfyuecn, 21.09.2010 в 17:00.
vfyuecn вне форума  
 
Непрочитано 22.09.2010, 16:53
1 | #14
vadim_evg1


 
Регистрация: 08.01.2007
Рус
Сообщений: 398


если я все правильно понял:
имеется 55 вхождений блока 16SV1, в каждом атрибут N и куча его копий, которые ссылаются на значение ГИДРОРАСРПР, которое в каждом вхождении различно. Необходимо добавить еще одну или несколько копий N в блок, причем их связь с ГИДРОРАСРПР в каждом вхождении должна сохраниться. Так?
В любом случае придется 55 раз делать какую-либо операцию, разница лишь в затраченном времени.
Есть такой вариант:
создать новый блок с вложенным в него 16SV1, в который поместить нужное кол-во N, связать их с ГИДРОРАСРПР("снаружи" блока), затем лиспом заменить все вхождения 16SV1 на этот новый блок, все это дело расчленить, через свойства 55 раз проставить нужное значение ГИДРОРАСРПР и сделать регенерацию. Так вроде быстрее будет и связи сохранятся.
Тут пример видео сделал
vadim_evg1 вне форума  
 
Автор темы   Непрочитано 22.09.2010, 19:52
#15
Deliverance


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


Цитата:
vadim_evg1
Ого. Вы все правильно поняли. И подробно объяснили, осталось только к видео стерео звук добавить. Большое спасибо! Ваш вариант пока наиболее оптимальный. Это быстрее чем переназначать атрибут для каждого блока.
Но как бы так сделать чтоб значения в блоках не сбрасывались, а появлялись только новая связь/дубликат N?
Вот как все-таки приходиться выворачиваться, чтоб получить казалось бы простое решение.

Последний раз редактировалось Deliverance, 22.09.2010 в 20:13.
Deliverance вне форума  
 
Непрочитано 26.09.2010, 14:58
#16
Krovlaf

геология, геодезия
 
Регистрация: 29.05.2009
Хабаровск
Сообщений: 185


Есть простой способ жонглировать атрибутами как захочется: команда attout или Express - Blocks - Export Attribute Information, выбираем все нужные нам блоки. Создается текстовый файл с атрибутивной информацией каждого блока. Информацию с файла вставить в Excel где можно творить с атрибутами что угодно: добавлять суффиксы, приставки, нумеровать перенумеровывать, складывать/делить итд НО при этом не трогать первый столбец и осторожно обращаться с сортировкой так как в нем что то вроде идентификатора каждого блока. Далее - обратно: все копируем, вставляем в старый файл или создаем новый, сохраняем. Команда attin или Express - Blocks - Import Attribute Information, выбираем наш файлик - готово.
Krovlaf вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Замена сразу всех значений в блоке



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Замена текстового стиля VVA Готовые программы 322 28.05.2025 09:59
Замена шрифта сразу во всех стилях Georg AutoCAD 29 01.04.2021 07:57
Нормализация insunits у всех блоков сразу Red Nova AutoCAD 18 06.02.2021 14:59
Подскажите способ перевода DWG в PDF сразу для всех лайаутов dextron3 AutoCAD 15 14.10.2007 20:39
Как слой включить сразу во всех видовых экранах ilka_t AutoCAD 4 26.04.2004 11:20