Как обновить поля в автокаде
Автоматическое обновление полей
- В командной строке введите fieldeval.
- Введите код, являющийся суммой любых из следующих значений:
- 0: не обновляются
- 1: обновляются при открытии
- 2: обновляются при сохранении
- 4: обновляются при печати
- 8: обновляются при вызове команды ФОРМКОМПЛЕКТ
- 16: обновляются при регенерации
Например, для обновления полей только при открытии, сохранении или печати файла необходимо ввести 7.
Поля в AutoCAD. Автоматическое изменение масштаба в штампе чертежа
Сегодняшний урок подойдет тем, кто использует в своей работе листы и видовые экраны, т.е. довольно опытным пользователям AutoCAD. Мы научимся заполнять графу «Масштаб» чертежного штампа через «Поля». И при изменении масштаба Видового экрана (ВЭ), масштаб в штампе будет обновляться автоматически:
Такой подход существенно экономит время и избавляет от случайных ошибок, поскольку на этапе компоновки чертежа или при копировании листов из проекта в проект, часто забывают откорректировать значение масштаба.
Для начала определимся с самим понятием поля. Поле в AutoCAD — это текст, содержимое которого привязано к какому-либо свойству или параметру другого объекта чертежа или документа. Причем, при изменении данных в источнике, они обновятся и в поле. Поля могут быть вставлены в текст любого типа — однострочный, мтекст, ячейка таблицы, размер, мультивыноска, атрибут, описание атрибута.
Перейдем к практике. У нас есть лист, на нем расположена рамка со штампом и Видовой экран. В штампе в графе «Масштаб» находится обычный однострочный текст. Дважды щелкнем по нему, чтобы начать редактирование. Нажмем сочетание клавиш CTRL+F, чтобы вставить поле, либо выберем данный пункт из контекстного меню:
Откроется редактор, в котором настраивается источник данных для поля и формат их отображения. Выбираем в разделе «Категории полей» пункт «Объекты», а в разделе «Имена полей» слово «Объект» и нажимаем на кнопку выбора в разделе «Тип объекта»:

Курсор превратится в небольшой квадратик, которым мы щелкаем по границе видового экрана:

Обратите внимание, что теперь в редакторе полей в разделе «Тип объекта» указан «Видовой экран». Осталось лишь выбрать из списка то его свойство, которое мы хотим считывать. Нам нужен «Стандартный масштаб». Как только мы выберем его, в разделе «Образец» будет показан пример отображения поля в нашем тексте:

В разделе «Формат» в данном случае ничего менять не надо. Нажимаем «Ок» и все готово:
Теперь при изменении масштаба в настройках ВЭ, масштаб в штампе будет обновляться автоматически. Однако, обратите внимание, что поля не умеют обновляться в реальном времени! Они обновляются при регенерации, сохранении, открытии/закрытии файла. Поэтому не удивляйтесь, что изменения не происходят мгновенно — нужно регенерировать файл (про регенерацию рассказано здесь) или сохраниться (в анимации я сделал на этом акцент). Также, поле по умолчанию имеет серый фон, который не должен вас смущать, т.к он виден только на экране во время работы с чертежом. При печати и экспорте в PDF фон отсутствует — все будет выглядеть как обычный текст. Серый фон в принципе можно отключить в настройках программы и там же задать условия обновления полей (но я бы не советовал это делать, т.к. подсветка помогает быстро понять какие данные на чертеже заданы через поля):

Поскольку при копировании листа, копируется и вся информация на нем, наше поле будет работать и при копировании листа, и при переносе его в другой файл. Главное, имейте в виду, что если вы удалите сам объект, с которого поле считывает информацию (в нашем случае это ВЭ), то вместо данных будут отображаться решетки:

