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

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

Как заменить один блок другим?

Ответ
Поиск в этой теме
Непрочитано 12.09.2006, 11:36 #1
Как заменить один блок другим?
ilka_t
 
Москва
Регистрация: 20.01.2004
Сообщений: 154

команда из expressа не подходит она заменяет все блоки сразу во всем четреже . а мне нужно что бы заменялись только выделенные блоки
может ктонибудь напишет лиспик
буду очень благодрен
Просмотров: 29727
 
Непрочитано 12.09.2006, 11:52
#2
Кулик Алексей aka kpblc
Moderator

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


http://www.autocad.ru/cgi-bin/f1/board.cgi?t=21048Af не подходит?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.09.2006, 12:11
#3
ilka_t


 
Регистрация: 20.01.2004
Москва
Сообщений: 154


спасибо то что нужно
ilka_t вне форума  
 
Непрочитано 14.12.2007, 05:50
#4
serg01


 
Регистрация: 04.07.2005
Иркутск
Сообщений: 213


>>kpblc
А возможно копировать динамические параметры блока? т.е. есть 2 одинаковых блока динамических с атрибутами, с одинаковыми именами. В одном добавились примитивы и параметры растяжения. Блоки в разных файлах, дак вот нужно из одного блока скопировать примитивы с динамическими параметрами (например move) в другой блок. Возможно ли?
serg01 вне форума  
 
Непрочитано 14.12.2007, 05:57
#5
Кулик Алексей aka kpblc
Moderator

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


Скажу честно: я в дин.блоках не разбирался практически. Тут больше Supermax шарит, его надо спрашивать.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.12.2007, 06:06
#6
serg01


 
Регистрация: 04.07.2005
Иркутск
Сообщений: 213


Ясно, спасибо.
serg01 вне форума  
 
Непрочитано 14.12.2007, 06:29
#7
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Значица так:
Примитивы копируются из файла в файл легко. Имею в виду из пространства редактора блоков в пространство редактора блоков в другом файле. С оригинальными точками вставки. Вот в одном и том же файле из блока в блок - только через вспомогательный файл. Это если руками. Лиспом тоже можно повторить ручной путь. Прописывать указатели на объекты в visibility пока трудоемко очень. Но над этим работаем. Динамические параметы проще скопировать чем объекты, но надо лисп писать для этого, а я пока занят.
Supermax вне форума  
 
Непрочитано 14.12.2007, 06:43
#8
serg01


 
Регистрация: 04.07.2005
Иркутск
Сообщений: 213


Усе понял, спасибо!
serg01 вне форума  
 
Непрочитано 18.02.2008, 15:04
#9
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Вот какой вопрос возник. Надо заменить в определенной части чертежа (не во всем) один блок другим, как быть? Express так не делает, лисп по адресу с второго поста работает по принципу:
Цитата:
вставка в центр ограничивающего (габаритного) прямоугольника старых объектов
а мне надо, чтоб за точку вставки блока менять.
Red Nova вне форума  
 
Непрочитано 18.02.2008, 17:21
#10
maximas

проектирование. автоматика
 
Регистрация: 18.10.2007
Литва
Сообщений: 104


значицца так,
(имхо) выделяем нужные блоки, ctrl+shift+c, erase , ctrl+shift+v > block editor>block editor ,explode, чотя сам не пробовал.
maximas вне форума  
 
Непрочитано 18.02.2008, 17:27
#11
maximas

проектирование. автоматика
 
Регистрация: 18.10.2007
Литва
Сообщений: 104


neposhlo ., razve shto block
save as
maximas вне форума  
 
Непрочитано 18.02.2008, 21:57
#12
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


maximas Ты не очень уж и вник в вопрос. Почитай http://www.autocad.ru/cgi-bin/f1/board.cgi?t=21048Af потом поговорим.
Red Nova вне форума  
 
Непрочитано 03.03.2011, 14:57
#13
Violent MITCHELL


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


Дано: на чертеже несколько одинаковых блоков, но у них разные углы поворота.
Требуется: заменить часть блоков (не все!) на другой блок, при этом сохранив угол поворота каждого блока.
Как это осуществить?

blockreplace из Expresstools сохраняет угол, но заменяет сразу все блоки

Лисп Замена.lsp отсюда: http://forum.dwg.ru/showpost.php?p=702977&postcount=6 и программка отсюда: http://pdi13soft.ucoz.ru/load/plagin...ocad/13-1-0-17 заменяют только выбранные блоки, но при этом "сбрасывается" угол поворота.

Есть ли программка, удовлетворяющая моим потребностям?
Violent MITCHELL вне форума  
 
