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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Функций INSERT не заменяет блок подгружаемый из другого файла

Функций INSERT не заменяет блок подгружаемый из другого файла

Ответ
Поиск в этой теме
Непрочитано 16.12.2015, 18:32 #1
Функций INSERT не заменяет блок подгружаемый из другого файла
fire8881
 
Регистрация: 03.09.2012
Сообщений: 14

Добрый вечер.
Начал осваивать автоматизацию в автокаде по великолепной книге "Секреты AutoCAD который должен знать каждый", выполняю переопределение существующего описания блока в файле.
Код написан в файле сценария автокада (.scr)

В исходном файле имеется блок с именем "bor", который необходимо заменить на другой блок из иного файла с таким же именем блока. Вместо переопределения блока, как указывает автор (см. вложения), автокад выдает "Блок ссылается сам на себя".

Вот используемый код:
Код:
[Выделить все]
_INSERT bor=E:\DOC\AutoLISP\sybex\dwg\new-border.dwg
0,0 1 1 0
_ERASE L
Прошу подсказать в чем причина? возможно в новых версиях (автокад 2015) INSERT перестало выполнять замену блока.

Миниатюры
Нажмите на изображение для увеличения
Название: 111.JPG
Просмотров: 59
Размер:	115.1 Кб
ID:	162445  

Просмотров: 4731
 
Непрочитано 16.12.2015, 23:17
#2
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Я бы посоветовал разобраться, не входит ли в состав нового блока bor старый блок с таким же именем. В мой практике встречались такие сюрпризы от кривых ручек.
Лентяй вне форума  
 
Непрочитано 16.12.2015, 23:45
#3
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Ох нужно курс проводить. Много людей стало интересоваться.
1) Insert только в диалоговой версии может переопределить блок.
2) Скрипты хорошо, но лучше подумать о lisp.
3) Мой вам совет бросайте автокад и посмотрите в сторону bricscad.

Для переопределения блока использовать команду -block

Цитата:
Redefining Blocks
Commands: BLOCK, -BLOCK and INSERT

To redefine a block that was created in the current drawing, you create a new block using the same name.

If the block was inserted from a separate drawing, reinsert that block.

When a block definition is redefined all instances of that block in the current drawing are updated automatically.

See also: Editing blocks and external references.

To redefine an internal block definition

Type -block in the command bar, then press Enter.
The command bar reads: Name for new block, or ? to list existing blocks:

Type the name of the block in the command bar and press Enter.
The command bar reads: The block <name> already exists. Do you want to redefine it? <N>.
A prompt menu displays.



To redefine the block definition, do one of the following:

Type Y, then press Enter.

Choose Yes-Redefine block in the prompt menu.

The command bar reads: Insertion point for new block:

Specify the insertion point of the new block.
The command bar reads: Select entities for block.

Select the entities for the new block.

Right click to create the block.
The selected entities are removed from the drawing.
All existing instances of the block are updated.

(option) To bring back the selected block entities, type oops in the command bar, then press Enter.

To reload an external drawing as a block

Do one of the following

Click the Insert Block... tool button () on the Draw toolbar.

Choose Insert Block... in the Draw menu.

Type insert in the command bar, then press Enter.

The Insert Block dialog opens.

On the Insert Block dialog click the Browse button, then select the external drawing file.

Click the Insert button.
An alert box displays.



Click the Yes button to redefine the existing block definition.
The command bar reads: Insertion point for block:

Continue with step 3 of the Inserting Blocks procedure.
Sleekka вне форума  
 
Непрочитано 17.12.2015, 13:02
#4
kp+

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


Цитата:
Сообщение от Sleekka Посмотреть сообщение
1) Insert только в диалоговой версии может переопределить блок.
А если перед именем блока поставить звездочку - то и в версии для ком. строки или кнопочных макросов. Причем без вопроса о переопределении. Скриптами как-то не пользуюсь, не проверял
kp+ вне форума  
 
Непрочитано 18.12.2015, 12:28
#5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от kp+ Посмотреть сообщение
если перед именем блока поставить звездочку - то и в версии для ком. строки или кнопочных макросов
По моему звездочка расчленяет блок, а для переопределения нужно после имени поставить =

----- добавлено через 45 сек. -----
Справка

Цитата:
Обновление определения блока: Чтобы обновить блок после изменения содержимого исходного файла, не создавая нового вхождения блока, следует в ответ на запрос "Точка вставки" (идущий после подсказки "Имя блока") ввести следующее:
имя блока=
Если после имени блока ввести знак равенства =, отобразится следующая подсказка:
Блок "текущий" уже существует. Переопределить его? [Да/Нет] <Нет>: Введите д, введите н или нажмите Enter
При переопределении блока существующее определение блока замещается новым. Чертеж регенерируется, и новое описание применяется ко всем имеющимся вхождениям блока. В ответ на запрос точки вставки нажмите Esc, если вставлять новый блок в чертеж не требуется.
Чтобы не выскакивало сообщение "Переопределить блок" - нужно значение переменной EXPERT установить равной 5
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 06.07.2016 в 17:12. Причина: обновил ссылку на справку
VVA вне форума  
 
Непрочитано 18.12.2015, 12:51
#6
kp+

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


Забыл, каюсь
kp+ вне форума  
 
Непрочитано 20.12.2015, 13:18
#7
roaa

ОПС
 
Регистрация: 29.03.2012
Kazakhstan
Сообщений: 128


давно это было...проверьте, мож где-то и ошибся
Кое-что следовало бы изменить, но сейчас не до того
Вложения
Тип файла: lsp blockupdate.lsp (6.5 Кб, 67 просмотров)

Последний раз редактировалось roaa, 20.12.2015 в 15:17.
roaa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Функций INSERT не заменяет блок подгружаемый из другого файла

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический блок внутри другого блока Engineer_Sergii Динамические блоки 5 12.07.2018 09:42
Вставить блок из другого dwg файла Roman_Beginner Динамические блоки 10 22.01.2015 15:38
VBA. Вставить блок из другого файла. art_rrc Программирование 3 10.03.2014 23:36
MS Word Нужен скрипт для копирования с одновременной заменой части текста Солидворкер Прочее. Программное обеспечение 27 27.11.2012 15:52
Как перенести в чертеж блок из файла библиотеки блоков Main Urod Программирование 8 03.02.2010 14:15