Для того чтобы это исправить, просто дважды щелкните по полю и заново укажите источник данных.
Существует огромное количество способов использования полей. Как правило, это автоматизация рутинных действий и страховка от ошибок. Мы рассмотрели довольно простой, но весьма полезный пример, который легко повторить даже новичкам, узнавшим о полях из данной статьи. Главное, чтобы у вас было понимание, как работать с листами и Видовыми экранами, т.к. в анимации эта часть осталась за кадром. Если в качестве штампа вы используете таблицу, поле можно вставить и в ячейку таблицы, — заходите в ячейку и далее всё по инструкции, порядок действий точно такой же. Если вместо значения масштаба в поле отображается слово «Настройка», это значит, что задан какой-то дробный некорректный масштаб ВЭ (масштаб подобран «на глаз»). Измените его на кратное целое значение (1:1, 1:100, 1:40, 5:1 и т.п.) и все заработает.
В комментариях можно задавать свои вопросы. Если статья была вам полезна, жмите лайки и делайте репосты — буду очень признателен, за любую поддержку проекта!
Как обновить поля в автокаде
Как известно, для VetCAD++ можно создавать свои динамические блоки. При этом расчет параметров (их значения хранятся в атрибутах блока и используются для формирования спецификации), таких как длина элемента и их количество, можно возложить как на сам AutoCAD, так и на VetCAD++. В первом случае используются поля (fields) AutoCAD. В каждом из способов есть как свои преимущества, так и недостатки. В случае использования полей AutoCAD пользователь случайно или по незнанию может повредить формулу расчета. В случае же расчета с помощью VetCAD++ такой проблемы нет, но этот способ работает только при наличии VetCAD++.
В этой статье будет описано, как VetCAD++ работает с динамическими блоками при их обновлении и как обновляются атрибуты в блоках.
При редактировании пользователем любой инстанции блока VetCAD++ проверяет:
1. Является ли динамическим
2. Является ли блок, подлежащим обновлению: название блока должно начинаться на «vcBlockPos» или «vcBP»
Если оба условия выполнены, программа пытается запустить процедуру обновления атрибутов блока. Если у блока присутствуют атрибуты «ДЛИНА» и «КОЛИЧЕСТВО», а также любой из этих атрибутов представлен полем (формула AutoCAD), запускается стандартная процедура обновления полей в блоке, подобная той, что можно запустить стандартной акадовской командой _UPDATEFIELD.
Если же в атрибутах «ДЛИНА» и «КОЛИЧЕСТВО» нет формулы, VetCAD++ запускает собственную процедуру расчета значений этих атрибутов и заполняет их. Алгоритм её работы опишем ниже.
Длина стержня высчитывается по динамическому параметру блока «Ширина». К длине стержня также могут прибавляться значения следующих динамических параметров (если они присутствуют): «Анкер1», «Отгиб1», «Анкер2», «Отгиб2». Если этих динамических параметров нет в блоке, проверяется наличие атрибутов «АНКЕР1», «ОТГИБ1», «АНКЕР2», «ОТГИБ2». Если данные атрибуты присутствуют в блоке, их значения прибавляются к длине стержня.
Из длины стержня вычитается значение динамического параметра «Смещение» или значение атрибута «СМЕЩЕНИЕ» (если таковые присутствуют).
Длина зоны распределения арматуры определяется по динамическому параметру «Длина».
Шаг стержней определяется по атрибуту «ШАГ». Если этого атрибута нет либо не задано его значение, тогда значение шага арматуры будет высчитываться либо по верхнему тексту позиционной выноски, либо по нижнему тексту. Сначала проверяется верхний текст (где номер позиции): если после номера позиции стоит пробел и далее идет открывающаяся скобка «(» или косая черта «/», то всё, что в скобках или после косой черты, и будет шагом. Например, в ниже приведенных примерах для позиции «1» задан шаг 200:
Если по верхнему тексту шаг определить не удалось, проверяется нижний текст. В нижнем тексте шагом считается всё, что стоит после последнего! пробела, например, если в нижнем тексте прописан текст «здесь шаг 200» или «см. чертеж (шаг 200)» , то за шаг будет принято значение 200 (во втором варианте закрывающая скобка отсекается).
Если же шаг определить не удалось, считается, что шаг равен 100 мм.
По длине зоны распределения и шагу высчитывается количество по формуле:
КОЛИЧЕСТВО = ДЛИНА_ЗОНЫ / ШАГ + 1
И наконец, в блоке можно задать формулы для корректировки количества стержней и их длины. Для этого в блок можно добавить атрибуты «ФОРМУЛА» и «ФОРМУЛАДЛ» соответственно. Например, если вы хотите умножить количество на 2 (2 слоя арматуры), можно задать формулу:
Вместо X программа подставит значение, высчитанное по выше описанному алгоритму. Формулы могут быть любыми, но начинаться должны со знака «=». Если этот знак отсутствует, то к высчитанному значению будет прибавлено значение из атрибута формулы. Т.е. если в атрибут «ФОРМУЛАДЛ» записать значение равное 300, то это означает, что программа прибавит к рассчитанной длине стержня еще 300.
Если расчет производится в погонных метрах, то должен присутствовать атрибут «ВСЕГО». Его значение получается перемножением количества на длину стержней, рассчитанных по ранее описанному алгоритму.
Как обновить поля в автокаде
При обновлении поля отображается его последнее значение. Пользователь может обновить поля по одному или обновить все поля в одном или нескольких выбранных текстовых объектах.
Кроме того, можно установить автоматическое обновление полей при открытии, сохранении, печати, регенерации или отправке чертежа с помощью команды ФОРМКОМПЛЕКТ .
Настройки в Вкладка «Пользовательские» (диалоговое окно «Настройка») определяют режим обновления полей: автоматический или по запросу (системная переменная FIELDEVAL ). Поле «Дата», вне зависимости от значения переменной FIELDEVAL, автоматически не обновляется.
Примечание При присвоении системной переменной DEMANDLOAD значения 2, невозможно будет обновить поля до тех пор, пока не будут использованы команды ПОЛЕ или ОБНПОЛЕ .
Контекстно-зависимые поля в блоках и внешних ссылках
Некоторые поля являются контекстно-зависимыми; т.е. их значение зависит от пространства или вкладки-листа, на котором они расположены. Например, поскольку каждая разметка листа может иметь различные параметры листа, то значение, отображаемое полем «ОриентацияЛиста», может различаться на различных разметках листа одного и того же чертежа.
Список контекстно-зависимых полей
Для совместимости с предыдущими версиями контекстно-зависимые поля в блоках и внешних ссылках не обновляются при вставке их в чертеж; вместо этого поля отображают последнее кэшированное значение. Поэтому, если необходимо использовать контекстно-зависимое поле внутри блока, например блока основной надписи, то надо вставить поле как атрибут. Например, блок основной надписи может использовать поле «НомерТекущегоЛиста» как атрибут. Тогда при вставке основной надписи в чертеж поле отобразит номер листа, на который была произведена вставка.
Большинство полей не являются контекстно-зависимыми и обновляются в блоках и внешних ссылках. Поля во внешних ссылках обновляются на основе файла, в который они вставлены, а не исходного файла. Эти поля не следует использовать в атрибутах. Например, поле, отображающее номер конкретного листа в подшивке и обновляющееся при изменении данного номера, является свойством подшивки. При создании поля пользователь выделяет имя поля «Подшивка», выбирает подшивку и лист в области структуры, а затем выбирает свойство «НомерЛиста» в качестве значения поля. Это поле будет отображать номер данного листа, даже если данное поле поместить в блок и вставить в другой чертеж. Если лист удалить из подшивки, то он уже не будет иметь номер, а поле станет недействительным и будет отображать знаки решетки.
Некоторые поля подшивок могут быть вставлены как заменители. Например, при создании собственных блоков-идентификаторов и блоков-меток, можно вставить поле «НомерЛиста» в качестве заменителя. Позже, когда блок будет вставлен из контекстного меню вкладки «Список видов» в Диспетчере подшивок, поле отобразит номер листа чертежа.
Совместимость с прежними версиями
При открытии чертежа с полями в AutoCAD 2004 или более ранней версии поля не обновляются; в них отображаются те значения, которые отображались последними до открытия чертежа. Если поля не были изменены, то они обновляются как обычно при открытии чертежа в системе, поддерживающей поля.
Ручное обновление поля
- Дважды нажмите кнопку мыши на тексте.
- Выберите поле, которое необходимо обновить, и нажмите правую кнопку мыши. Выберите «Обновить поле».
Обновление вручную нескольких полей

- Перейдите на вкладку «Блоки и ссылки» панель «Данные» «Обновить поля» . В командной строке введите обнполе.
- В ответ на подсказку «Выберите объекты» выберите объекты, содержащие поля, которые требуется обновить, и нажмите ENTER. Все поля в выделенных объектах обновятся.
Автоматическое обновление полей
- В командной строке введите fieldeval.
- Введите код, являющийся суммой любых из следующих значений:
- 0: не обновляются
- 1: обновляются при открытии
- 2: обновляются при сохранении
- 4: обновляются при печати
- 8: обновляются при вызове команды ФОРМКОМПЛЕКТ
- 16: обновляются при регенерации
Например, для обновления полей только при открытии, сохранении или печати файла необходимо ввести 7.
Краткий справочник
Создание объекта многострочного текста с полем, автоматически обновляемым при изменениях связанного с ним значения.
Обновление полей в выбранных объектах чертежа вручную.
Системные переменные
Управляет отображением полей на сером фоне.
Управляет методом обновления полей.
