Команда mspace в автокаде как отключить

Обновлено: 07.07.2024

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

Вся геометрия рисунка содержится в макетах. Геометрия пространства модели содержится на на одном макете называемом Model . Его нельзя переименовать, но можно создать еще один. В одном рисунке может быть только одно пространство модели.
Геометрия пространства листа также содержится на макетах. Может быть много различных макетов пространства листа, каждый из которых представляет свою конфигурацию для печати.
В ActiveX-автоматизации объект ModelSpace содержит всю геометрию макета пространства модели. А т.к. пространств листов много, то объект PaperSpace указывает на последний активный.

Содержимое любого макета распределено между двумя различными объектами ActiveX Layout и Block . Объект Layout содержит настройки печати и визуальные свойства появляющиеся в интерфейсе пользователя. Объект Block содержит геометрию макета. Каждый объект Layout ассоциируется только с одним объектом Block . Для доступа к объекту используется свойство Block , а для доступа из блока к Layout используется соответствующее свойство блока. Объект PlotConfiguration подобен объекту Layout отличаясь тем, что не имеет связи с конкретным объектом Block , а является именованной коллекцией настроек плоттера.

Настройки макета управляют окончательной печатью. Они затрагивают - размер бумаги, масштаб вычерчивания, область вычерчивания, начало координат вычерчивания и устройство печати. Все настройки Layout доступны через его свойства и методы.

Для выбора размера бумаги и единиц следует обращаться к каноническому имени принтера, можно также указать единицы используя свойство PaperUnits , которое принимает одно из трех значений: acInches, acMillimeters, acPixels . Для установки начала координат плоттера есть свойство CenterPlot, (по умолчанию оно равно FALSE)

Чтобы задать область вычерчивания есть свойство PlotType , которое может принимать одно из следующих значений: acDisplay - печатать все содержимое пространства модели (недоступно при печати из пространства листа), acExtents - печатать все что находится внутри границ, acLimits - печатать все внутри пределов, acView - печатать видовой экран заданный ViewToPlot , acWindow - печатать содержимое выбранного методом SetWindowToPlot окна, acLayout - печатать содержимое в границах пространства листа (недоступно при печати из пространства модели).

Чтобы задать масштаб вычерчивания есть два метода - стандартный масштаб установив свойство UseStandardScale в значение TRUE, после чего задать значение свойства StandardScale . Более гибкий метод - ввод пользовательского масштаба через UseStandardScale = FALSE и далее методом SetCustomScale указываем нужный масштаб. Можно также использовать значение acScaleToFit свойства StandardScale для подгонки изображения под размер листа. Для управления масштабированием веса линий свойство ScaleLineweights следует установить = TRUE.

Имя устройства печати задается свойством ConfigName , если его не трогать то печать будет идти на устройство по-умолчанию.

ВИДОВЫЕ ЭКРАНЫ

Для одновременного отображения нескольких частей рисунка, в т.ч. в разных масштабах существуют видовые экраны (ViewPorts). Они могут быть как "впритык" друг к другу, так и плавающими. Рисовать примечания можно непосредственно в пространстве листа не затрагивая пространства модели. Нельзя редактировать модель из пространства листа. Для доступа к модели в объекте PViewport следует переключиться из пространства листа в пространство модели через свойство ActiveSpace . При работе в PViewport объекте возможности редактирования почти такие же как и в Viewport , однако в первом случае более удобна работа с отдельными видами. К примеру, можно заморозить или отключить слои на некоторых видовых экранах не затрагивая остальные. Можно включить и выключить весь видовой экран. Можно так же выравнивать виды по видовым экранам. При работе с объектом ViewPort свойство ActiveSpace должно быть установлено в acModelSpace . При работе с объектом PViewport свойство ActiveSpace можно установить как в значение acModelSpace так и в acPaperSpace , то есть переключаться по мере необходимости.
Тип видового экранаСостояниеПрименение
PViewportActiveSpace = acPaperspace Упорядочивание лэйаутов созданием плавающих видовых экранов, редактирование не затрагивает модель
PViewportActiveSpace = acModelspace Работа с плавающими видовыми экранами для редактирования модели
ViewportActiveSpace = acModelspace Разбивка экрана на пристыкованные блоки и редактирование модели
Свойство ActiveSpace меняет значение системной переменной TILEMODE .
Установка ThisDrawing.ActiveSpace = acModelSpace эквивалентна TILEMODE = on , и установка ThisDrawing.ActiveSpace = acPaperSpace эквивалентна TILEMODE = off .
Так же свойство MSpace является эквивалентом команд MSpace и PSpace . Установка ThisDrawing.MSpace = TRUE
то же самое что использование команды MSPACE , а установка ThisDrawing.MSpace = FALSE эквивалентна команде PSPACE то есть переключает в пространство листа. В дополнение к сказанному требуется использование метода Display перед установкой свойства MSpace = TRUE , т.к. он инициализирует определенные графические установки, которые должны быть установлены перед переключением в пространство модели. Однако в ActiveX автоматизации установку этих настроек возлагают на программиста. Запомните: следует включить display методом Display по крайней мере для одного объекта PViewport перед тем как устанавливать свойств MSpace = TRUE

