Как в автокаде снять блок с чертежа
Перейти к содержимому

Как в автокаде снять блок с чертежа

  • автор:

Разблокировка чертежа AutoCAD

После импорта чертежа AutoCAD и принятия параметров по умолчанию файл AutoCAD будет заблокирован на странице. Это требуется для предотвращения его перемещения и удаления, а также изменения его размера. Если вам нужно выбрать или переместить чертеж, вы можете разблокировать его.

Указатель в виде стрелки со значком перемещения

  1. Щелкните пустое место на схеме, чтобы отменить выбор всех объектов.
  2. Наведите указатель на внешнюю границу документа AutoCAD и удерживайте его, пока он не изменится на следующий значок:

Удаление определения блока

Перед удалением определения блока необходимо предварительно удалить все связанные с ним вхождения блоков.

  1. Выберите меню приложения «Утилиты» «Очистить» . Появляется диалоговое окно «Очистка чертежа», отображающее дерево именованных объектов, которые можно удалить.
  2. При необходимости нажмите кнопку удаляемых элементов.
  3. Для удаления неиспользуемых блоков следует воспользоваться одним из следующих способов:
    • Для очистки чертежа от описаний всех неиспользуемых блоков выбрать «Блоки». Для включения вложенных блоков в список отметить параметр «Удаление вложенных элементов».
    • Для удаления описаний только некоторых неиспользуемых блоков дважды щелкнуть на элементе «Блоки» для раскрытия списка блоков. Выбрать блоки для удаления.

Если элемент, который необходимо удалить, отсутствует в списке, щелкните кнопку поиска неудаляемых элементов.

Понятия, связанные с данным
  • Изменение определений блока
  • Изменение вхождений блоков
Задачи, связанные с данной
  • Редактирование описаний блоков
  • Расчленение вхождения блока

Удаление блока

Нужно удалить блок из базы чертежа, но он вложен в другой блок (входит в его определение). Как найти имя блока/блоков в который/которые он вложен?

Конструктор по сути (машиностроитель)

Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391
Если блок входит в другой (нужный) блок, его не удалить.
__________________
Век живи, век учись — .
Регистрация: 22.10.2007
Сообщений: 1,859

Да и найти сложно. Это вопрос меня тоже волнует именно нахождение блока вложенного блок. Народ умудряется копировать блок через буфер обмена и вставлять его как блок.

Valery Brelovsky
Посмотреть профиль
Найти ещё сообщения от Valery Brelovsky

Регистрация: 20.05.2009
Сообщений: 89
Сообщение от Valery Brelovsky

Да и найти сложно. Это вопрос меня тоже волнует именно нахождение блока вложенного блок. Народ умудряется копировать блок через буфер обмена и вставлять его как блок.

Может быть это возможно сделать программными средствами, раз в Автокаде нет такого инструмента?

—— добавлено через ~3 мин. ——

Сообщение от Bull
Если блок входит в другой (нужный) блок, его не удалить.
Задача стоит в том, чтобы найти, куда блок входит, выгрузить или переименовать, а потом уже удалить.
Регистрация: 22.10.2007
Сообщений: 1,859
Сообщение от giprsk
Может быть это возможно сделать программными средствами, раз в Автокаде нет такого инструмента?

Може быть. Я не специалист в области Лиспа. Покрайней мере найти в какой блок входит, а там уже проще. Я выгружал блок в отдельный файл там проверял, если находил по приводил в порядок, т.е. взрывал всатленный блок затем чистил и вставлял обратно в в файл соответственно с обновлением вхождения этого блока и тогда можно удалить из списка файла. Но муторно, перебирать блоки. И сколько людям не говорил если копируешь блок через буфер не вставляй его как блок.

Valery Brelovsky
Посмотреть профиль
Найти ещё сообщения от Valery Brelovsky

Регистрация: 29.10.2004
Сообщений: 16,324
уровень вложенности этих самых блоков в блоки известен? В это всё и упирается.
Регистрация: 20.05.2009
Сообщений: 89

Можно вот так: http://forum.dwg.ru/showpost.php?p=69918&postcount=10
В чистом чертеже создаёте «опознавательный» блок с искомым именем — скажем, цветное пятно большого размера.
Через DC переопределяете этот блок в своём чертеже. В тех блоках, куда он был вложен, «засветится пятно».
Тупо, конечно, но работает

