пятница, 10 ноября 2017 г.

Меняем формат поля Площадь в AutoCAD

Добрый день!

Поступил вопрос от читателя:
Добрый день Андрей!
При проставлении площадей в автокаде с помощью полей приходится вводить коэффициент преобразования ( например для метров - 1e-006) и каждый раз заново. Есть ли возможность сохранения введенных значений Conversion factor(а), чтобы их не приходилось вводить заново каждый раз!
Заранее спасибо Вам!
С уважением,
Максим
Действительно, это очень неудобно - каждый раз вводить коэффициент преобразования для отображения площади в квадратным метрах, а не миллиметрах (как по-умолчанию).

Задача: необходимо создать новый или изменить существующий формат поля Площадь, который позволяет наносить значение площади в метрах и добавлять к значению надпись кв.м.




1. Закрываем все текущие сеансы AutoCAD


Если AutoCAD запущен на рабочем месте, то закройте его.

2. Ищем файл AcFields.fdc 


В AutoCAD все описания и настройки полей хранятся в файле AcFields.fdc

Найти этот файл можно в каталоге Support. Например, если у вас AutoCAD 2015 RUS, то путь к файлу будет следующим \Documents and Settings\[Пользователь]\Application Data\Autodesk\Autocad 2015\R20.0\RUS\Support

3. Сохраняем резервную копию файла AcFields.fdc


Подстрахуйтесь, лишним не будет.

4. Отрываем файл AcFields.fdc и ищем строку FormatType name="Area"


В итоге находим блок


5. Редактируем файл


Если вы хотите изменить существующий формат "Десятичный", то вам нужно исправить формат "473".

Для этого ищем блок


И заменяем формат FormatString на %lu2%pr3%ps[, кв.м.]%ct8[1e-006]


После изменения блок должен выглядеть вот так (красным выделена измененная часть)

 

6. Сохраняем файл и запускаем AutoCAD 

Проверяем работу. Вставляем поле Площадь и выбираем формат Десятичный. Обратите внимание на Образец


Готово! Можете пользоваться.


Однако, пытливый читатель может захотеть добавить свой формат поля, а не менять существующий. Это сделать можно, достаточно добавить в блок FormatType name="Area" новый блок (выделен красным)


В этом случае в списке форматов появится еще один доступный формат.

Если вы хотите самостоятельно записать параметры формата, то вот расшифровка нужных ключей:
%lu2 - децимальные единицы
%pr3 - точность (3 - три знака после запятой)
%ps[Префикс, Суффикс] - префикс и суффикс
%ct8[0.1] - коэффициент преобразования


С остальными приемами работы в AutoCAD вы можете познакомиться на этой странице блога.

С уважением, Андрей

Если вы получили ответ на свой вопрос и хотите поддержать проект материально - внизу страницы для этого есть специальная форма.

12 комментариев:

  1. Благодарю. Полезное улучшение!

    ОтветитьУдалить
  2. Спасибо!
    Удивлен, что мало комментариев. Урок очень полезный. Часто слышишь: "Автокад площади не считает". А это не так и поля тому подтверждение. Есть конечно лиспы (Ptlb ; ATTSS и др.), за которые низкий поклон и благодарность их создателям, но и про "штатные" средства программы не стоит забывать. У меня все получилось, но префикс и суффикс я вводить не стал.


    %lu2%pr2%ct8[1e-006]

    Интересно, а для Формулы - Сумма какой параметр нужно найти аналогичный FormatType name="Area", чтобы установить точность и коэффициент преобразования?
    И еще, если можно вопрос, название формата так и будет %lu2%pr2%ct8[1e-006] или возможно его заменить на пользовательское название по типу "Decimal" или др.
    Спасибо!

    ОтветитьУдалить
    Ответы
    1. 1. Для формул таких настроек нет. Или я не знаю о их существовании
      2. Имя формата считывается из AcFieldRes.dll по цифровому коду. DLL править я бы не хотел. Можете заменить код 478 на 473, тогда имя будет отображаться как "Десятичные"

      Удалить
    2. Спасибо за информацию! Все понятно. Удачи!

      Удалить
  3. Прошу прощения, не прошло, как настроился формат, но может и не важно, а вот для формулы в полях можно уточнить где установить установить точность и коэффициент преобразования?
    Спасибо!

    ОтветитьУдалить
  4. Добрый день !!! все сделал как вы описали в статье и все работает, но только почему-то не на площадь срабатывает , а на длину
    Если у ВАС есть время, подскажите пожалуйста в чем причина
    Автокад 2016, 2017 (пробовал и там и там)

    ОтветитьУдалить
    Ответы
    1. Да, вам уже верно ответили. Нужно выбрать для правки ветку FormatType name="Area"

      Удалить
  5. Добрый день!
    Все работает для площади, параметр FormatType name="Area".
    А вот с Формулой и ее опциями пока не идет. По идее должно сработать, но никак не могу найти нужный параметр в файле AcFields.fdc.

    ОтветитьУдалить
    Ответы
    1. Спасибо Макс, "а слона то я и не приметил"

      Удалить