ПЕРЕКЛЮЧЕНИЕ В ЛЭЙАУТЫ ПРОСТРАНСТВА ЛИСТА

Переключиться из пространства модели в последний активный лэйаут пространства листа можно так:
1. ThisDrawing.ActiveSpace = acPaperSpace
2. ThisDrawing.MSpace = FALSE .
Когда вы находитесь в пространстве листа автокад отображает иконку ПСК в нижнем левом углу графической области. Перекрестие указывает, что область пространства листа может быть редактирована. (не виды в видовых экранах)

ПЕРЕКЛЮЧЕНИЕ В ПРОСТРАНСТВО МОДЕЛИ

Из пространства листа можно переключаться в плавающие или закрепленные стык в стык видовые экраны пространства модели. Для переключения в плавающий видовой экран инициализируем дисплей ThisDrawing.ActivePViewport.Display=TRUE и переключаемся ThisDrawing.MSpace = TRUE . Для переключения к состыкованным видовым экранам нужно выполнить дополнительный шаг ThisDrawing.MSpace = TRUE

СОЗДАНИЕ ВИДОВЫХ ЭКРАНОВ ПРОСТРАНСТВА ЛИСТА

Видовые экраны пространства листа создаются методом AddPViewport . Метод требует указания центральной точки а также ширины и высоты. Перед применением метода следует установить пространство листа текущим, обычно TILEMODE = 0 .
После создания объекта PViewport можно устанавливать свойства Direction, LensLength, GridOn, Layer, Linetype, LinetypeScale .
Пример переключений между пространствами и создания плавающего видового экрана Порядок шагов в вышеприведенном коде очень важен! Для того чтобы менять значения свойств объекта Viewport метод Display д.б. отключен, а перед тем как делать видовой экран текущим метод Display включить.
Пример создания плавающего видового экрана. Использует предыдущий пример и устанавливает для четырех видовых экранов вид сверху, спереди, справа и изометрический соответствующим образом. Чтобы увидеть результаты следует создать сферу 3DSolid.

ИЗМЕНЕНИЕ ВИДА И СОДЕРЖИМОГО ВИДОВЫХ ЭКРАНОВ

Чтобы изменить вид объекта ViewPort надо находиться в пространстве модели и видовой экран должен быть активен. Для редактирования в плавающем видовом экране в пространстве модели сделайте видовой экран активным установкой свойства ActiveViewport следующим образом Thisdrawing.ActiveViewport = MyViewportObject и редактируйте. Можно также создавать объекты такие как примечания, размерности и др. в пространстве листа. Однако для этого следует установить ActiveSpace в состояние FALSE и включить пространство листа через свойство MSpace . Объекты создаваемые в пространстве листа только там и видны.

Масштабирование видов относительно пространства листа.

Перед печатью можно подобрать точный масштаб для каждой секции чертежа, (видового экрана). Масштабирование видов относительно пространства листа основывается на последовательном изменении масштаба каждого видового экрана. При работе в пространстве листа масштаб представляет собой отношение размера листа к реальному размеру вычерчиваемого объекта отображаемого в видовых экранах. Метод ZoomScaled , масштабирует видовые экраны относительно пространства листа. Он принимает три параметра: видовой экран, фактор масштабирования, и тип масштабирования. Третий параметр необязателен, он позволяет выбрать масштабирование относительно границ рисунка, относительно текущего вида, относительно единиц пространства листа ( acZoomScaledRelativePSpace ). Дробные значения фактора масштаба уменьшают изображение.

