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

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

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

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

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

Выкладываю 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:
Просмотров: 448527
 
Непрочитано 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
С.-Петербург
Сообщений: 39,772


Я бы дополнил так:
Код:
[Выделить все]
^C^C_.audit;_y;_.-purge;_a;;_n;_.-purge;_r;;_n;_qsave
Работать будет в AutoCAD от 2005 и выше.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.05.2008, 00:12
#4
Vova

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


^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,204


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

Блокировать ВЭ
Цитата:
^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,824
<phrase 1=


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

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


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

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


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

Посмотреть 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,627


Вот такой аляповатый макрос:
Код:
[Выделить все]
 
^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,824
<phrase 1=


Profan,
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 20.05.2008, 13:21
1 | #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
Сообщений: 243


Цитата:
Сообщение от 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,204


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

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,824
<phrase 1=


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

джедай
 
Регистрация: 31.01.2005
Магадан
Сообщений: 460
<phrase 1=


вот парочка моих
может кто оптимизирует?)
заливка контура сразу двумя штриховками (масштаб, название предустановлены, чтоб работало - менять на свои)
Код:
[Выделить все]
^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,824
<phrase 1=


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

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


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

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для 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,824
<phrase 1=


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
С.-Петербург
Сообщений: 39,772


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

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои динамические блоки Shoorup Динамические блоки 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