Непрочитано 03.03.2011, 15:00
#14
Хмурый


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


Violent MITCHELL, эту тему посмотри http://forum.dwg.ru/showthread.php?t=53466
я обхожусь #12
Хмурый вне форума  
 
Непрочитано 03.03.2011, 15:08
#15
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989


Цитата:
Сообщение от Violent MITCHELL Посмотреть сообщение
Дано: на чертеже несколько одинаковых блоков, но у них разные углы поворота.
Требуется: заменить часть блоков (не все!) на другой блок, при этом сохранив угол поворота каждого блока.
Код:
[Выделить все]
 ;;;---------Программа замены указанным блоком выбираемых с сохранением исходных атрибутов и параметров вставки ---------------------------------------------------------
(defun c:blrevers (/ a b)
;;; замена выбранных блоков на указанный
  (and (setq a (car (entsel "\nВыберите исходный блок: ")))
       (setq a (entget a))
       (while (and (= (cdr (assoc 0 a)) "INSERT")
                   (setq b (car (entsel "\nВыберите изменяемый блок: ")))
                   (setq b (entget b))
                   (= (cdr (assoc 0 b)) "INSERT")
                   (entmod (vl-remove (assoc 330 b) (subst (assoc 2 a) (assoc 2 b) b)) ;_ vl-remove
                   ) ;_ entmod
              ) ;_ and
       ) ;_ while
  ) ;_ and
  (princ)
) ;_ defun
Nike вне форума  
 
Непрочитано 03.03.2011, 15:09
#16
Violent MITCHELL


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


Цитата:
Сообщение от Хмурый Посмотреть сообщение
Violent MITCHELL, эту тему посмотри http://forum.dwg.ru/showthread.php?t=53466
я обхожусь #12
Попробовал, команда flatten (а вообще говоря она для чего?) из n блоков с одним именем сделала n блоков с разными именами, в рез-те команду blockreplace придется применить n раз. Проще уж руками. Или я что-то не так сделал?
Violent MITCHELL вне форума  
 
Непрочитано 03.03.2011, 15:11
#17
Хмурый


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


Violent MITCHELL, всё так.
Хмурый вне форума  
 
Непрочитано 03.03.2011, 15:14
#18
Violent MITCHELL


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


Nike

Команда:
BLREVERS
Выберите исходный блок:
Выберите изменяемый блок: ; ошибка: слишком много аргументов

Блоки простые, не динамические, без всяких приблуд.
ЧЯДНТ?
Violent MITCHELL вне форума  
 
Непрочитано 03.03.2011, 15:27
#19
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989


А чьёрт его знает. Атруибуты в блоках должны совпадать.
Выложи пример блоков
Nike вне форума  
 
Непрочитано 03.03.2011, 15:43
#20
Violent MITCHELL


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


Nike

Вот блоки
Вложения
Тип файла: dwg
DWG 2004
Блоки.dwg (47.0 Кб, 6245 просмотров)
Violent MITCHELL вне форума  
 
Непрочитано 03.03.2011, 16:01
#21
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989


Violent MITCHELL, слушай, ну у меня все нормально заменяется - и туда и обратно
Offtop: Зы Сети оповещения недопустимо выполнять таким кабелем

Последний раз редактировалось Nike, 03.03.2011 в 16:40.
Nike вне форума  
 
Непрочитано 03.03.2011, 21:31
#22
Violent MITCHELL


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


Nike

Дома тоже всё получилось, не знаю, в чём проблема на работе была.
Но, тем не менее, опять же приходится кликать каждый блок. Ну ладно если их 10, а если 200? Можно ли как-то сделать это пакетно? Т.е. допустим выделил сначала все нужные блоки (рамка, затем фильтр к примеру), и их заменил с сохранением атрибутов.
К сожалению, лиспом, как и программированием вообще, не владею, обучаться нет возможности из-за высокой загруженности на работе.(

Цитата:
Сообщение от Nike Посмотреть сообщение
Offtop: Зы Сети оповещения недопустимо выполнять таким кабелем
Offtop: Знаем, в курсе, в спецификации все как надо (FRLS), а имя слоя ещё с "тех" времен осталось)))
Violent MITCHELL вне форума  
 
Непрочитано 03.03.2011, 21:39
#23
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989


Цитата:
Сообщение от Violent MITCHELL Посмотреть сообщение
Ну ладно если их 10, а если 200? Можно ли как-то сделать это пакетно? Т.е. допустим выделил сначала все нужные блоки (рамка, затем фильтр к примеру), и их заменил с сохранением атрибутов.
Такой прогу у меня нету.
Но я знаю как легко выкрутиться: выделяешь нужные 200 блоков, копируешь с базовой точкой в новый файл, там их редактируешь блок, закрашиваешь чего-нить как тут или еще чего, потом переименовываешь и копируешь обратно с той же точкой..