Масштабирование образцов типов линий в пространстве листа

В пространстве листа любой тип линий может масштабироваться двумя путями. Основываясь на единицах вычерчивания пространства в котором объект создавался или в универсальной форме основываясь на единицах пространства листа. Системная переменная PSLTSCALE позволяет содержать различные масштабы типов линий для объектов отображаемых в различных масштабах и в разных видовых экранах. Это так же затрагивает линии в 3D-видах.

Скрытие линий в видовых экранах

Если чертеж содежит трехмерные объекты, то можно убрать скрытые линии с заданного видового экрана перед тем как выводить на печать, для этого используется свойство RemoveHiddenLines для заданного видового экрана, которое принимает значение TRUE или FALSE. Для отмены вывода на печать скрытых линий видовых экранов пространства модели есть свойство PlotHidden объекта Layout .

ПЕЧАТЬ ЧЕРТЕЖЕЙ

Печатать чертеж можно в том виде в котором он представлен в пространстве модели или в виде подготовленном для печати через пространство листа. Печать из пространства модели часто предпочтительна когда хочется распечатать черновик для предварительного просмотра-проверки. Когда же модель готова можно печатать из пространства листа. Печать задействует два объекта ActiveX Layout и Plot первый содержит настройки печати для данного лэйаута, второй методы и свойства для запуска и отслеживания процесса печати.

ВЫПОЛНЕНИЕ БАЗОВЫХ ОПЕРАЦИЙ

Объектом Plot обладает следующими свойствами и методами: PlotToFile, PlotToDevice, DisplayPlotPreview, SetLayoutsToPlot, StartBatchMode, QuietErrorMode, NumberOfCopies, BatchPlotProgress (получить состояние или прервать печать). Метод SetLayoutsToPlot , следует вызывать перед каждым методом PlotToDevice и PlotToFile . В противном случае будет печататься активный лэйаут.
Если свойство NumberOfCopies не переустановлено, то будет использовано значение от предыдущего задания. Перед началом пакетной печати установите QuietErrorMode=TRUE , чтобы печать шла непрерывно. Далее метод StartBatchMode начинает печать.

ПЕЧАТЬ ИЗ ПРОСТРАНСТВА МОДЕЛИ

Обычно при печати больших чертежей указывается масштаб преобразования из единиц вычерчивания в единицы печати. Однако, при печати из пространства модели используются следующие умолчания: печать на системный принтер, текущего дисплея, масштабируется так чтобы полностью уместилось, вращение 0 и смещение 0, 0. Для изменения умолчаний - измени свойство объекта Layout ассоциированного с пространством модели. Пример печати границ активного лэйаута. Имя устройства печати задается с помощью ConfigName , но может быть переопределено методом PlotToDevice с указанием файла PC3

Более правильно: _.line.
Префикс "_." означает, что используется "настоящая", т.е. английская версия команды, а не переопределенная Пользователем.

А вообще, проблема связана скорее всего с путаницей в путях поддержки и как результат - с переопределением команд.

Попробуйте (для русского): Сервис -> Настройка -> вкладка Открытие/Сохранение -> Приложения ObjectARX -> список Подгрузка ObjectARX-приложений = Обнаружение объекта и вызов команды

на эти команды отзывается.
Не работают след. панели : размеры, объектная привязка, порядок прорисовки и еще несколько панелей

Установи системную переменную DEMANLOAD в 3 (в командной строке DEMANDLOAD). Перезапусти AutoCAD. Проверь на вирусы - было несколько аналогичных вирусов. Если не поможет - переустановка AutoCAD в режиме восстановления.

Попробуйте (для русского): Сервис -> Настройка -> вкладка Открытие/Сохранение -> Приложения ObjectARX -> список Подгрузка ObjectARX-приложений = Обнаружение объекта и вызов команды

это и стоит. ничего не помогает.
Думаю переставить заново Акад. Но не могу удалить его с компьютера. Через установочный диск - нет функции удаление. Через панель управления-установка удаление программ - нет Автокада там вообще.
Что можно еще попробовать

Установи системную переменную DEMANLOAD в 3 (в командной строке DEMANDLOAD). Перезапусти AutoCAD. Проверь на вирусы - было несколько аналогичных вирусов. Если не поможет - переустановка AutoCAD в режиме восстановления.