—— добавлено через ~7 мин. ——
PS Кстати, проблема по поиску блока, которого я никак не мог найти, оказалась не в том, что он был вложен в другой блок, а в том, что Быстрый фильтр, хоть и написано «Весь чертёж», осуществляет поиск только в том пространстве, где вы находитесь. Блок просто находился в пространстве Листа, а я его искал в пространстве Модели.

Регистрация: 22.10.2007
Сообщений: 1,859
Сообщение от giprsk
Тупо, конечно, но работает

Почему тупо. В принципе реальное решение. Единственное что радует, что не надо блоки искать каждый день. Пустые блоки так отлавливал. Вызывал редактор блоков чертил окружность побольше, а уже остальное дело техники.

Valery Brelovsky
Посмотреть профиль
Найти ещё сообщения от Valery Brelovsky

Регистрация: 20.05.2009
Сообщений: 89
Сообщение от Valery Brelovsky

Почему тупо. В принципе реальное решение. Единственное что радует, что не надо блоки искать каждый день. Пустые блоки так отлавливал. Вызывал редактор блоков чертил окружность побольше, а уже остальное дело техники.

«Тупо» потому, что предлагаемое решение — это всё же не инструментарий Автокад и даже не LISP-функция, а всего лишь уловка.

Регистрация: 11.05.2005
Сообщений: 6,989
Сообщение от giprsk
и даже не LISP-функция
__________________
Как использовать код на Лиспе читаем здесь
Регистрация: 22.10.2007
Сообщений: 1,859
Сообщение от giprsk
это всё же не инструментарий Автокад и даже не LISP-функция, а всего лишь уловка.

Смотрите. Не соглашусь что это уловка. У меня принцип работы основан что тобы чертёж был максимально чистый и удобный в работе. На основе своего опыта я формирую чертёж что бы в конечном итоге было легко редактировать получать объёмы. Исходя из этого я исключаю и своего файла громоздкие блоки, не используюю вставку через буфер обмена вставить как блок. Использую динамические блоки но не делаю их много функциональными и громоздкими, и вообще стараюсь обходится без динамики и если использую динамику то этот блок не участвует в подсчёте каких либо объёмов. Это блоки чисто оформительские. И подавно не использую блоки внутри блока. Т.е. если создаю новый блок и ипользую в этом блоке другой блок то после расположения его на месте взрываю, и привожу все элементы в необходимое мне соответствие. Т.е. что бы не было проблемы при выключении слоя на котором расположен блок, слой выключался, а блок оставался. Т.е. придерживаюсь определённых правил, которое позволяют не решать тупые проблемы. В общем блока в блоке не должно быть и тогда не нужно искать тупых решений. И можно ещё перечислить много тупости в файлах, но лучше от этого не станет. В общей массе народ не вникает в качество выполнения файла, потому я забочусь о своём комфорте. Ещё народ создаёт маленький блок а точка вставки не известно где. У меня точка вставки соотместует месту стыковки с другимиэлементами чертежа, а народ вставляет потом переносит, потом поворочивает. Даже вставленный блок пересемтить и повернуть проще если точка вставки рядом, а так это несколько дополнительных действий. Для этого случая нашёл Лисп программу которая изменяет точку вставки не изменяя положение вставленных блоков. Т.е. кликнул по блоку и указал новую точку вставки.

Valery Brelovsky
Посмотреть профиль
Найти ещё сообщения от Valery Brelovsky

Регистрация: 10.08.2013
Сообщений: 10,945
Для «затравки» — кусок функции для обработки блоков на чертеже

//Обработка вложенных в блок примитивов private void ProcessingAcadBlockReference(Transaction ATr, ObjectId AId) < //Получаем ссылку на выбранный блок BlockReference acBlkRef = ATr.GetObject(AId, OpenMode.ForRead) as BlockReference; //Получаем таблицу записей выбранного блока BlockTableRecord acBlkTblRec = ATr.GetObject(acBlkRef.BlockTableRecord, OpenMode.ForRead) as BlockTableRecord; //Перебираем коллекцию Id входящих примитивов foreach (ObjectId acObjId in acBlkTblRec) < //Получаем объект для каждого примитива по его Id (обратите внимание на режим открытия) Entity acEnt1 = ATr.GetObject(acObjId, OpenMode.ForWrite) as Entity; . обрабатываем примитив //Если примитив является блоком if (acEnt1 is BlockReference) < //Вызываем рекурсивно сами себя ProcessingAcadBlockReference(ATr, acObjId); >> >