Offtop: Зы - могу поделиться всякой вспомогательной хренью по нашей отрасли - библиотека блоков там с меню вставки и всякие программули по нумерации, работе с атрибутами и прочей хренью...
Nike вне форума  
 
Непрочитано 03.03.2011, 21:49
#24
Violent MITCHELL


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


Цитата:
Сообщение от Nike Посмотреть сообщение
Но я знаю как легко выкрутиться...
Спасибо. Видимо так и придётся.


Цитата:
Сообщение от Nike Посмотреть сообщение
Offtop: Зы - могу поделиться всякой вспомогательной хренью по нашей отрасли - библиотека блоков там с меню вставки и всякие программули по нумерации, работе с атрибутами и прочей хренью...
Offtop: С удовольствием воспользуюсь таким замечательным предложением

Последний раз редактировалось Violent MITCHELL, 04.03.2011 в 07:01.
Violent MITCHELL вне форума  
 
Непрочитано 24.07.2013, 05:32
#25
rvv


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
http://www.autocad.ru/cgi-bin/f1/board.cgi?t=21048Af
Нельзя ли обновить ссылку? Столкнулся как раз с такой же проблемой, новый тред открывать не хотелось бы, а указанный прочитать не могу, "не удаётся найти веб-страницу"
rvv вне форума  
 
Непрочитано 24.07.2013, 09:02
#26
Кулик Алексей aka kpblc
Moderator

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


rvv, так прошло уже 7 лет... С тех пор форум много раз переезжал.
P.S. Поиск пока живет: http://www.google.ru/cse?cx=partner-...%B0&gsc.page=1
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.07.2013, 09:06
#27
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,374


rvv, посмотрите здесь.
sertor вне форума  
 
Непрочитано 24.07.2013, 09:24
#28
rvv


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
rvv, так прошло уже 7 лет... С тех пор форум много раз переезжал.
Да я как-то и не сомневался в этом. Просто с утра не проснулся толком.
Спасибо.
rvv вне форума  
 
Непрочитано 15.10.2014, 17:11
#29
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Вот тут хорошая програмка по замене одного блока другим. Сам пользуюсь постоянно.
http://dwg.ru/dnl/10891
Valery Brelovsky вне форума  
 
Непрочитано 30.03.2017, 13:31
#30
dim5678


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


Цитата:
Сообщение от Valery Brelovsky Посмотреть сообщение
Вот тут хорошая програмка по замене одного блока другим. Сам пользуюсь постоянно.
http://dwg.ru/dnl/10891
но на дин. блоки почему то не работает (((
dim5678 вне форума  
 
Непрочитано 30.03.2017, 13:40
#31
rvv


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


Цитата:
Сообщение от dim5678 Посмотреть сообщение
но на дин. блоки почему то не работает (((
Этот набор утилит знаю, постоянно пользуюсь, автору - респект. Он и без динамических блоков очень сильно облегчает жизнь.
Замена там, правда, реализована по какой-то нечеловеческой логике ;-)
rvv вне форума  
 
Непрочитано 20.09.2018, 23:59
#32
Crotique

Конструктор.
 
Регистрация: 25.05.2010
Сообщений: 257


Есть "материнский" файл с простыми блоками, изображающими разные конструкции. И есть множество файлов, созданных на его основе.
Какие-то исходные блоки поменялись. Как проще всего обновить их во всех дочерних чертежах? Можно ли это сделать, не залезая в редактор блоков?
Crotique вне форума  
 
Непрочитано 21.09.2018, 00:34
#33
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Ну если немного не в теме ветки, то у Бушмана Андрея есть подобная надстройка на .Net
Сергей812 вне форума  
 
Непрочитано 21.09.2018, 00:39
#34
Crotique

Конструктор.
 
Регистрация: 25.05.2010
Сообщений: 257


Спасибо, но это в перспективе. Сейчас же надо сделать быстро, и заниматься этим будет не самый изощренный юзер.
Ладно, пусть входит в редактор блоков и копирует туда новое содержимое.
Crotique вне форума  
 
Непрочитано 21.09.2018, 00:43
#35
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от Crotique Посмотреть сообщение
Ладно, пусть входит в редактор блоков и копирует туда новое содержимое.
FAQ - вопрос 11
Сергей812 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Как заменить один блок другим?

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

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