Как сделать кнопку в autocad
Как создать кнопку в AutoCAD 2011
Привет всем. Ребята, подскажите кто-нибудь пожалуйста, как создать кнопку в AutoCAD 2011. Заранее благодарю за помощь.
С уважением, rassom
Привет всем. Ребята, подскажите кто-нибудь пожалуйста, как создать кнопку в AutoCAD 2011. Заранее благодарю за помощь.
С уважением, rassom
Здравствуйте, уважаемые проектировщики! Родилась сегодня такая мысль: сделать несколько меню в автокаде.. как бы по порядку все изложить.. Представим, что есть несколько полилиний, изображающих бортовые камни, но сделаны они кем-то совсем не по Вашим канонам.. назначены им какие-то цвета, слои, толщины линий.. Вы выбираете в меню «бортовые камни» (назовем меню1) иконку «1ГП» и прощелкиваете нужные полилинии, эффект должен быть аналогичный «копировать свойства» от подходящей Вам полилинии. Т.е. он переносит плинию в нужный слой, задает ей нужные свойства. Далее Вы выбираете след. бортовой камень, прощелкиваете его, далее в меню, ну, назовем «штриховки», выбираем «проезжая часть тип1», прошелкиваем нужные контуры и неправильные штриховки, все штрихуется с нужными слоями и свойствами, далее будут еще всякие менюшки с нужными штуками. Еще хотелось бы реализовать: не рисуем полилинию, когда надо изобразить борт. камень, а будет меню аналогичное меню1, но с настроеными мультилиниями, т.е. вместо полилинии из меню «рисование», выбираем сразу иконку 1ГП в нужном меню и пошли рисовать мультилинию автоматически в нужном слое нужным цветом.. |
Для чего это нужно? Да, при хорошей сноровке можно достаточно быстро имеющимися в автокаде средствами пересадить в чертеж нужные тебе слои и распихать объекты по слоям, но далеко не у всех наших сотрудников есть такая сноровка, да и оформлять план было бы куда удобнее лично мне (может потому что идея моя). Еще гораздо удобнее было бы вводить единые КАД стандарты в организации.
Это начало, дальше есть куча усложений, которые опционально было бы ввести, и созревают они быстрее, чем я успеваю печатать: например, если кто-то рисовал элемент одной линией, а я делаю это двумя (пресловутые бордюры), то помимо задания свойств нужной полилинии, можно было бы указать ему сторону, в которую параллельно изобразить еще одну полилинию, еще можно, чтобы при изображении борт. камней малых радиусов, он автоматически проставлял размер, занесеный сразу в нужный слой))
Подскажите, с чего начать, да и вообще любые мнения по этому поводу))
Создание кнопки в AutoCad
LISP, C# (ACAD 200[9,12,13,14])
не знал об этом, исправлюсь
WeMaN, сделай поиск по форуму с ключевыми словами
LISP, C# (ACAD 200[9,12,13,14])
Command: _(CommandMFind LISP command is not available. |
Command: «*» Unknown command «»*»». Press F1 for help.
Command: «» Unknown command «»»». Press F1 for help.
Command: T TEXT
Current text style: «Standard» Text height: 2.5000 Annotative: No
Specify start point of text or [Justify/Style]: T
Ambiguous response, please clarify.
TLeft or TCenter or TRight?
Invalid option keyword.
TLeft or TCenter or TRight? *Cancel*
Command: (CommandMFind «*» «» T T T T T nil nil ) ; error: no function definition: COMMANDMFIND |
Command: (CommandMFind «*» «» T T T T T nil nil ) ; error: no function definition: COMMANDMFIND |
Это говорит о том, что функция CommandMFind не определена. Т.е., по-видимому, лисп просто не загружен.
Хотя с другой стороны, напрямую с ком. строки (CommandMFind «Один» «Два» T T T T T nil nil) вроде как работает.
Подскажите, как сделать кнопку на выполнение макроса (файл с расширением «.dvb»)
C лиспами у меня проблем не возникает, всё работает по принципу:
^C^C(if (= КОМАНДА nil)(Load(findfile «ИМЯФАЙЛА.lsp»)));КОМАНДА;
А вот как быть с макросом я не могу сообразить. Подскажите, кто знает
P.S
Сейчас макрос стоит в автозагрузке через команду _appload (Сервис/Приложения/Автозагрузка)
Подгружаю через команду _vbarun (Сервис/Макросы/Выполнить)
Хочется все это дело посадить на кнопку
Урок 3. Создание кнопки для программы LISP.
На этом уроке мы научимся создавать кнопки для запуска своих программ, написанных на языке LISP. И рассмотрим мы это на примере программы “mp_kub”, созданной в предыдущем уроке: Пример простой программы на LISP.
Весь интерфейс программы Автокад, включающий в себя режимы рабочего пространства, ленту, панели инструментов, меню и т. д., храниться в стандартном файле адаптации acad.cuix. В Автокаде есть широкие возможности по изменению и настройки интерфейса под свои конкретные задачи. Все изменения, внесенные пользователем, сохраняются в основном файле адаптации и остаются неизменными при последующих запусках Автокад.
Кроме основного файла адаптации, Автокад позволяет загружать файлы частичной адаптации, в которых так же присутствуют лента, панели инструментов, меню и т. д. Файлы частичной адаптации позволяют нам переносить с одно компьютера на другой на другой не весь интерфейс, а только его часть.
И так в этом уроки мы рассмотрим следующее:
Создание файла частичной адаптации.
Отрываем AutoCAD, на главном меню выбираем вкладку «Управление» и щелкаем на пункте «Пользовательский интерфейс»
Откроется окно «Адаптация пользовательского интерфейса».
Переходим на вкладку «Перевести» и щелкаем на кнопке «Создать новый файл адаптации»
Находим папку «MyLisp», в поле «Имя файла» вводим «mp_panel» и нажимаем «Сохранить».
Переходим на вкладку «Адаптация» и нажимаем на кнопку «Загрузить файл частичной адаптации».
Находим папку MyLisp, выделяем файл «mp_panel» и нажимаем «Открыть».
AutoCAD загрузит новый файл частичной адаптации MP_PANEL (mp_panel.cuix).
Создание новой панели инструментов.
Щелкаем правой кнопкой мыши на пункте «Панели» и левой на «Новая панель инструментов».
Переименовываем вновь созданную панель на “mp_panel“ и нажимаем «Применить».
В рабочем окне появится новая панель (если вдруг вы ее не видите, значит она у вас сейчас находиться под окном «Адаптация пользовательского интерфейса»).
Создание кнопки.
Щелкаем по кнопке «Создание новой команды» ( выделена синим ).
В списке команд появится «Команда1». Выделите ее.
Справа в поле «Имя» напишите «Куб». В поле «макросы» — « ^C^C_mp_kub ». Вверху в поле «Значок» выберите подходящий значок для кнопки и нажимаем изменить.
Откроется окно «Редактор кнопок». В редакторе кнопок ставим галочку в поле «Cетка». Немного изменяем изображение кнопки (Мы можем полностью с нуля нарисовать изображение кнопки, предварительно нажав на кнопку очистить). Нажимаем сохранить.
Присваиваем новое имя (я дал имя mp_kub) и нажимаем «ОК».
При переносе нашей панели на другие компьютеры нам понадобиться переносит и файлы изображений кнопок. Поэтому давайте сохраним изображение нашей кнопки в папке «MyLisp». Для этого нажимаем на кнопку «Экспорт…».
Находим папку «MyLisp», в поле «Имя файла» вводим «mp_kup» и нажимаем «Сохранить». Далее закрываем Редактор кнопок.
Спускаемся в самый низ изображения кнопок и щелкаем по вновь созданному изображению кнопки.
Теперь в верхнем левом окне находим «mp_panel». В нижнем левом команду «Куб». Нажимаем на команду «Куб» и не отпуская мыши тащим ее на «mp_panel» и только там отпускаем кнопку мыши.
Если получилось, это будет выглядеть так:
Нажимаем «Применить» и наша кнопка появится на панели.
Добавляем нашу панель в ленту.
Нажимаем на плюсик напротив строки с надписью «Лента». Плюсик превратится в минус, «Лента» раскроется. Далее указатель мыши ставим на «mp_panel», нажимаем левую кнопку мыши и не отпуская тащим ее на строку «Панели» (справа от надписи должен появится треугольничек), и только там отпускаем.
Появится сообщение, в котором нажимаем на кнопку «Да»
Под строкой «Панели» появится строка «mp_panel».
Далее щелкаем правой кнопкой мыши на строке «Вкладки», и левой на «Новая вкладка»
Под строкой «Вкладки» появится строка «Новая вкладка». Переименуем ее в «New».
Указатель мыши ставим на «mp_panel», нажимаем левую кнопку мыши и не отпуская тащим ее на строку «New» (пока не появится треугольничек), и только там отпускаем.
Под строкой «New» появится строка «mp_panel».
Затем щелкаем на стрелке выделенной зеленым и выбираем «Все файлы адаптации»
Выделяем «Рисование и аннотации» и щелкаем на кнопку «Адаптация рабочего пространства».
Далее щелкаем на плюсике возле «Файлы частичной адаптации», затем на плюсиках возле «MP_PANEL» и «Лента» и ставим галочку в квадратике напротив «Вкладки» ( выделен красным )
Справа в поле «Содержимое рабочего пространства», в самом низу, появится строка «New (группа: MP_PANEL)». Нажимаем на кнопку «Готово». Далее на кнопки «Применить» и «ОК».
На главном меню появится новая вкладка «New». Щелкните по ней.
Поставьте указатель мышки на панель, нажмите левую кнопку мыши и не отпуская перетащите панель в более удобное место.
Теперь, чтобы запустить вашу программу, вам не нужно вводить ее имя в командной строке. Достаточно нажать на любую из этих кнопок.
Панель я оставил видимой, для тех пользователей, кто привык работать в режиме «Классический AutoCAD» (там нет ленты).
Если после нажатия на кнопку в командной строке у вас появилась надпись «Неизвестная команда»
Возвращаемся в Автокад, щелкаем по кнопке. Теперь она должна работать.
В ближайших уроках мы рассмотрим, как сделать так, чтобы программы автоматически загружались в Автокад и еще много чего интересного.
И так, в этой уроке мы научились:
Создать свой файл частичной адаптации;
Добавлять новые панели инструментов;
Создавать кнопки для новых команд;
Прописывать команды в кнопку;
Создавать новое изображение кнопки.
Размещать кнопку на панели.
Создавать новую вкладку на ленте и загружать в нее панель.
Пишите в комментариях: все ли у вас получилось?; трудно ли было выполнить этот урок?; где у вас возникли трудности? Я с удовольствием отвечу на ваши комментарии.
Если вы хотите получать новости с моего сайта. Оформляйте подписку.
Примеры создания своих команд и меню в AutoCAD
Первая часть этой статьи уже была опубликована на сайте под заголовком «В AutoCAD LT можно программировать». Когда статья писалась, последней была версия AutoCAD 2005. AutoCAD 2006 еще не получил широкого распространения. А между тем в новой версии появились значительные изменения, касающиеся разработки своих команд и создания собственного меню. В данной статье автор сделал попытку, оттолкнувшись от предыдущей публикации, продолжить тему, сделав упор на работу в диалоговом окне CUI и создание здесь собственного меню. Поэтому сейчас перед вами комбинированная статья, первая половина которой повторяет старую публикацию, а продолжение отражает изменения, произошедшие в новых версиях AutoCAD. В первой части даны макросы некоторых команд общего назначения и показаны принципы их создания и записи в диалоговые окна AutoCAD 2005 или более ранних версий. Во второй части показано, как создать свое меню в новых версиях, от AutoCAD 2006 и загрузить его командами, на примере некоторых команд из первой части.
Внимание! Все, что написано в 1-ой части (с упором на AutoCAD LT) может быть применено и в полной версии AutoCAD.
Часть 1
(Опубликовано в журнале AUTOCAD MAGAZIN № 4/05, Германия. перевод Dr. Heinz-Joachim Schulc)
Пусть наша первая новая команда за одно действие создаст копию готового текста, перенесет ее на новое место и там вызовет редактор текста. Но сначала надо создать кнопку, в которую мы заложим макрос, позволяющий выполнить указанные действия. Это можно сделать при открытом диалоговом окне Customize (Адаптация). Здесь, в поле, которое называется Macro associated with this button (Макрос для данной кнопки) напишите следующее выражение:
Это и есть макрос.
На рисунке показано диалоговое окно Customize с этим макросом.
Опрбуйте его.Для этого напишите строку любого текста, возьмите новую команду и укажите текст. Далее можно редактировать копию этого текста на новом месте и таким образом быстро получать новые тексты с готовыми настройками.
Можно написать множество макросов, которые значительно облегчат и ускорят рутинную работу. Вот несколько примеров:
Можно вставлять блоки как из данного чертежа, так и из библиотеки блоков, для этого используется команда _-Insert (с минусом). Комбинируя вставки блоков и различные команды рисования и редактирования, можно создать довольно сложные макросы для полуавтоматического вычерчивания отдельных фигур.
, то их можно использовать как кнопки задания масштаба 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, которые есть на интернете, вероятно, во всех странах.
Многим пользователям хотелось бы, чтобы текст размещался в специализированном слое без переключения в него. Другими словами, текущим должен оставаться тот рабочий слой, в котором в данный момент рисуются объекты. Но если понадобилось ввести текст, то последний автоматически попадал бы в предназначенный для него слой.
Будем считать; что слой с именем «Текст» в вашем чертеже уже создан. Таким образом, напрашиваются два пути решения задачи.
Примечание:
В AutoCAD много команд. Не все из них выведены на кнопки или в падающие меню. Даже в казалось бы, полном перечне команд, который можно увидеть в диалоговом окне Customize (см. вкладку Commands, пункт All Commands), перечислены далеко не все команды.
Составляя макросы, вы часто будете заглядывать в HELP. Постепенно вы узнаете много новых, ранее неизвестных команд и системных переменных.
Сейчас мы опробуем команду CHANGE. Предварительно создайте новый слой, имя которого «Текст», но не делайте его текущим. Пусть цвет слоя для объектов, размещенных в нем, будет отличным от цвета текущего слоя.
В текущем слое (любом другом) командой MTEXT напишите любое слово или предложение. (Как уже говорилось в первой части, если AutoCAD локализован, перед именем команды, если она вводится на английском языке, должен стоять знак подчеркивания. Впрочем; можно вводить команды и составлять макросы и на русском языке.)
тем самим мы даем понять AutoCAD, что хотим изменить последний, сделанный до ввода команды CHANGE, объект, то есть MTEXT.
Вводим опцию _Properties, или сокращенно, _P
Одной из самых привлекательных команд была-бы такая, которая сможет создавать размеры в специализированном слое. Давайте ее сделаем. Скопируйте на новую кнопку созданный выше макрос для многострочного текста. Замените _Мтехт на _Dimlinear и добавьте еще одну обратную косую черту (ведь для простановки линейного размера требуется трижды щелкнуть левой кнопкой мышки). Замените имя слоя на «Размеры»
Кнопка готова. Остается нарисовать на ней красивую картинку и определить в нужную панель.
Специальные символы, применяемые для записи макрокоманд
Часть 2
Меню CUI в версиях AutoCAD 2006 и последующих
Первый шаг
Прежде всего следует запомнить конфигурацию своего рабочего пространства (Work Space). Это действие позволит застраховать ваш AutoCAD если в результате ошибочных действий собъется состав и местоположение панелей. Вызовите панель инструментов WorkSpaces (Рабочие пространства). В выпадающем списке выберите Save Current As и в появившемся окне задайте имя, например, MyWorkspace-1. Затем нажмите кнопку Workspace Setting, передвиньте строку с именем рабочего пространства наверх и в выпадающем списке выставьте это-же имя в качестве своего (MyWorkspace-1) фирменного рабочего пространства. Теперь при потере привычного вида экрана достаточно нажать на кнопку My Workspace (мое рабочее пространство), и внешний вид экрана восстановится.
Создание меню
В первых четырех пунктах проделаем подготовительную работу, создадим базу нового будущего меню.
Заменить цифру цвета (2) на необходимую в диалоговом окне CUI не очень удобно из-за длительного времени его открытия и закрытия. Такого рода макросы лучше распологать в Tool Palettes (инструменральные палитры). Доступ к макросу здесь чрезвычайно простой: правая кнопка по имиджу команды и вызов свойств. Очень кратко, в паре фраз, команда на инструментальныю палитру загружается так (вернее, это один из способов): откройте новую палитру и скопируйте в нее (через clipboard) любой отрезок. Образуется серия команд из панели инструментов Draw (Чертить). Надо теперь отредактировать ряд строк в окне Properties (свойства). Замените в строке Use flyout (используй вылетающие (перевод может быть не точным)) Yes На No. Замените макрос команды Line (отрезок) на вышеприведенный замены цвета атрибута. Остальные строки замените по необходимости. Замените рисунок, выбрав его из своей коллекции, путь к которой должен быть вам известен, см п.№8 выше.
Таким образом можно создавать и отрабатывать новые команды и затем переносить их в меню CUI, либо оставлять на инструментальной палитре.
Владимир Свет
New York, май 2008
Внимание! Запрещается перепечатка данной статьи или ее части без согласования с автором. Если вы хотите разместить эту статью на своем сайте или издать в печатном виде, свяжитесь с автором.