можно обрабатывать неограниченное число вложенных блоков, можно узнать имена блоков и есть ли вообще вложенные в данный блок AId блоки.

Удаление блока в Автокаде — простые решения для эффективной работы

Работа с блоками — одно из ключевых преимуществ использования Автокада, что значительно упрощает построение проектов. Но после подготовки чертежа резонным становится вопрос, как же удалить блок в Автокаде, если он не используется в проекте.

Как удалять блоки

Методика удаления блоков в Автокаде.

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

Зачем необходимы блоки в Автокаде — основные преимущества работы

Их по праву можно считать венцом автоматизации черчения в Автокаде. Фактически они являются единым объектом, который создаётся на основе примитивов.

Блоки

  1. Работа с ними значительно улучшает качество проекта. На выходе будет подготовлен однотипный проект с одинаковым размером и видом абсолютно всех розеток, выключателей, автоматических выключателей и пр.
  2. На практике помогают улучшить производительность работы. Опыт подтверждает, что при работе с ними существенно уменьшается общее количество объектов на чертеже. К примеру, во время перемещения, копирования объектов всегда сохраняется вероятность, что захватим вовсе не все элементы. Такую ситуацию позволяет полностью исключить использование блоков. Теперь достаточно раз потратить немного больше времени на их создание, чтобы в будущем серьёзно сэкономить траты сил на повторное проектирование.

Как удалить неиспользуемые блоки в Автокаде — простой порядок действий

Для удаления вхождения на чертеже (ссылки) вполне подойдёт и стандартный способ. Для этого выделяем необходимый блок и нажимаем Delete. Или можно воспользоваться командой «Стереть». Но в таком случае нужно учесть одну опасную для нас деталь — в файле всё равно сохранится само определение. Поэтому будет и дальше находиться в списке, занимая дополнительное место.

Казалось бы логичным предположить, что помочь нам в этом случае сможет Редактор блоков Автокад. Но, вдоволь поэкспериментировав с этим инструментом, мы смогли абсолютно убедиться — решить проблему он не способен.

Но не время огорчаться — есть другие более действенные способы. В частности, для удаления ненужных определений можно воспользоваться командой «ОЧИСТИТЬ». Хотя и здесь есть своя загвоздка — для уверенности в действительно корректном выполнении данной команды нужно убедиться, чтобы в графическом пространстве отсутствовали вхождения блоков. Следовательно, удалятся они в несколько этапов — прежде всего, избавляемся от блоков на нашем чертеже. Далее переходим в меню «Приложения», здесь выбираем «Утилиты», далее нажимаем «Очистить».

Команда очистки

Хотя при желании можно использовать и командную строку, указав здесь для аналогичной команды: операции Утилиты AutoCAD – Очистить. Открывшееся диалоговое окно «Очистка чертежа» позволяет пользователю увидеть подробнее дерево всех именованных объектов, к удалению которых можем переходить. Для очистки от неиспользуемых блоков сразу всего чертежа воспользуйтесь разделом «БЛОКИ».

Дерево всех именованных объектов

Если необходимо удаление лишь отдельных объектов, тогда левой кнопкой мыши дважды нажимаем на элемент «Блоки». Появится общий список блоков, из которых остаётся выбрать необходимые для удаления.

Выбор блока для удаления

Также напомним, что некоторые из них в таком списке могут изначально не отображаться. Чтобы увидеть абсолютно все, воспользуйтесь опцией «Посмотреть элементы, которые нельзя удалить».

Посмотреть все элементы

После удаления нужных определений появится обновлённый список определений в вашем чертеже.

Процедура достаточно проста и требует нескольких минут. Относитесь к оптимизации файла ответственно — автоматизировав и упростив решение поставленных задач, без потери необходимых данных.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *