Вопрос по макросу
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Вопрос по макросу

Вопрос по макросу

Ответ
Поиск в этой теме
Непрочитано 06.07.2006, 12:17 #1
Вопрос по макросу
ignor
 
Регистрация: 06.07.2006
Сообщений: 85

Почитал полезную тему по тюнингу Автокада, есть много полезного.
НО.
Мне, как человеку неопытному, непонятно как использовать, например, макрос - ^C^C_f;_R;0.0;_F и т.п.
Если несложно, объясните, пожалуйста.
Самому разобраться не получается.
Спасибо.
Просмотров: 7035
 
Непрочитано 06.07.2006, 12:54
#2
AY

webcad.pro
 
Регистрация: 06.01.2005
Московская обл.
Сообщений: 501


Так называемые макросы или макрокоманды присваиваются иконкам (кнопкам) панелей инструментов или пунктам выпадающего меню. Эти иконки и пункты, как правило создаются (добавляются) пользователем под свои макрокоманды.

Если есть желание разбираться - могу подсказать, что очень хвалят книгу "AutoCAD: язык макрокоманд и создание кнопок" автор В. Свет (кстати постоянный участник данной конференции).
AY вне форума  
 
Непрочитано 06.07.2006, 12:56
#3
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Здесь имеется в виду сопряжение двух объектов (отрезков). Отрезки должны быть нарисованы заранее.
_f - это сокращенная запись (алиас, псевдоним) команды "_fillet" ("сопряжение").
_R;0.0 - опция команды, задающая радиус сопряжения равный 0.
Для сопряжения надо выбрать объекты. Здесь для выбора объектов используется опция _F - _Fence т.е, линия, пересекающая объекты.
Символ ; (точка с запятой) соответствует нажатию клавиши Enter.
Profan вне форума  
 
Непрочитано 06.07.2006, 13:07
#4
AY

webcad.pro
 
Регистрация: 06.01.2005
Московская обл.
Сообщений: 501


Немного поправлю Profan'а: _F - это вовсе не Fence, а повторный вызов команды fillet т.к. первый использовался для установки радиуса в ноль.
AY вне форума  
 
Автор темы   Непрочитано 06.07.2006, 13:10
#5
ignor


 
Регистрация: 06.07.2006
Сообщений: 85


Если честно, подробно изучать макросы нет ни времени, ни желания и проиобретать книги тоже.
Тут достаточно информации, если хорошо поискать.

Не могли бы вы объяснить, куда мне вставлять макрос ^C^C *******?
В командную строку? В макрос (Alt+F8)? И еще куда ?? :shock:
ignor вне форума  
 
Непрочитано 06.07.2006, 13:14
#6
AY

webcad.pro
 
Регистрация: 06.01.2005
Московская обл.
Сообщений: 501


Надо писать какая версия Autocad используется ибо есть существенные отличия в интерфейсе разных версий.
AY вне форума  
 
Автор темы   Непрочитано 06.07.2006, 13:19
#7
ignor


 
Регистрация: 06.07.2006
Сообщений: 85


AutoCAD 2006 Версия 22.2.77.0
ignor вне форума  
 
Непрочитано 06.07.2006, 13:31
#8
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Для AY.
Да, наверное, это так. Я проверял пошагово, но в русской версии алиас _f не срабатывает. Сам макрос может быть таким:
Код:
[Выделить все]
^C^C_fillet;_R;0.0;;
т.е. без повторного _fillet.
Или таким:
Код:
[Выделить все]
^C^C_fillet;_R;0.0;;_fence
Тогда вместо указания двух отрезком можно будет провести линию, пересекающую эти отрезки.
Profan вне форума  
 
Непрочитано 06.07.2006, 15:55
#9
AY

webcad.pro
 
Регистрация: 06.01.2005
Московская обл.
Сообщений: 501


>ignor

Вот последовательность действий для 2006 Acada по созданию своей
панели инструментов со своей кнопкой.

1. Командой CUI вызываем окно настройки итерфейса
(а именно закладку Costomize).
2. Для создания новой команды (неудачный термин
поскольку командами принято называть то что набирается в
командной строке) нажимаем кнопку New в разделе Command list.
После чего в списке команд появляется "пустышка" новой команды
с именем Command1.
3. После создания команды (при выделении ее в списке)
справа появляется окно свойств данной команды в котором
присутствует строка "Macro". В этой строке записывается
приготовленная макрокоманда. Чуть выше если необходимо
можно создать иконку для команды.
4. В левом верхнем разделе Costamatizations in ALL CUI Files
по правому клику на пункте Toolbars создаем новый Toolbar.
По умолчанию ему присваивается имя Toolbar1.
5. Из зоны Command list мышью претаскиваем созданную ранее
команду на новую панель инструментов Toolbar1.
6. Нажимаем ОК. На экране должна появиться новая панель
инструментов с одной иконкой в виде вопросительного знака
если вы не создали для своей команды своей картинки.
Если панель не появилась можно попрововать отобразить ее выбрав
в списке появляющемся по правому клику на любой из панелей
инструментов. Далее, кликнув на кнопке панели, проверяем
работоспособность написанной макрокоманды и при необходимости
исправляем.

На прикрпленной картинке показаны пронумерованные действия.
[ATTACH]1152186847.gif[/ATTACH]
AY вне форума  
 
Автор темы   Непрочитано 06.07.2006, 16:36
#10
ignor


 
Регистрация: 06.07.2006
Сообщений: 85


>AY

Огромное спасибо. Век не забуду.
ignor вне форума  
 
Непрочитано 25.10.2006, 19:32
#11
bimari

проектирование дорог
 
Регистрация: 18.10.2006
Riga
Сообщений: 25


и мне пригодилось! Спасибо!
bimari вне форума  
 
Непрочитано 19.11.2007, 15:21
#12
ВладимирН

проектирование жилых и общественных зданий
 
Регистрация: 16.08.2007
Новороссийск
Сообщений: 54


А подскажите пож.л-д
Как можно "Панель инструментов" из АCad-2004 в-2006 перетащить?
ВладимирН вне форума  
 
Непрочитано 19.11.2007, 15:42
#13
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


В адаптации слева - текущий CUI, справа - Открыть файл меню типа MNU или MNS и мышью перетащить то, что нужно, слева направо.
Profan вне форума  
 
Непрочитано 19.11.2007, 15:56
#14
ВладимирН

проектирование жилых и общественных зданий
 
Регистрация: 16.08.2007
Новороссийск
Сообщений: 54


справа надо ккакойто А-2004 открыть?
ВладимирН вне форума  
 
Непрочитано 19.11.2007, 16:09
#15
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Ну, да. Надо найти файлы меню в папке "Support" AutoCAD 2004. Искать ее надо в папке "Documents and Settings".
Profan вне форума  
 
Непрочитано 19.11.2007, 16:23
#16
ВладимирН

проектирование жилых и общественных зданий
 
Регистрация: 16.08.2007
Новороссийск
Сообщений: 54


Support нашел а дальше?????????
У меня панельки назывались:лев, прав.
По-полету мысли: надо найти "ФАЙЛЫ АДАПТАЦИИ" с такими именами?
ВладимирН вне форума  
 
Непрочитано 19.11.2007, 16:27
#17
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


В AutoCAD 2004 не файлы адаптации, а файлы меню с расширениями .mnu и .mns. Вот их и надо искать. А в них уже искать свои панельки.
Profan вне форума  
 
Непрочитано 19.11.2007, 16:59
#18
ВладимирН

проектирование жилых и общественных зданий
 
Регистрация: 16.08.2007
Новороссийск
Сообщений: 54


Всеравнонепонял быстрее заново панели сделал
пасиба за участие
ВладимирН вне форума  
 
Непрочитано 19.11.2007, 19:58
#19
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Перетащить панели - 2 минуты.
Profan вне форума  
 
Непрочитано 19.11.2007, 22:37
#20
Зодчий

Конструктор (начинающий)
 
Регистрация: 25.01.2007
Беларусь, Гродно
Сообщений: 44


Хочется задать вопрос немного не в тему, но близок по духу беседы:
Исторически сложилось так, что я черчу в модели и мучаюсь с маштабами размеров. У меня их в каждом файле около 5, да и люблю пользоватся цветными слоями. Так вот вопрос:
Как сохранить созданные стили размеров и слои и передать их все в новый чистенький документ ?
Зарание спосибо .
Зодчий вне форума  
 
Непрочитано 19.11.2007, 22:54
#21
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431


шаблоны ?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.11.2007, 02:35
#22
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


или дизайнцентр(ctrl+2). Открываешь чистенький файл, ctrl+2, указываешь путь к файлу с настройками и перетаскиваешь те что нужны в новом
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 20.11.2007, 08:17
#23
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431


Ага, тогда до кучи и dws давайте вспомним
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.11.2007, 08:30
#24
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Цитата:
Сообщение от wetr Посмотреть сообщение
или дизайнцентр(ctrl+2). Открываешь чистенький файл, ctrl+2, указываешь путь к файлу с настройками и перетаскиваешь те что нужны в новом
Всё таки шаблон удобнее. Открываешь файл, а там всё нужное уже есть.
Valery Brelovsky вне форума  
 
Непрочитано 13.12.2007, 04:35
#25
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Вопрос к знатокам макросов. Можно ли наваять такой макрос чтобы закрывал все чертежи(и AutoCAD) с сохранением всех изменений. А то задолбался закрывать по 5 окон каждый день и нажимать "да"
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 13.12.2007, 07:30
#26
ie.spb

Инженер
 
Регистрация: 21.08.2007
Сообщений: 598
<phrase 1=


Попробуй перед закрытием ctrl+s, заменяет "Да".
__________________
Склероз нельзя вылечить, но о нем можно забыть.
(Ф. Раневская)
ie.spb на форуме  
 
Непрочитано 13.12.2007, 08:06
#27
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Да разве можно не глядя закрывать чертежи с сохранениям? Абы какой вид и абы какой зум? Обычно также смотрят, когда был сохранен чертеж, или кем (если в вашей сети это видно). Это может быть важно в смысле найти виновного в несанкционированных изменениях. Лучше 2 раза сохранить, чем потерять работу.
Vova вне форума  
 
Непрочитано 13.12.2007, 08:26
#28
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от Vova Посмотреть сообщение
Да разве можно не глядя закрывать чертежи с сохранениям? Абы какой вид и абы какой зум? Обычно также смотрят, когда был сохранен чертеж, или кем (если в вашей сети это видно). Это может быть важно в смысле найти виновного в несанкционированных изменениях. Лучше 2 раза сохранить, чем потерять работу.
На вид и зум мне как-то все равно. А насчет когда сохранен чертеж - у меня решается по другому: каждый день я сохраняю файл с новым именем, типа 2007.12.13_ИМЯ ПРОЕКТА_.dwg. И так каждый день. Только не надо кидаться камнями... Привык я так.
Вам, Владимир, возможно и не нужен такой макрос, а мне нужен. Я ж не заставляю вас им пользоваться (если он появиться).
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 13.12.2007, 09:10
#29
ASLYS

Delineante
 
Регистрация: 26.12.2006
Ростов-на-Дону/Madrid
Сообщений: 396
<phrase 1=


установи DocBar, на форуме выкладывали-удобная штука
ASLYS вне форума  
 
Непрочитано 13.12.2007, 09:19
#30
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Для wetr.
Если ты найдешь на этом форуме программу "DocBar" и установишь ее, то в контекстном меню окошка программы увидишь пункты "Save and Close All" и "Exit, Save All". Единственное требование - чтобы файлы были уже раньше сохранены (для нового файла появится запрос об имени и месте сохранения).
ASLYS слегка опередил.
Profan вне форума  
 
Непрочитано 13.12.2007, 09:56
#31
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Кстати, в Express Tools есть команда "Saveall" (Меню "Express->File Tools->Save All Drawings"). Есть также команда "Closeall". Но почему-то в AutoCAD 2005 она работает, а в AutoCAD 2006, 2008 - нет.
Profan вне форума  
 
Непрочитано 13.12.2007, 10:07
#32
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


ASLYS, Profan, спасибо. Получил больше чем хотел. Прога супер!!! Скачал с сайта новую с поддержкой 2008. Все подошло, работает!
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 03.06.2008, 09:26
#33
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Пытался разобраться с макросами. В статье от Vova (http://dwg.ru/art/2) замечательно написано. Мне кажется любой поймет - было бы время прочитать. Вот и я прочел, наконец. Попробовал - получилось. Но вот возникла проблемка:
макрос из статьи ^C^C_Mtext;\\_Change;_Last;;_P;_La;Text;;
На кнопке все замечательно работает. Но я то привык пользоваться повтором последней команды... А тут последняя команда _change получается...
Как из этой ситуации выйти?
В Статье В. Свет описывает 2 пути решения этого вопроса. Каким образом будет выглядеть макрос варианта 1?

Цитирую:
"Первый путь:
1. Временно вызвать и сделать текущим слой "Текст"
2. Напечатать нужный текст
3. Вернуть прежний слой в качестве текущего"
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 03.06.2008, 09:29
#34
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Кстати, если проставлять размеры и т.п. с Tool paletts, то слой по повтору команды тоже не сохраняется.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 03.06.2008, 10:20
#35
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Чтобы пользоваться повтором последней команды, я все макросы (для которых это актуально) оформляю в такую оболочку:
^C^C(defun C:M-Command () (command <нужный макрос в синтаксисе лиспа>));M-Command

Для твоего случая получится так:
Код:
[Выделить все]
^C^C(defun C:M-Command () (command "_.MTEXT" pause pause "_.CHANGE" "_Last" "" "_P" "_La" "Text" ""));M-Command
Makswell вне форума  
 
Непрочитано 03.06.2008, 10:35
#36
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Не выходит каменная чаша.

Код:
[Выделить все]
Command: M-Command _.MTEXT Current text style:  "GOST 2.304"  Text height:  
14.6774  Annotative:  No
Specify first corner:
Specify opposite corner or [Height/Justify/Line 
spacing/Rotation/Style/Width/Columns]:
MText: _.CHANGE
MText: _Last
MText:

Command: _P Unknown command "P".  Press F1 for help.

Command: _La Unknown command "LA".  Press F1 for help.

Command: Text
Current text style:  "GOST 2.304"  Text height:  14.6774  Annotative:  No
Specify start point of text or [Justify/Style]:
Enter text: nil

Enter text: 41
Миниатюры
Нажмите на изображение для увеличения
Название: Capture.jpg
Просмотров: 66
Размер:	25.0 Кб
ID:	7084  
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 03.06.2008, 11:20
#37
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Да уж. Написал не проверив. Действительно так работать не будет. Дело в том, что лисповая функция command вызывает команду _.MTEXT как _.-MTEXT, т.е. с диалогом в ком. строке. А там уже другие правила. Так что в данном конкретном случае мой совет неприемлем. Это, скажем так, исключение из правил.
Сорри, что ввёл в заблуждение.
Makswell вне форума  
 
Непрочитано 05.06.2008, 11:00
#38
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Что же получается нет решения? Тогда какой смысл в таком макросе, если он не срабатывает по повтору последней комманды...
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 05.06.2008, 11:05
#39
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Слой прописанный на палитре срабатывает при повторе (у меня во всяком случае..).
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 05.06.2008, 16:59
#40
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от wetr Посмотреть сообщение
Что же получается нет решения? Тогда какой смысл в таком макросе, если он не срабатывает по повтору последней комманды...
Весь кнопочный макрос срабатывает через меню правпй кнопки. Если команду посадить на палету, то см предыд. пост
Vova вне форума  
 
Непрочитано 06.06.2008, 02:30
#41
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Krieger, у меня не срабатывает по правой кнопке мыши (у меня стоит повтор посл. комманды) по ентер и по пробелу. Рисует текст в текущем слое. ACAD 2009
Vova, понятно. Но у меня меню отключено. Я пользуюсь повтором посл. ком. Срабатывает _change. Как быть в такой ситуации?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 06.06.2008, 06:12
#42
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


1. Перейти на AutoCAD2008 с нормальными палитрами.
2. Ждать сирвиспака на AutoCAD2009 и надеяться что там будет исправлен сей баг.
3. Пользоваться контекстным меню. Короткий клик правой кнопкой мыши повторяет/завершает команду, продолжительный вызывает контекстное меню. Посмотри в настройках - есть такая фишка.
4. Написать лисп, который делает текст в соответсвующем слое. Сначала создаем текст с нужными настройками, а потом последним действием включаем его редактирование.
5. Создать реактор на ввод команды MTEXT.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 12.11.2008, 05:55
#43
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от wetr Посмотреть сообщение
Как быть в такой ситуации?
Сам себе отвечу
Гораздо удобнее пользоваться реакторами в этой ситуации. Ну повозиться немножко прийдется, но зато потом...кайф.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Вопрос по макросу

Реклама i