не помоагет. стоит в положении 3.
Через установочный диск - нет пункта восстановления

Думаю переставить заново Акад. Но не могу удалить его с компьютера. Через установочный диск - нет функции удаление. Через панель управления-установка удаление программ - нет Автокада там вообще. Что можно еще попробовать

Если хочешь удалить то в принципе можешь с компа папку с AutoCAD удалить а также соответствующую папку в пользовательской папке. Также в системном реестре поудалять ветви где встречается AutoCAD. В принципе для удаления это работает и потом нормально заново устанавливается без проблем. Но очень много мороки с удалением (особенно из реестра) Ну если другого ничего не помогает то я бы так и сделал (и делал так)

Также в системном реестре поудалять ветви где встречается AutoCAD

Лихо, конечно . Но в этой иррациональной ситуации может так и надо.
А для чистки реестра имеется множество инструментов, например, Vit RegistryFix.

это и стоит. ничего не помогает. Думаю переставить заново Акад. Но не могу удалить его с компьютера. Через установочный диск - нет функции удаление. Через панель управления-установка удаление программ - нет Автокада там вообще . Что можно еще попробовать

Этого быть не должно в принципе. Могу предположить, что запущен Autocad из пакета типа "Autocad Mechanical" или что-то подобное для строителей. В этом случае, если в Acad установлен профиль не VANILLA, то как раз и возникает аналогичная ситуация с переопределением команд.
Проверьте установленный профиль (Для Rus AutoCad из пакета Autocad Mechanical)путь: Сервис--Настройка--Профили.
Должен быть установлен профиль Vanilla

Первая часть этой статьи уже была опубликована на сайте под заголовком "В AutoCAD LT можно программировать". Когда статья писалась, последней была версия AutoCAD 2005. AutoCAD 2006 еще не получил широкого распространения. А между тем в новой версии появились значительные изменения, касающиеся разработки своих команд и создания собственного меню. В данной статье автор сделал попытку, оттолкнувшись от предыдущей публикации, продолжить тему, сделав упор на работу в диалоговом окне CUI и создание здесь собственного меню. Поэтому сейчас перед вами комбинированная статья, первая половина которой повторяет старую публикацию, а продолжение отражает изменения, произошедшие в новых версиях AutoCAD. В первой части даны макросы некоторых команд общего назначения и показаны принципы их создания и записи в диалоговые окна AutoCAD 2005 или более ранних версий. Во второй части показано, как создать свое меню в новых версиях, от AutoCAD 2006 и загрузить его командами, на примере некоторых команд из первой части.

Внимание! Все, что написано в 1-ой части (с упором на AutoCAD LT) может быть применено и в полной версии AutoCAD.

Часть 1

AutoCAD LT предназначен для выполнения плоских двухмерных чертежей и в этой области мало чем отличается от своего старшего брата - полной версии AutoCAD. Но это верно только если сравнивать "голый" AutoCAD, не нагруженный дополнительными программами. И вот здесь полная версия имеет неоспоримое преимущество, так как она поддерживает некоторые языки программирования, основным из которых является LISP. Можно не быть программистом, но использовать в своей работе многочисленные платные и бесплатные программы, которые значительно ускоряют и упрощают чертежную работу.

Но и AutoCAD LT не так безнадежен, как кажется на первый взгляд. В нем тоже можно программировать! Можно создать себе кучу полезных самодельных инструментов, каждый из которых выдаст комбинацию команд, наиболее часто встречающуюся в вашей работе. Можно даже заставить AutoCAD вычертить целую деталь в полуавтоматическом режиме. В Help AutoCAD есть такое понятие - Menu Macros. "The Macro defines the action to be executed when a user chooses the menu item" "Макрос определяет действие, которое исполняется, когда пользователь выбирает пункт меню". И пользователь может сам задать макрос.

Пусть наша первая новая команда за одно действие создаст копию готового текста, перенесет ее на новое место и там вызовет редактор текста. Но сначала надо создать кнопку, в которую мы заложим макрос, позволяющий выполнить указанные действия. Это можно сделать при открытом диалоговом окне Customize (Адаптация). Здесь, в поле, которое называется Macro associated with this button (Макрос для данной кнопки) напишите следующее выражение:


Это и есть макрос.
На рисунке показано диалоговое окно Customize с этим макросом.

Опрбуйте его.Для этого напишите строку любого текста, возьмите новую команду и укажите текст. Далее можно редактировать копию этого текста на новом месте и таким образом быстро получать новые тексты с готовыми настройками.

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

  • Макрос, позволяющий один за другим увеличить (или уменьшить) величину объектов при запросе объекта надо дважды щелкнуть по нему или захватить рамкой, и объект увеличится в два раза. Выход из команды по Esc. Если надо изменить величину масштабирования, цифра 2 оперативно заменяется на другую, это дело 3-5 секунд.
  • Макрос, позволяющий поворачивать объекты на заданный угол один за другим Угол здесь 90град, он заменяется на нужный
  • Макрос, изменяющий цвет атрибута блока Здесь показан цвет №2 то есть желтый, он меняется на нужный.
  • Макрос, изменяющий угол поворота атрибута.
    Впрочем попробуйте его создать самостоятельно, по аналогии с предыдущим.

Вы уже, наверное, догадались, что знак (;) это эквивалент Enter, а знак () означает ручной ввод данных. Знак (_) перед именем команды позволяет вводить команду на английском языке в локализованной (русской) версии, а знак (*) повторяет команду до бесконечности, пока не будет нажата клавиша Esc. Знаки ^C^C должны стоять почти всегда, они отчищают командную строку от остатков предыдущих действий. Регистр, то есть какие буквы используются - прописные или заглавные, значения не имеет.

Можно вставлять блоки как из данного чертежа, так и из библиотеки блоков, для этого используется команда _-Insert (с минусом). Комбинируя вставки блоков и различные команды рисования и редактирования, можно создать довольно сложные макросы для полуавтоматического вычерчивания отдельных фигур.

Все, что показано выше, можно назвать минипрограммами, написанными на языке Menu Macros. Но AutoCAD LT понимает и другой, вполне настоящий язык программирования, он называется DIESEL. Выражение DIESEL можно узнать по характерному знаку американского доллара $. В полной версии AutoCAD есть меню Express, а в нем команда Laycur, переводящая объекты в текущий слой (Layer). Вот аналог этой команды для AutoCAD LT:

вытаскивает имя текущего Layer, которое хранится в системной переменной Clayer . А следовательно, таким образом можно достать имя любой системной переменной и подставить ее - программно! - в нужное место макроса. Есть такие системные переменные, которые могут назначаться пользователем. Это Useri1-Useri5, Userr1-Userr5 и Users1-Users5. В первых пяти можно назначить и сохранить целые числа, во вторых пяти - вещественные числа, и в последней пятерке - текстовые строки. Если создать серию кнопок, и на одной написать

, то их можно использовать как кнопки задания масштаба 1:100, 1:50, 1:20 и так далее. Нажатие на такую кнопку назначит системной переменной Useri1 значение, например, 100, которое далее функцией Getvar можно вывести, например, при вставке блока, когда AutoCAD запросит масштаб по оси Х. При этом вставляемый блок увеличится в 100 раз относительно его библиотечной величины. Следовательно, в библиотеке блоков вместо серии блоков, предназначенных для разных масштабов, достаточно иметь всего один, расчитанный на масштаб 1:1. При помощи команды Modemacro и выражения DIESEL можно разместить в статусной строке сведения о состоянии некоторых системных переменных, например, отслеживать имя текущего текстового или размерного стиля. Кроме упомянутой выше функции Getvar у DIESEL есть еще 26 функций, при помощи которых можно создавать различные программы.

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

Кроме программных путей ускорения работы есть и другие способы, чисто чертежные, или комбинированные: макрос + специальный блок. Например, можно сделать так, чтобы вставляемый блок разрывал под собой линию. Или наоборот, не разрезая ее, скрывал участок линии своим телом. Подобные могли-бы в некоторых случаях значительно ускорить черчение.

Ищущий чертежник может так настроить свой AutoCAD, что работать станет несравненно легче и быстрее. В первую очередь следует правильно расположить панели инструментов. Затем надо составить алиасы (сокращение имен) наиболее употребимих команд и подобрать удобные сочетания горячих клавиш (Hot keys). Для новых кнопок следует создать собственное меню. Надо правильно подобрать и систематизировать свою библиотеку блоков и шаблонов. Надо читать специальную литературу и обязательно участвовать в форумах по AutoCAD, которые есть на интернете, вероятно, во всех странах.

