Автокад не открывает диалоговое окно при сохранении. Autocad пропало диалоговое окно сохранить. Директивы описание полей

💖 Нравится? Поделись с друзьями ссылкой

Если Вы не принадлежите к особой и очень редкой породе пользователей, которые при работе в AutoCAD не используют диалоговые окна , а все действия выполняют исключительно через командную строку, то:

  • при запуске команды Open (Открыть ), Вы ожидаете появления на экране диалогового окна Select File (Выбор файла ),
  • а при запуске команды Save As (Сохранить как ) или просто Save (Сохранить ), если файл не был ранее уже сохранен на компьютере, - диалогового окна Save Drawing As (Сохранение чертежа ).

AutoCAD 2017 . Диалоговое окно Select File (Выбор файла )

Но, приходилось ли Вам сталкиваться с такой ситуацией, что диалоговое окно навигации при открытии (или сохранении) файла пропало ? А вместо него:

  • при вводе команды Open (Открыть ) в командной строке красуется запрос (Имя открываемого чертежа ),
  • а при запуске команды Save (Сохранить ) в командной строке появляется запрос Save drawing as (Сохранение чертежа ).

В ответ на них AutoCAD ожидает получить имя и путь к файлу.

AutoCAD 2017 . Запрос Enter name of drawing to open (Имя открываемого чертежа )

Конечно, навигацию по файлам можно осуществлять и таки образом, через командную строку. Также на подобный запрос в командной строке можно ответить символом «~ », после чего на экран будет таки выведено привычное большинству пользователей диалоговое окно навигации по файловой системе. Но для тех, кто не привык к ведению диалога с AutoCAD подобным образом, такой способ не слишком удобен и может значительно замедлить рабочий процесс.

Но что же произошло? Куда пропало диалоговое окно навигации, которое раньше всегда исправно появлялось при открытии или сохранении файла, и как его вернуть на законное место?

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

Следовательно, чтобы вернуть отображение диалоговых окон при открытии или сохранении файла, нужно всего лишь изменить значение описанной системной переменной на «1 », для этого необходимо выполнить следующие действия:

  • в командной строке ввести FILEDIA и нажать клавишу [Enter ],
  • а далее, в ответ на запрос ввести новое значение для системной переменной, ввести «1 » и подтвердить изменение нажатием клавиши [Enter ].

AutoCAD 2017 . Изменение значения системной переменной FILEDIA


После того, как данная процедура будет проделана, у Вас на экране вновь будут появляться привычные диалоговые окна Select File (Выбор файла ) для команды Open (Открыть ) и Save Drawing As (Сохранение чертежа ) для команды Save (Сохранить ).

Иногда AutoCAD" а жалуются на исчезновение меню Файл –> Сохранить как (это меню вызывает появление окна Сохранение чертежа ):

За отображение окна этого меню в AutoCAD" е отвечает переменная FILEDIA : если она равна 0 , вызывается вариант команды СОХРАНИТЬКАК , использующий интерфейс командной строки:

– нажмите Пуск –> Выполнить… –> в поле Открыть введите regedit –> OK ;

– раскройте ветвь

;

– найдите REG_DWORD -параметр FileDialog со значением 0 , установите 1 (или совсем удалите этот параметр);

– закройте Редактор реестра .

Примечания


2. Целочисленная переменная FILEDIA управляет отображением окон навигации (чтение/запись/сохранение файлов). Может иметь следующие значения:

0 – окна не отображаются. Тем не менее, возможность принудительного вызова окна файла сохраняется: для этого нужно ввести тильду (~ ) в ответ на подсказку команд (то же справедливо для функций AutoLISP и ADS );

1 – отображает окна. Однако, если файл или программа AutoLISP /ObjectARX активны, на экран выводится обычная подсказка.

3. Если значение переменной FILEDIA равно 0 , при запуске команды СОХРАНИТЬКАК в окне командной строки отображается следующий запрос:

Текущий формат файла: Чертеж AutoCAD 2007

Задайте формат файла <2007>:

– задайте опцию, нажмите Enter ;

4. Для русифицированной версии AutoCAD 2007 значение переменной FILEDIA хранится в разделе

;

для русифицированной версии AutoCAD 2006 – в разделе

.

5. Будьте осторожны при манипуляциях с ! Некорректное использование Редактора реестра может привести к возникновению серьезных неполадок, вплоть до переустановки операционной системы!

Autocad \ Civil 2009 хотя думаю относится и к другим продуктам Autodesk при открытии\сохранении документа вместо диалогового окна появляется строка.

Для исправления следует ввести команду filedia и нажать Enter. Результатом выполнения команды будет целое число "0" или "1". Следующим шагом следует ввести команду filedia с числом обратным результату. То есть если был "0", то следует вводить "1". Нажать Enter и радоваться жизни.

