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

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

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

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

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

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


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,831


Скажу честно: я в дин.блоках не разбирался практически. Тут больше 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,336


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

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


Цитата:
Сообщение от 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,336


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,991


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


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


Nike

Вот блоки
Вложения
Тип файла: dwg
DWG 2004
Блоки.dwg (47.0 Кб, 6245 просмотров)
Violent MITCHELL вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Как заменить один блок другим?

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

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