Многим пользователям хотелось бы, чтобы текст размещался в специализированном слое без переключения в него. Другими словами, текущим должен оставаться тот рабочий слой, в котором в данный момент рисуются объекты. Но если понадобилось ввести текст, то последний автоматически попадал бы в предназначенный для него слой.
Будем считать; что слой с именем "Текст" в вашем чертеже уже создан. Таким образом, напрашиваются два пути решения задачи.

  • 1. Временно вызвать и сделать текущим слой "Текст"
  • 2. Напечатать нужный текст
  • 3. Вернуть прежний слой в качестве текущего
  • 1. Напечатать текст в текущем (рабочем) слое
  • 2. Перевести готовый текст в слой с именем "Текст"

Первый путь связан с запоминанием имени того (рабочего) слоя, который являлся текущим на момент, предшествующий вызову слоя "Текст". Эта задача легко решается в полной версии AutoCAD при помощи функции LISP Setq, которая может быть введена в макро. В AutoCAD LT, как известно; LISP не работает. Поэтому мы используем 2-ой путь, и результат будет таким же.
Что такое слой? Это одно из свойств объекта; такое же, как цвет или тип линии. Надо найти команду; которая бы изменяла свойства объекта с командной строки, без вызова диалогового окна. Имя нужной нам команды - CHANGE. (Изменить)

Примечание:
В AutoCAD много команд. Не все из них выведены на кнопки или в падающие меню. Даже в казалось бы, полном перечне команд, который можно увидеть в диалоговом окне Customize (см. вкладку Commands, пункт All Commands), перечислены далеко не все команды.
Составляя макросы, вы часто будете заглядывать в HELP. Постепенно вы узнаете много новых, ранее неизвестных команд и системных переменных.

Сейчас мы опробуем команду CHANGE. Предварительно создайте новый слой, имя которого "Текст", но не делайте его текущим. Пусть цвет слоя для объектов, размещенных в нем, будет отличным от цвета текущего слоя.
В текущем слое (любом другом) командой MTEXT напишите любое слово или предложение. (Как уже говорилось в первой части, если AutoCAD локализован, перед именем команды, если она вводится на английском языке, должен стоять знак подчеркивания. Впрочем; можно вводить команды и составлять макросы и на русском языке.)

тем самим мы даем понять AutoCAD, что хотим изменить последний, сделанный до ввода команды CHANGE, объект, то есть MTEXT.

Вводим опцию _Properties, или сокращенно, _P

Введение здесь второго Enter показывает AutoCAD, что больше никаких изменений не требуется.
Ваш текст приобрел новое свойство - его слой теперь "Текст"!!
После такой подготовительной работы несложно составить макро:

Здесь две обратные наклонные черты служат для задания окна редактора многострочного текста (вспомните первую часть-ручной ввод данных), остальные знаки - точки с запятой (заменяют Enter), имена команд и опций полностью соответствут порядку, в котором вручную выполнялась команда CHANGE.

Не правда-ли, это не кажется трудным? Надо сначала отработать последовательность выполнения команд вручную, с командной строки, одновременно ведя запись на бумаге, а затем точно переписать эту последовательность в соответствующее поле окна Customize. Но не все получается сразу. Попробуйте создать аналогичную команду для однострочного текста, и сразу появятся трудности. Для самостоятельной работы подскажу: вместо команды Dtext следует использовать команду -ТЕХТ (с минусом). Опять редкая команда, и работает необычно. Зато каждая строка при этом является самостоятельным, не связанным внутренними узами с другими строками объектом, и ее можно перевести в нужный слой прежде, чем будет написана следующая строка. И еще, не забудьте про звездочку в начале макроса, которая позволит работать команде строка за строкой.

Одной из самых привлекательных команд была-бы такая, которая сможет создавать размеры в специализированном слое. Давайте ее сделаем. Скопируйте на новую кнопку созданный выше макрос для многострочного текста. Замените _Мтехт на _Dimlinear и добавьте еще одну обратную косую черту (ведь для простановки линейного размера требуется трижды щелкнуть левой кнопкой мышки). Замените имя слоя на "Размеры"

Кнопка готова. Остается нарисовать на ней красивую картинку и определить в нужную панель.