Подробное описание

Доступна в R12-2008
Из справки 2007ру:


Подавляет отображение диалоговых окон навигации к файлу.
Тип: целый
Сохранен в: реестр
Начальное значение: 1

0 - Диалоговые окна не отображаются. Но в этом режиме диалоговое окно можно вызвать принудительно, если ввести тильду (~) в ответ на запрос команды. То же справедливо для функций AutoLISP и ADS.
1 - Отображает диалоговые окна. Если пакетный файл или программа AutoLISP/ObjectARX™ активны, на экран выводится обычный запрос.

С некоторыми командами можно работать как в командной строке, так в диалоговых окнах. Это полезно при использовании сценариев.

Чтобы выполнить команду не из диалога, а из командной строки, надо ввести дефис (-) перед именем команды (для многих команд). Например, команда layer (слой) в командной строке откроет диалог "Диспетчер свойств слоев".
Но команда -layer (-слой) выведет тот же набор параметров и опций в командной строке.
Параметры, отображаемые в диалоговом окне, могут незначительно отличаться от выводимых в командной строке.
Подавление вывода диалоговых окон полезно для обеспечения совместимости с более ранними версиями AutoCAD и для использования пакетных файлов.

Следующие системные переменные оказывают влияние на открытие диалоговых окон:
ATTDIA указывает, должно ли использоваться диалоговое окно для ввода атрибутов команды ВСТАВКА.
CMDNAMES задаёт вывод имён (английских) текущей активной команды и прозрачной команды.
EXPERT указывает, нужно ли выводить диалоговые окна с предупреждениями.

FILEDIA управляет появлением диалоговых окон для чтения и записи файлов. Например, если FILEDIA=1, при выполнении команды СОХРАН В открывается диалоговое окно "Сохранение чертежа". Если FILEDIA=0, команда СОХРАН В будет выполнена после выбора нужной опции в командной строке.
Переменные FILEDIA и EXPERT полезны при выполнении команд с помощью сценариев.

Дополнения (мной не проверены) для 2006 и старше:
Если нажать CTRL+0, то ком. строки не будет. Это полезно тем, кто использует дин ввод. В этом случае, набираемое на клавиатуре слово Filedia появится на курсоре, а не в ком. строке.
Интересная особенность (документированная?), если даже не убирать ком. строку, но включить дин. ввод, приглашения Filedia в ком. строке НЕ появится (пока не нажать Enter).

Диалоговые окна являются важным компонентом любого приложения.

Диалоговые окна используют:

  • для отображения полезной информация,
  • для удобного ввода исходных данных,
  • для изменения настроек программы.

Создать диалоговое окно Автокад, не прибегая к сторонним программам, можно при помощи редактора Visual LISP . Для этого в редакторе Visual LISP используют язык DCL, который предназначен для программирования диалоговых окон.

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

Добавим в эту форму настройки программы – выбор формы сечения.

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

В результате хотелось бы получить следующее диалоговое окно. См. Рис. 1.

Рис. 1. Диалоговое окно.

И так притупим:

Откройте Автокад.

Запустите редактор Visual LISP (наберите в командной строке VLIDE и нажмите ).

Нажмите на кнопку «Новый файл ».

Откроется диалоговое окно «Сохранение файла». Найдите папку, в которой хотите сохранить файл (в моем случаи D:\MyLisp ).

В строке Тип файла : выберите «Исходные DCL-файлы ».

Задайте имя файла и нажмите на кнопку «Сохранить ». См. Рис. 2.

Рис. 2. Создание DCL файла.

Директива описания диалога.

Программа, написанная на языке DCL, состоит из логических единиц – директив.

Программный код диалогового окна всегда начинается с директивы описания диалога.

В общем виде она имеет следующий вид:

: dialog { <атрибуты окна> ; <поля > } - это имя, по которому диалоговое окно из LISP программы вызывается на экран. Далее следует «: », ключевое слово dialog , и фигурная открывающаяся скобка «{ »

Параметр <атрибуты окна > представляет собой последовательность атрибутов и их значений. В общем виде это выглядит следующим образом:

<Атрибут > = <значение >;

После атрибута и его значения ставиться «; »

Параметр <поля > является набором директив описание полей (текстового поля, редактируемого текстового поля, раскрывающегося списка, кнопок)

Директива описания диалога заканчивается закрывающей фигурной скобкой «} ».

Давайте дадим имя диалогу:

pr_uch

Добавим атрибут:

label = "Прямой участок" ;

— начальный заголовок диалогового окна;

Добавим директиву описания поля кнопок:

ok_cancel ;

В результате получим. См. Рис. 3.

Рис. 3. Директива описания диалога.

Просмотр диалогового окна.

Чтобы посмотреть, как выглядит диалоговое окно, в главном меню выбираем «Сервис », далее переводим указатель мыши на «Инструменты интерфейса » и щелкаем на «Просмотр DCL из редактора ».

См. Рис. 4.

Рис. 4. Просмотр DCL из редактора.

Появится окно «Введите имя диалогового окна» см. Рис. 5.

Рис. 5. Введите имя диалогового окна.

Нажимаем «ОК » и в рабочем окне AutoCAD появится диалоговое окно.

Директивы описание полей.

Радиоколонка.

: radio_column { label = "Выберите форму сечения" ; key = "rc_S" ; } : - директива начинается с двоеточия; radio_column – ключевое слово директивы радиоколонки; Атрибуты: label = "Выберите форму сечения" ; - заголовок радиоколонки; key = "rc_S" ; - код поля, по которому к полю можно будет обратится из программ LISP.

См. Рис. 6.

Рис. 6. Директиву описания радиоколонки.

Радиокнопки.

Для круглого сечения:

: radio_button { label = "Круглый" ; key = "rb_K" ; value = "1" ; } : - директива начинается с двоеточия; radio_button – ключевое слово директивы радиокнопка; Атрибуты: label = "Круглый" ; - заголовок радиокнопки; key = "rb_K" ; - код поля, по которому к кнопке можно будет обратится из программ LISP; value = "1" ; - соответствует включенной радиокнопке (“0” – выключенной).

Для прямоугольного сечения:

: radio_button { label = "Прямоугольный" ; key = "rb_P" ; value = "0" ; } : - директива начинается с двоеточия; radio_button – ключевое слово директивы радиокнопка; Атрибуты: label = "Прямоугольный" ; - заголовок радиокнопки; key = "rb_Р" ; - код поля, по которому к полю можно будет обратится из программ LISP; value = "0" ; - соответствует выключенной радиокнопке (“1” – включенной). См. Рис. 7.

Рис. 7. Директивы описания радиокнопок.

Добавим следующие директивы:

Текстовое поле:

: text { value = ; key = "t1" ; } : - директива начинается с двоеточия; text – ключевое слово директивы текстовое поле; Атрибуты: value = "Введите расход и размер сечения" ; - начальное значение текстового поля; key = "t1" ; - код поля, по которому к полю можно будет обратится из программ LISP.

Редактируемое текстовое поле:

: edit_box { label = "Расход м3/ч:" ; key = "eb_L" ; edit_width =15 ; value = "150" ; } : - директива начинается с двоеточия; edit_box – ключевое слово директивы редактируемое текстовое поле; Атрибуты: label = "Расход м3/ч:" ; - заголовок редактируемого текстового поля; key = "eb_L" ; - код поля, по которому к полю можно будет обратится из программ LISP. edit_width =15 ; - ширина редактируемого текстового поля; value = "150" ; - начальное значение редактируемого текстового поля;

Раскрывающийся список:

: popup_list { label ="Сечение мм:" ; key ="pop1" ; list ="100" "\n125" ; edit_width =15 ; } : - директива начинается с двоеточия; popup_list – ключевое слово директивы раскрывающийся список; Атрибуты: label ="Сечение мм:" ; - заголовок раскрывающегося списка; key = "pop1" ; - код поля, по которому к полю можно будет обратится из программ LISP; list ="100" "\n125" ;- начальный список значение раскрывающегося списка; edit_width =15 ; - ширина раскрывающегося списка.

И снова редактируемое текстовое поле:

: edit_box { label = "Скорость м3/ч:" ; key = "eb_V" ; edit_width =15 ; value = "0" ; } : - директива начинается с двоеточия; edit_box – ключевое слово директивы редактируемое текстовое поле; Атрибуты: label = "Скорость м3/ч:" ; - заголовок редактируемого текстового поля; key = "eb_V" ; - код поля, по которому к полю можно будет обратится из программ LISP. edit_width =15 ; - ширина редактируемого текстового поля; value = "0" ; - начальное значение редактируемого текстового поля;

Рис. 8 . Директивы описание полей.

Директива пустой строки.

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

: spacer { height =1 ;} – директива вставки пустой строки. : - директива начинается с двоеточия; spacer – ключевое слово директивы пустая строка; height =1 ; - атрибут задает высоту пустой строки.

Рис. 9. Окончательный вариант программы.

В результате наше диалоговое окно создано. Осталось научиться запускать и управлять им из LISP программы. Как это делать мы рассмотрим в следующей статье:

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

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

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

Хотите получать информацию о выходе новых статей. Оформляйте подписку.

Рассказать друзьям