dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

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

Мои макрокоманды

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 19.05.2008, 15:20 1 | #1
Мои макрокоманды
zenon
 
Остекляем!!! Алюминим!!!
 
Москва
Регистрация: 21.02.2005
Сообщений: 3,112
Отправить сообщение для zenon с помощью ICQ

zenon вне форума Вставить имя

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

Выкладываю 4 своих макрокоманды.

Улучшенная команда _Break, разрыв в одной точке с повтором по правой клавише мышки.
Цитата:
^C^C^P(defun c:break2 () (vl-cmdf "_break" pause "f" pause "@")(princ));break2;
ps. Макрокоманда не моя. Рисунок со старой кнопки.


Объект Xline строится горизонтально
Цитата:
^C^C_xline;_h;
Объект Xline строится вертикально
Цитата:
^C^C_xline;_v;

Объект Xline строится по объекту (не работает по примитивам блока и arx объектов сторонних навесок на автокад).
Цитата:
*^C^C_xline;_offset;_Through;_nea;\_none;@;;
Макрокоманда зациклена, выход по Esc.
ps. Макрокоманда не моя.


Объект Xline строится по объекту, с поворотом в указанной точке на 90 градусов (не работает по примитивам блока и arx объектов сторонних навесок на автокад)
Цитата:
^C^C_xline;_offset;_Through;_nea;\_none;@;^C^C_rotate;_last;;\90;
ps. Макрокоманда доработана из предыдущей.

Соотвественно и кнопочки
Button.rar

__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
Просмотров: 229304
 
Непрочитано 19.05.2008, 16:17
#2
Log_in

Инженер-электрик
 
Регистрация: 16.01.2007
Москва
Сообщений: 19


Вот буквально неделю назад (к своему стыду) начал читать книжку В. Свет "Язык макрокоманд..." и хочу выразить автору огромную благодарность (думаю выражение благодарности не будет оффтопом).

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

^C^C_audit;_y;_-purge;_blocks;;_n;_qsave;
Log_in вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.05.2008, 22:34
#3
Кулик Алексей aka kpblc
Moderator

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


Я бы дополнил так:
Код:
[Выделить все]
^C^C_.audit;_y;_.-purge;_a;;_n;_.-purge;_r;;_n;_qsave
Работать будет в AutoCAD от 2005 и выше.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.05.2008, 00:12
#4
Vova

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


^P^C^C(startapp "explorer.exe" (strcat "/n,/e," (getvar "dwgprefix")))(princ)
Вызывает Проводник, открытый на текущей директории (макрос не мой)
Vova вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.05.2008, 08:33
1 | #5
Makswell

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


Вот макросы, которыми я очень часто пользуюсь:

Блокировать ВЭ
Цитата:
^C^C_.-vports;_lock;_on;
Разблокировать ВЭ
Цитата:
^C^C_.-vports;_lock;_off;
Площадь объекта
Цитата:
^C^C_.area;_Object
Обновить атрибуты с запросом указания блока.
Цитата:
^C^C(defun C:M-Command () (vl-cmdf "_.ATTSYNC" "_S" Pause "_Y"));M-Command;
Включить все слои
Цитата:
^C^C_.-layer;_on;*;;
Ручки внутри блоков вкл/выкл
Цитата:
^C^C'GRIPBLOCK;$M=$(xor,$(getvar,GRIPBLOCK),1);
Вместо текста рамка вкл/выкл
Цитата:
^C^C'QTEXTMODE;$M=$(xor,$(getvar,QTEXTMODE),1);_.regen;
Вообще-то раньше у меня было очень много макросов и даже очень навороченых, но со временем они все меняются на лисп. Лиспом всё-таки удобней.
Makswell вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 20.05.2008, 08:58
#6
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,112
Отправить сообщение для zenon с помощью ICQ


Makswell, а можно дополнить макрос
Площадь объекта
Цитата:
^C^C_.area;_Object
чтоб еще и значение текстом вставлял???
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.05.2008, 09:05
#7
Makswell

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


zenon, макросом ИМХО не сделать. Можно лиспом.
Makswell вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.05.2008, 09:11
#8
Makswell

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


Ещё макрос (для программистов). Тоже частенько пользуюсь.

Посмотреть DXF-свойства примитива
Цитата:
^C^C(defun C:M-Command () (princ (entget (car (entsel)))) (textscr) (princ));M-Command;
Makswell вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.05.2008, 09:25
#9
Profan

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


Вот такой аляповатый макрос:
Код:
[Выделить все]
 
^C^C^P_.area;_Object;\^C(setq txt (getvar "AREA"))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
Или здесь посмотреть:
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=19561RU
Profan на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 20.05.2008, 09:42
#10
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,112
Отправить сообщение для zenon с помощью ICQ


Profan,
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.05.2008, 13:21
#11
Log_in

Инженер-электрик
 
Регистрация: 16.01.2007
Москва
Сообщений: 19


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Я бы дополнил так:
Код:
[Выделить все]
^C^C_.audit;_y;_.-purge;_a;;_n;_.-purge;_r;;_n;_qsave
Работать будет в AutoCAD от 2005 и выше.
Я специально чищу только блоки
Код:
, потому что в ходе проектирования их скапливается до немеряно, а например размерные стили еще не использовались, но будут нужны.) Ну а когда чертеж готов - тотальная зачистка
Log_in вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.05.2008, 05:52
#12
Залётный


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


Цитата:
Сообщение от Makswell Посмотреть сообщение
Вот макросы, которыми я очень часто пользуюсь:

Блокировать ВЭ
Цитата:
^C^C_.-vports;_lock;_on;
Разблокировать ВЭ
Цитата:
^C^C_.-vports;_lock;_off;
Вообще-то раньше у меня было очень много макросов и даже очень навороченых, но со временем они все меняются на лисп. Лиспом всё-таки удобней.
Мне кажется удобнее, когда меняется состояние вьюпорта в зависимости от предыдущего. Много лет пользуюсь этим от Jones, Steve:
VPtoggle
Залётный вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.05.2008, 10:53
#13
Makswell

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


Ну вот, я же писал:
Цитата:
Вообще-то раньше у меня было очень много макросов и даже очень навороченых, но со временем они все меняются на лисп. Лиспом всё-таки удобней.
Залётный, ты также меня повторил:
Цитата:
Мне кажется удобнее, когда меняется состояние вьюпорта в зависимости от предыдущего...
Но тема то про макросы...
Makswell вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 21.05.2008, 10:57
#14
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,112
Отправить сообщение для zenon с помощью ICQ


Цитата:
Сообщение от Makswell Посмотреть сообщение
Но тема то про макросы...
Точно!!!
Посему давайте не уходить от темы, а выкладывать макросы
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 23.05.2008, 02:07
#15
Димас

джедай
 
Регистрация: 31.01.2005
Магадан
Сообщений: 460
Отправить сообщение для Димас с помощью ICQ


вот парочка моих
может кто оптимизирует?)
заливка контура сразу двумя штриховками (масштаб, название предустановлены, чтоб работало - менять на свои)
Код:
[Выделить все]
^C^C_select;\-bhatch;p;"Rhyolit";0.5;0;s;p;;;-bhatch;p;"Solid";1;0;s;p;;;
восстановление контура штриховки
Код:
[Выделить все]
^C^C-hatchedit;\b;p;y;
рисуем контур штриховки, после он сам заливается, контур может иметь "внутренние" контуры - поэтому ентер жать несколько раз)
Код:
[Выделить все]
^C^C-HATCH;p;SOLID;W;Y;
Димас вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 10.06.2008, 10:25
#16
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,112
Отправить сообщение для zenon с помощью ICQ


А что, больше никто не использует макросы в работе?
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 10.06.2008, 10:36
#17
Makswell

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


ИМХО сейчас макросов меньше, потому что сейчас до них дольше добраться в CUI. Раньше нажал ПКМ на кнопке, и сразу можно править макрос. Проще было экспериментировать. Поменял что-то - посмотрел результат, опять поменял что-то и т.д...
А сейчас... Проще набрать _VLIDE и начать программировать на лиспе, а на кнопку посадить уже сделанную тобой готовую прогу.
Makswell вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 10.06.2008, 11:27
#18
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,477
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Чато приходят чужие чертежи с кучей прокси объектов. Благодаря Александру Ривилису с этой бедой можно бороться.
Макрос расчленяет, удаляет прокси объекты, делает аудит рисунка и восстанавливает предыдущее состояние слоев.
Код:
[Выделить все]
^C^CEXPLODEALLPROXY;REMOVEALLPROXY;_AUDIT;_Y;_LAYERP;_LAYERP;
Подразумевается, что нужный explodeproxy.arx загружен.
Сам arx и подробное описание здесь:
ObjectARX. Расчленение и удаление proxy-объектов
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 10.06.2008, 12:02
#19
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,112
Отправить сообщение для zenon с помощью ICQ


VVA,
А если прописать сюда и загрузку explodeproxy.arx???
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 10.06.2008, 13:04
#20
Кулик Алексей aka kpblc
Moderator

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


zenon, это проще всего делать лиспом.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Мои макрокоманды

Конкурс для проектировщиков
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои динамические блоки Shoorup AutoCAD 2713 21.04.2011 23:34
Повторение выполнения макрокоманды по циклу. КАК? Kostinok AutoCAD 12 05.12.2007 15:40
Мои проекты Vova Разное 10 08.10.2007 23:18
Мои палитры инструментов на соседний компьютер Pave1 AutoCAD 4 27.06.2006 09:45

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


Размещение рекламы