Специальные символы, применяемые для записи макрокоманд

Часть 2
Меню CUI в версиях AutoCAD 2006 и последующих

В программе AutoCAD имеется два меню - ACAD и EXPRESS. Увидеть, что это так можно в диалоговом окне Customize User Interface (Настройка интерфейса пользователя), которое вызывается набором команды CUI на клавиатуре, либо кликом правой кнопки мыши по любой кнопке с последующим выбором пункта Customize (Адаптация). Выйдет окно, в корне отличающиеся от аналогичного окна версии 2005 и более ранних.. Хотя многие к этому окну уже привыкли, мало кто знает его возможности.
Итак, если открыть выпадающий список в левой верхней части, то можно увидеть здесь три строчки: Main CUI File (acad,cui), ACETmain.cui и Custom.cui. Первый является файлом меню AutoCAD. Второй это файл меню Express (Не все знают, что это меню изначально не принадлежало AutoCAD и по традиции существует отдельно). Есть еще Custom.cui, но это не меню а образец для подражания для тех, кто хочет создать свое собственное меню.
Большинство пользователей, которые умеют создавать свои кнопки, загружают их в меню ACAD. Это не совсем удобно, так как такие кнопки нельзя перенести на другой компьютер или на другую версию программы. Гораздо продуктивней создать свое собственное меню, чтобы не смешивать сделанные своими руками команды с командами AutoCAD. Собственное меню впоследствии легко перенести на другой компьютер или следующую версию AutoCAD. Если новые инструменты не предполагается выделять в собственное меню, а для их размещения использовать существующее меню ACAD.cui то необходимо произвести действия, начиная от пункта 5 главы "Создание меню".

Старые опытные пользователи, которые работали в версиях до 2006 и создавали там собственные меню, не испытывали особых сложностей с загрузкой своих наработок в новые версии, так как AutoCAD сам автоматически создает меню в формате *.cui из формата старых версий *.mns-mnu. То есть загрузив старое меню получаем новое. Может быть поэтому столь долго не было рекомендаций по созданию меню сразу в формате CUI: Старым и опытным это было не надо, а новые пользователи еще не созрели до создания своего меню. Кроме того, новое диалоговое окно Customize User Interface (Настройка интерфейса пользователя) стало значительно сложнее для понимания, несмотря на заверения некоторых авторов, что это окно и действия в нем интуитивно понятны. На интернетовских форумах нередки рекомендации - хранить старую версию AutoCAD, создавать в ней меню и затем загружать его в новый AutoCAD. Но что делать тем, кто начал изучать программу позже?
Здесь дана попытка разобрать по-полочкам все действия, связанные с созданием меню и размещения в нем собственных команд.

Первый шаг


Прежде всего следует запомнить конфигурацию своего рабочего пространства (Work Space). Это действие позволит застраховать ваш AutoCAD если в результате ошибочных действий собъется состав и местоположение панелей. Вызовите панель инструментов WorkSpaces (Рабочие пространства). В выпадающем списке выберите Save Current As и в появившемся окне задайте имя, например, MyWorkspace-1. Затем нажмите кнопку Workspace Setting, передвиньте строку с именем рабочего пространства наверх и в выпадающем списке выставьте это-же имя в качестве своего (MyWorkspace-1) фирменного рабочего пространства. Теперь при потере привычного вида экрана достаточно нажать на кнопку My Workspace (мое рабочее пространство), и внешний вид экрана восстановится.

Создание меню


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

  1. Команда CUI, или правой кнопкой мыши по любой кнопке и выбрать Customize (Адаптация), но в этом случае, если AutoCAD 2008, надо расширить окно, нажав соответственно на значки-расширители типа >>
    С некоторой задержкой появится диалоговое окно Customize User Interface (Настройка интерфейса пользователя), показанное на рисунке.
  2. Нажать на вкладку Transfer (Перевести).
    В правом поле внутренняя вкладка по-умолчанию раскрыта на New CUI File (новый файл адаптации). Следует сохранить этот пока пустой файл-болванку для последующей адаптации. Для этого жмем на кнопочку справа Save the current customization file (на ней нарисован сейф), либо на выпадающий список, выбрав Save As. Выбираем место (путь к файлу), где он будет отныне храниться и задаем файлу имя, например, Mymenu. (Выше было показано, что здесь имеется строка меню Custom.cui, на базе которого можно сделать свое меню, но мы воспользуемся опцией New CUI File. Ведь в общем случае могут иметь место несколько своих меню под разные задачи.
  3. Зайти на вкладку Customize (Адаптация). Здесь, в левом поле, следует загрузить этот файл нажатием на кнопочку с плюсиком. Где он лежит вы знаете из предыдущего пункта. (Кнопочка с плюсиком это аналог команды CUIload (ЗагрузкаCUI) или Menuload (Загрузкаменю), но здесь загрузка осуществляется не выходя из диалогового окна).
  4. Теперь будем создавать новые элементы меню на примере новой панели инструментов. Щелчок ПК в области строки Toolbars (Панели) вызывает контекстное меню, в котором следует выбрать New Toolbar (Новая панель) Ее появление тут-же отразится в дереве меню с приглашением переименовать строку Toolbar1 (Панель 1). Назовем ее MyToolbar1. Но панель пока пустая.
  5. Теперь наполним панель командами, причем в качестве базы используем команды, макросы которых описаны выше; в части 1.
    В нижнем левом поле вкладки Customize (Адаптация), которое называется Command List (Список команд) создаем новую команду, нажав на кнопку справа Create a new command (Создать), либо выбрав соответствующую строку из контекстного меню правой кнопки. В списке команд появится новая строчка Command1 (Команда1) которую сейчас или позже следует переименовать, задав ей логическое имя. Пусть она называется Copy-Edit. Из имени команды, следует, что команда (а точнее, комбинация команд) будет в одно действие копировать текст и сразу-же редактировать его. Как только появилась строка новой команды, видоизменилось правое поле диалогового окна, где раскрылась таблица свойств команды и появилась коллекция имеющихся в AutoCAD рисунков на кнопках.
  6. Вот здесь, в секции Properties (Свойства) и следует записать код команды, а также приготовить рисунок для ее кнопки.
    Первая строка - имя команды. Оно всплывет при наведении курсора на кнопку.
    Вторая строка - описание. Здесь в нескольких словах можно кратко рассказать, на что способна команда. Этот текст всплывет в Status line (статусная строка) с левой стороны в самом низу экрана AutoCAD при наведении курсора на кнопку. (Посмотрите, как это работает с любой существующей кнопкой ).
    Третья строка предназначена для собственно кода команды, или, по-другому, macro, макрокоманды. Если нажать на строку, в ней всплывет кнопочка с тремя точками. Она вызовет небольшое окно-редактор, в котором более удобно записать этот код. Запишем его, взяв из текста части 1


Таким образом можно создавать и отрабатывать новые команды и затем переносить их в меню CUI, либо оставлять на инструментальной палитре.

Владимир Свет
New York, май 2008

Внимание! Запрещается перепечатка данной статьи или ее части без согласования с автором. Если вы хотите разместить эту статью на своем сайте или издать в печатном виде, свяжитесь с автором.

alt

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

Ввод имен и псевдоимен команд AutoCAD вручную с клавиатуры - это один из приемов повышения скорости работы в программе. Этим способом можно вызвать любую быструю команду Автокад (видеоурок "Как пользоваться командной строкой в Автокаде")

Команды необязательно набирать непосредственно в самой командной строке. Их можно вводить прямо в области курсора. Если будет включен параметр "Динамический ввод", то команда начнет вводиться в области рядом с курсором.

Рис. 1 - Динамический ввод в Авткоаде

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

Некоторые команды имеют также альтернативные имена или псевдонимы команд AutoCAD. Т.е. при вызове команды из командной строки, вы можете вводить не полное имя, а лишь первые одну или несколько букв. Например, вместо того, чтобы полностью писать команду "Круг", можно набрать букву "К" на клавиатуре, а затем "Enter".

Рис. 2 - Ввод команд в Автокаде

Отмена выполнения команды происходит при нажатии на клавишу Esc. Завершение команды Автокад - клавиша "Enter". Повторное выполнение команды AutoCAD - клавиша "Enter", либо Пробел.

Чтобы начать быстрее работать в программе, советую запомнить для начала основные команды AutoCAD (АвтоКАД), а также псевдонимы. Справочник команд AutoCAD привожу ниже в виде таблицы.

Читайте также: