Blockreplace autocad не работает
There are two methods to replace one block with another.
Use Express Tools BLOCKREPLACE
- Make sure that the new block you want to insert is defined in the drawing. (If necessary, insert it to check.)
- Choose Express> Blocks> Replace Block with Another Block or enter blockreplace on the command line.
- In the BLOCKREPLACE dialog box , choose the block that you want to replace from the list of blocks in the drawing.
- Click OK.
- At the Purge unreferenced items when finished? : prompt, enter y or n.
- You see a message, n blocks replaced. Results may not be apparent until next regen. If necessary, do a regen. (In my test, I didn’t need to regenerate the drawing to see the new block.)
Tips from our reader : If the BLOCKREPLACE command changes the scale of the block after replacement, find your block in the drop-down list and uncheck the box next to Annotative.
С помощью Диспетчера свойств слоев
Основные виды защиты чертежей Автокад
Рассматривая способы защиты чертежа Автокад в формате *.DWG, следует отметить, что абсолютной защиты не существует! Любую систему под силу взломать человеку, знакомому с программированием на LISP.
Способы защиты чертежа AutoCAD:
1) Сохранить чертеж в PDF-файл. При этом сохраняются все слои, без потери качества. Это достаточно надежная и простая защита.
Существует большое разнообразие конвертеров, преобразующих файлы из PDF в DWG. Но есть одно НО: перевод получается некачественный.
Создается огромное количество отдельных примитивов, чертеж искажается, текст превращается в набор линий и сплайнов. Есть и хорошее ПО, такое как Print2CAD, например. Но стоимость такой программы свыше 200$.
2) Сохранить чертеж Автокада в формат DWF (2D-файлы векторной графики). Файлы можно открывать, просматривать и печатать с помощью TrueView или Design Review. О том, как сохранить чертеж в том или ином формате, читайте статью «Формат файлов Автокад»
3) Установка пароля на файл чертежа AutoCAD. Для этого служит команда БЕЗОПНАСТР. Читать статью про пароли в Автокад.
4) Очень часто возникает необходимость защищать чертежи от копирования и редактирования непосредственно в формате DWG.
Например, проектировщики стараются защитить свои разработки, если в договоре прописано, что документацию надо выдать строго в DWG. Для этого создают так называемые многовариантные блоки (МН-блоки Автокад). Т.е. весь чертеж превращается в один блок, который нельзя ни расчленить, ни взорвать. Редактировать элементы в таком блоке не представляется возможным. Читайте статью про защиту чертежа с помощью Мн-блоков AutoCAD.
5) Использовать язык программирования LISP для специфической и индивидуальной защиты проекта. Данный способ – более продвинутый и под силу опытным программистам.
Народ, помогите, помню была какая то команда в Автокаде, после которой весь чертеж превращался в блок, нельзя было ни взорвать ни отредактировать. Кто нибудь в курсе? Типа защита от редактирования, но формат dwg
Да нет же, была команда в самом каде ((( не помню вот только (((
Может рисунок вставлялся как Внешний блок?
Попробуйте команду Minsert.
Блоки вставленные в чертеж этой командой не изменяются ничемЕсли превратить такой файл в формат DXF, поом разобраться в нём-то защиту как рукой снимает-проверено. 🙂
Хотим защиты-идём в utodesk и базарим с ними, может быть поможет быть. Всё остальное-только временно, поверьте.> Nobody
🙂 А Вы где-нибудь видели постоянную защиту?
Любую защиту можно снять — все вопрос времени.есть "txtexp", поэтому круче Эдуарда пока нет!
Может кто растолкует в чем дело. Принесли чертеж. На вид вполне нормальный. Но в нем в одном месте арматура оказалась установленной не по нормам. Решили подкорректировать. Да не тут-то было. Выбрать объект невозможно. Визуально вот что происходит. Выбираешь объект, он все как положено, подсвечивается — а в командной строке пишется что-то " объект не выбран" или "невозможно выбрать объект", точно не помню, но суть ясна. И так во всем чертеже. В итоге, ничего нельзя сделать, ни стереть, ни переместить, ни расчленить.
Вот. Какие будут мнения?Скорее всего объект какого либо приложения к Автокаду
> Игорь
А может все проще — объект на заблокированном слое?В том-то и дело, что блокиковки не видно!
> Игорь
Ну тогда выложи куда-нибудь чертеж и сюда ссылку — посмотрим. А так это гадание на кофейной гуще.Была похожая ситуация. Открыл в версии АС2005 файл из АС2007. Все видно, курсор подсвечивает, но ни отредактировать или распечатать невозможно-зависал комп. Поставил 7-й и ОК.
Тоже была похожая тема. Посоветовали открыть через
утилиты чертежа>восстановление, вроде всё нормально стало.Решение проблем с разбивкой
Создание нового блока
Редактирование имеющегося блока
В большинстве случаев создание нового блока возможно только тогда, когда он его не было еще до процедуры расчленения, то есть рекомендация выше рассчитана больше для выполнения подобных действий в будущем. Обычно юзер сталкивается с необходимостью разбивки уже имеющегося объекта, а создавать его заново далеко не всегда удобно. Поэтому придется изменять параметры, что делается так:
После этого можно смело возвращаться в редактор и разбивать блок одним из методов, которые были продемонстрированы выше. Если вы являетесь начинающим пользователем AutoCAD и желаете более детально ознакомиться с выполнением других настроек и действий в этом софте, рекомендуем изучить специальный обучающий материал, перейдя по указанной далее ссылке.
В этой статье вы были ознакомлены с методами разбивки блоков в популярном ПО под названием AutoCAD.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Заблокировать или разблокировать слой можно в Диспетчере свойств слоев или путем выбора объекта.
Use Express Tools BLOCKREPLACE
- Make sure that the new block you want to insert is defined in the drawing. (If necessary, insert it to check.)
- Choose Express> Blocks> Replace Block with Another Block or enter blockreplace on the command line.
- In the BLOCKREPLACE dialog box , choose the block that you want to replace from the list of blocks in the drawing.
- Click OK.
- At the Purge unreferenced items when finished? : prompt, enter y or n.
- You see a message, n blocks replaced. Results may not be apparent until next regen. If necessary, do a regen. (In my test, I didn’t need to regenerate the drawing to see the new block.)
Tips from our reader : If the BLOCKREPLACE command changes the scale of the block after replacement, find your block in the drop-down list and uncheck the box next to Annotative.
Как разбить блок в AutoCAD
Разбиваем блок в AutoCAD
Блоком в Автокаде называется цельный объект, который состоит из нескольких твердотельных элементов. Это могут быть двухмерные линии или одна 3D геометрическая фигура. Все зависит только от требований и настроек юзера. Если вы хотите расчленить блок, его понадобится сначала создать, установив необходимые параметры. Разобраться с этой операцией новичкам поможет отдельная статья на нашем сайте, а мы же переходим непосредственно к решению поставленной задачи.
Способ 1: Расчленение одного блока
Давайте для начала рассмотрим ситуацию, когда у вас на рабочем пространстве имеется один трехмерный объект или связка линий, которые были ранее перемещены в блок, а теперь требуется отделить все составляющие. Осуществляется это буквально в два клика:
-
Выделите нужный объект левой кнопкой мыши, просто щелкнув по нему.
Способ 2: Расчленение нескольких объектов
Иногда пользователь работает с чертежом, где присутствует множество групп объектов или блоков. Случаются ситуации, когда необходимо взорвать все их или только несколько определенных. В таком случае тоже поможет рассматриваемая сегодня функция, однако использовать ее надо немного иначе.
Внесенные изменения активируются сразу. Вам будет достаточно просто снять выделение и приступить к редактированию отдельных частей блоков.
Способ 3: Автоматическая разбивка при вставке
В AutoCAD присутствует стандартная функция вставки, которая позволяет работать и с блоками. Если раскрыть дополнительные параметры, то там можно увидеть активацию автоматического расчленения. Более наглядно это выглядит так:
Точно таким же образом можно добавлять неограниченное количество ранее созданных блоков, автоматически взрывая их. Все остальные параметры объектов будут скопированы и соответствуют оригиналу.
Use the -INSERT command
- Type -insert on the command line.
- At the Enter block name or [?] : prompt, enter blockname=filename, where blockname is the name of the block in your drawing and filename is the name of the file containing the block you want to use. If the file is not in the support file search path, type the entire path. (You don’t need to add .dwg.) Press Enter. For example:
- At the Block “square plate” already exists. Redefine it? [Yes/No] : prompt, enter y and press Enter. You see the message: Block “square plate” redefined (with your block name inserted).
- At the Specify insertion point or [Basepoint/Scale/X/Y/Z/Rotate]: prompt, press Esc to not insert a copy of the new file; all you want to do is redefine the old block.
Here, I replaced the square plate block with the plate block, which was in plate.dwg.
Before the replacement:
After the replacement:
Do you want more productivity tips to help you Draw and Edit faster and easier? Check out “Top Productivity Tips Every AutoCAD User Should Know”
Ellen Finkelstein is the author of the best-selling AutoCAD & AutoCAD LT Bible, which started with R14. Ellen has written extensively on AutoCAD, including articles for Autodesk’s website and features for AutoCAD’s Help system. Ellen’s first book was AutoCAD For Dummies Quick Reference.
Программка на VBA взамен экспрессовской команды blockreplace для AutoCAD 2006/2007. Заменяет во всем чертеже один блок на другой. Блоки могут быть динамическими и содержать атрибуты. Такие свойства, как слой, цвет, вес и тип линий, масштаб, OCS, сохраняются. Выбрать нужный блок можно из списка клавишей Enter или двойным кликом, а также указать на экране. Есть возможность сохранения значений атрибутов заменяемого блока, а также удаление его из чертежа после замены.
13.02.07
Добавил команду -BlockReplace, без вызова диалогового окна (процедура BlockReplaceSimple). Предлагает сначала выбрать заменяемый блок, потом заменяющий. Атрибуты сохраняются, блок из чертежа не удаляется.
Также снял по умолчанию флажок "Удалить из чертежа".P.S. Если все же есть необходимость использовать также и экспрессовские команды blockreplace и -blockreplace, нужно в прилагаемом lisp-файле заменить c:BlockReplace и c:-BlockReplace на любые понравившиеся имена (не трогая c: )
Мастер-класс: расширяем функционал работы с блоками!
К сожалению, не все поставленные задачи удается решить стандартными инструментами. Но благодаря дополнительным Lisp-приложениям можно создавать уникальные команды для AutoCAD, которые могут существенно оптимизировать работу в программе.
Так программистами разработан специфический набор команд для работы с блоками. В частности, для их разбиения на отдельные элементы. На рис. 5. представлен перечень некоторых из них:
Рис. 5. Дополнительные команды для работы с блоками AutoCAD.
Чтобы данные команды были доступны, скачайте Lisp-приложение и загрузите его в AutoCAD. Как работать с такими файлами, подробно рассмотрено в статье «Замена блоков в Автокаде». После того как файл успешно загружен, введите в командной строке наименование команды и выполните соответствующие запросы.
Чтобы расчленить Мн-блоки AutoCAD, скачайте Lisp-приложение ux.lsp и загрузите его в Автокад. Вызовите команду "ux", через командную строку или динамический ввод. Укажите многовариантный блок. Этот объект будет расчленен.
Примечание: команда "ux" эффективна не всегда! Многое зависит от принципа создания Мн-бока.
Комментарии
А можно сделать просто кнопку (инструмент) со следующими двумя последовательностями работы. Предисловие пред пользователем на экране два блока. Блок, на который нужно заменить - А, блок который заменяем - Б.
1. Пользователь выбирает блок А, нажимает на кнопку BlockReplace, выбирает блок Б, блок Б сразу заменяется на блок А.
2. Пользователь нажимает на кнопку BlockReplace, выбирает блок А, выбирает блок Б, блок Б сразу заменяется на блок А.Вопрос о том удалять или нет блок Б, не спрашивается каждый раз. По умолчанию стоит не удалять. Если нажать на правую кнопку мыши после нажатия кнопки BlockReplace, то в контекстном меню будет строчка «Удалять заменяемый блок?» (Purge… см. blockreplace в Express Tools), с ответом Да или Нет.
Важный момент: Не должно быть диалоговых окон. Здесь полная аналогия с инструментом, например, Trim.
>Дмитрий Сергеевич
Сделать-то можно, но это будет уже другая программа. Здесь весь смысл в наглядности. Насчет удаления по умолчанию согласен, можно убрать. Исходник дома, так что вечером-ночью поправлю.А насчет экспрессовской blockreplace - она меня взбесила в 2006-м (с динамическими блоками глючит, с атрибутами глючит), почему и родилась эта вещь. И там, кстати, не удаление блока из чертежа, а запуск команды Purge, все в одну кучу.
>Дмитрий Сергеевич
Частично выполнил Вашу просьбу (команда -BlockReplace). C предварительным выбором единичного объекта в VBA проблемы, SelectionSet (сиречь набор) можно, но это здесь ни к чему. И порядок выбора заменяемого и заменяющего блоков обратный, относительно предложенного (мне такой порядок кажется более логичным). Впрочем, это можно решить по месту. Для изменения порядка выбора нужно в процедуре BlockReplaceSimple заменить "BlkName1 =" на "BlkName2 card mb-5 rounded-0 border-0">den001, спасибо, за старания, но после запроса -BlockReplace выпадает ошибка Compile error: User-defined type not defined, и уже Basic указывает на следующую строку: Public Function NameSelectBlock(Optional Prompt As String = "Выберите блок:").
По поводу того, какой блок выбирать сначала метафора такая: Я купил новую книгу (кликнул на блок А, и подтвердил выбор, нажав Enter или правую кнопку мыши), но на книжной полке нет места, мне нужно вытащить одну старую книгу (кликнул по блоку Б, и подтвердил выбор). В реальности новую книгу нужно ещё поставить в замен старой, в программе же это происходит мгновенно, после подтверждения выбора блока Б.
Вопрос: Почему не нужно диалоговое окно?
Ответ: Потому что блок А итак передомной (в моих руках - новая книга), и блок Б тоже передомной т.к. в реальности чтобы поставить новую книгу взамен старой нужно подойти к книжной полке (видеть перед собой Б). Следовательно, такой алгоритм действий является, IMHO, интуитивным и понятным, чем диалоговый интерфейс, отрывающий пользователя от объектов которые он видит перед собой, заставляет пользователя помнить названия блоков (в моём случае у блоков и не должно быть понятного названия, т.к. они создаются автоматически инструментом Flatshot).>Дмитрий Сергеевич
Странно, -BlockReplace у меня прекрасно работает, ну да ладно, немного по другому переписал, должно получиться.den001, что то, программа спотыкается об IAcadBlockReference2, при чем даже при работе с диалоговым окном (blockreplace).
Скажу, что у Вас, похоже, AutoCAD 2007, а программа для 2006-го. Замените во всем коде IAcadBlockReference2 на AcadBlockReference - все будет работать. Такой вот сюрприз от разработчиков Autodesk :-)
Наверняка не всё учёл, поэтому возможна доработка.
Замена блока на блок. Разместить оба файла надо в путях автокада.
В этой строке пишем свои блоки, которых нет в рисунке, но которые есть в путях автокада (setq nam_out '("a7" "a9" "a11" "a13" "a17" "a21" "a25" "a31"))
Можно изменить и эту строку (setq scl (list "0.1" "0.25" "0.5" "1.0" "2.5" "5.0" "10" "25" "100"))
Файл DCLПродолжим здесь, здесь даже лучше не искажается код. Нужно пороробовать. Вижу тут есть окно DCL.
P.s.В окне DCL есть три строки. Набор блоков на замену и масштаб. Но нужно выбрать блок на чертеже который заменить. С эти не понятно.
Вот прилагаю растр.
я перед эти запускал программу в пустом чертеже, в чертеже с набором блоков открывается список блоков чертежа. Но по моему программа заменит все выбранные блоки данного типа на другой тип блока?Ух ты. Давно не заглядывал сюда. Запуск b2b. В первой колонке выбираем имя блока который хотим заменить. Во второй колонке выбираем имя блока на который хотим заменить. Жмём OK и выбираем блоки которые хотим заменить. Или выбираем весь чертёж, выберутся только блоки с указаным именем.
Ух ты. Давно не заглядывал сюда. Запуск b2b. В первой колонке выбираем имя блока который хотим заменить. Во второй колонке выбираем имя блока на который хотим заменить. Жмём OK и выбираем блоки которые хотим заменить. Или выбираем весь чертёж, выберутся только блоки с указаным именем.
У меня автокад_2011
Ошибка
Команда: _appload Replace block.LSP успешно загружено.
Команда: ; ошибка: no function definition: B_INПопробуй так. 2011 сейчас нет под рукой. На 2010 работает. Затащи в пространство модели файл VLX .Запуск b2b.
Попробуй так. 2011 сейчас нет под рукой. На 2010 работает. Затащи в пространство модели файл VLX .Запуск b2b.
Наверное поторопился с ответом что работает (то есть до этого запустил окошко и закрыл дальше не проверял) .
Сегодня как раз нужно было заменить блоки на другие.
Делаю так Запуск b2b. В первой колонке выбираем имя блока который хотим заменить. Во второй колонке выбираем имя блока на который хотим заменить. Жмём OK и выбираем блоки которые хотим заменить.
В итоге он не выбирает блоки.Команда: b2b
_.undo Текущие настройки: Авто = Вкл, Управление = Все, Объединить = Есть, Слой
= Есть
Количество отменяемых операций или [Авто/Управление/Начало/Конец/Метка/Обратно]
: _begin
Команда:
Выберите объекты: найдено: 0
Выберите объекты: Противоположный угол: найдено: 0, всего: 0
Выберите объекты: Противоположный угол: найдено: 0, всего: 0
Выберите объекты: Противоположный угол: найдено: 0, всего: 0
Выберите объекты:
_.undo Текущие настройки: Авто = Вкл, Управление = Все, Объединить = Есть, Слой
= Есть
Количество отменяемых операций или [Авто/Управление/Начало/Конец/Метка/Обратно]
: _end
Команда: nilВам поможет наша статься.
Внутри редактора блоков открываем Свойства (с помощью сочетания клавиш CTRL+1). Проверяем, что ничего в данный момент не выделено (если не уверены, можно пару раз нажать ESC) и в разделе Блок палитры свойств ищем строку «Разрешить расчленение»:
Там скорее всего стоит «Нет», именно поэтому блок и не взрывался. Меняем «Нет» на «Да». После этого закрываем Редактор блоков (кнопка «Закрыть» расположена в ленте сверху справа) и соглашаемся на сохранение изменений:
Такие защищенные от взрывания блоки, как правило, создаются случайно, но иногда и «из вредности». Дело в том, что за эту особенность отвечает параметр "Разрешить расчленение", который можно включить или отключить в момент создания блока:
При снятой галочке, блок не будет разбиваться! Именно это свойство мы и изменяли в Редакторе блоков.
Данный способ помогает в 99% ситуаций, связанных с «невзрываемыми» блоками в AutoCAD. Лишь иногда возможны более «тяжелые случаи». Например, когда блоки являются proxy-объектами, анонимными (с именами вида*U) или мн-блоками, но это встречается нечасто. Подобные проблемы «лечатся» специализированными скриптами (LISP-приложениями), которые можно найти в сети.
Как разбить блок в Автокаде
Как превратить блок, который уже используется в чертеже, в отдельные элементы?
Рассмотрим, как расчленить блок в Автокаде. При вставке блока ставим галочку «Расчленить», как показано на рис. 1.
Рис. 1. Как разделить блок в Автокаде при выполнении команды «Вставка».
Если блок уже присутствует на чертеже, то необходимо применить команду редактирования «Расчленить» (см. рис. 2).
Рис. 2. Команда «Расчленить» позволяет разбить блок в AutoCAD.
Достаточно активизировать данную команду и выбрать блок, который следует разбить на составные элементы. Описание блока остается неизменным, а расчлененный объект превращается в исходный набор примитивов.
Однако данная команда не всегда может выполняться корректно. На это есть свои причины. Давайте рассмотрим их более подробно.
Почему не взрывается блок в Автокаде?
Существует 4 основные причины, почему блок AutoCAD может не взрываться вышеописанным способом:
1. При создании блока не было выбрано свойство «Разрешить расчленение» (см. рис. 3).
2. При выполнении команды «Расчленить» не был выбран сам объект. Т.е. блок, который нужно разбить.
3. Блок состоит из других блоков. Вы пытаетесь расчленить Мн-блок (читайте про Мн-блоки Автокад).
Рис. 3. Свойство «Разрешить расчленение» позволяет в AutoCAD разбить блок.
Где включить свойство «Разрешить расчленение»?
При создании блока следует убедиться, что установлена галочка напротив свойства «Разрешить расчленение», как показано на рис. 3.
Если блок уже создан и неоднократно используется на чертеже, нужно выполнить следующее:
2. Ничего не выделяя из объектов блока на чертеже, вызвать палитру «Свойства» (сочетание клавиш Ctrl+1).
3. В самом низу данной палитры в разделе «Блок» найти свойство «Разрешить расчленение» и установить значение «Да», как показано на рис. 4.
4. Закрыть редактор блоков, сохраняя внесенные изменения.
Рис. 4. Разрешить расчленение экземпляра блока в Редакторе блоков AutoCAD на палитре «Свойства».
Путем выбора объекта
Объекты на заблокированных слоях выглядят затененными, и при наведении курсора на такой объект отображается значок блокировки. Задайте уровень слияния с фоном для заблокированных слоев, чтобы сразу определять расположенные на них объекты. найти
Читайте также: