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

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

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

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

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

Выкладываю 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:
Просмотров: 448790
 
Непрочитано 24.12.2010, 13:54
#361
Anton_Br

архитектор
 
Регистрация: 20.11.2007
Ростов-на-Дону
Сообщений: 539


Уважаемые товарищи! Есть в ACADe такая кнопка "Dimension, Precision, 0" (округление до целых) с макросом "^C^C_aidimprec _0".
Пытался на основе этой макрокоманды написать макрос для кнопки чтобы округление было до 10 мм. Например размер 504 округлялся до 500.

P.S. Заранее спасибо от чайника в написании макрокоманд
Anton_Br вне форума  
 
Непрочитано 25.12.2010, 03:20
#362
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Вроде этого?
Код:
[Выделить все]
^C^C(defun C:CHDIMRND ( / ent )(setq ent (vlax-ename->vla-object (car(entsel))))(vla-put-RoundDistance ent 10.0)(princ));CHDIMRND;
skkkk вне форума  
 
Непрочитано 25.12.2010, 18:48
#363
Anton_Br

архитектор
 
Регистрация: 20.11.2007
Ростов-на-Дону
Сообщений: 539


При выборе размера пишет:
"Select object: ; error: no function definition: VLAX-ENAME->VLA-OBJECT"
Anton_Br вне форума  
 
Непрочитано 25.12.2010, 21:13
#364
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Попробуй так:
Код:
[Выделить все]
^C^C(defun C:CH_DIMRND ( / ent )(vl-load-com)(setq ent (vlax-ename->vla-object (car(entsel))))(vla-put-RoundDistance ent 10.0)(princ));CH_DIMRND;


Добавлено:

Доработал макрос, теперь ведет себя в точности, как _aidimprec, т.е. поддерживает множественный выбор и выбор рамкой, и из всего набора объектов попавших в рамку, фильтрует только dimensions (размеры).
Код:
[Выделить все]
^C^C(defun C:CH_DIMRND ( / ent )(vl-load-com)(setq ent (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp(mapcar 'cadr (ssnamex (ssget '((0 . "*DIMENSION"))))))))(mapcar '(lambda (x) (vla-put-RoundDistance x 10.0)) ent));CH_DIMRND


Добавлено2:

Если надо подавлять нули после запятой, конечно, при их наличии (при DIMZIN=0):
Код:
[Выделить все]
^C^C(defun C:CH_DIMRND_DIMZIN ( / ent )(vl-load-com)(setq ent (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp(mapcar 'cadr (ssnamex  (ssget '((0 . "*DIMENSION"))))))))(mapcar '(lambda (x) (vla-put-RoundDistance x 10.0)) ent)
(mapcar '(lambda (x) (vla-put-PrimaryUnitsPrecision x 0)) ent));CH_DIMRND_DIMZIN
Это - более универсальный вариант, спасибо gomer за подсказку

Последний раз редактировалось skkkk, 15.01.2011 в 02:24.
skkkk вне форума  
 
Непрочитано 26.12.2010, 00:13
#365
Anton_Br

архитектор
 
Регистрация: 20.11.2007
Ростов-на-Дону
Сообщений: 539


Спасибо большое теперь работает! Я просто считаю последним делом размеры переписывать как некоторые делают...
Anton_Br вне форума  
 
Непрочитано 26.12.2010, 01:40
#366
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Offtop: Интересно, ты свои правишь размеры или чужие? Это я к тому, что можно их прямо в таком виде создавать (например, подправив Размерный стиль или изменив системную переменную DIMRNG, в твоем случае - в 10, или подумав, сделать на нее отдельную кнопку)
skkkk вне форума  
 
Непрочитано 26.12.2010, 01:51
#367
Anton_Br

архитектор
 
Регистрация: 20.11.2007
Ростов-на-Дону
Сообщений: 539


Не я просто столкнулся с тем что например сейчас причёсываю кладочные планы, на которых есть кладочные размеры по фасадам. Так вот несколько размеров надо округлять до 10 мм т.к. это части стен под углом 45 град. и подогнать под кладку не везде получилось. А выдавать на стройку размеры по кладке например 1237 или 931 мм неприлично.А так у меня достаточно высокая точность стоит до нескольких знаков после запятой. Компьютер тем и хорош что позволяет точно чертить.
Anton_Br вне форума  
 
Непрочитано 26.12.2010, 10:25
#368
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Anton_Br Посмотреть сообщение
А так у меня достаточно высокая точность стоит до нескольких знаков после запятой.
Недавно пришлось работать со старыми чертежами лестниц копра доменной печи... все размеры были с точностью до целых... при том что все чертилось "от руки"... было интересно пересовывать их на компьютере, проверяя размеры... все сошлось...
Когда появляются углы, размеры не кратные 10 неизбежность... по крайней мере в металле...
gomer вне форума  
 
Непрочитано 26.12.2010, 15:25
#369
Vova

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


Цитата:
Сообщение от Anton_Br Посмотреть сообщение
А так у меня достаточно высокая точность стоит до нескольких знаков после запятой. Компьютер тем и хорош что позволяет точно чертить.
A в каких единицах ты чертишь-в мм? Тогда несколько знаков могут означать чуть-ли не нано.
Vova вне форума  
 
Непрочитано 28.12.2010, 13:51
#370
SAMik


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


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

Есть текст1 который надо заменить на "текст2 - текст3" текст 2 и 3 брать с чертежа. Таких операций надо много делать по этому надо по минимум нажатий: вызвал макрос, выбрал текст1,2,3 и текст 1 заменился.
Ну что то типа того) Буду очень признателен
SAMik вне форума  
 
Непрочитано 28.12.2010, 14:05
#371
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Как сосчитать сумму цифр из отдельных мтекстов
skkkk вне форума  
 
Непрочитано 28.12.2010, 15:10
#372
SAMik


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


Спасиб) буду пытатся разобратся) Но если кто может быстро черкануть то буду признателен, потому что необходимо работу делать сейчас(
SAMik вне форума  
 
Непрочитано 28.12.2010, 15:30
#373
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Offtop: Тут выбираешь 1-й текст (это уменьшаемое), 2-й текст (вычитаемое), и в 3-й текст вставляется разность)
кол-во знаков после запятой меняется в строчке (setvar "LUPREC" 2)
Вложения
Тип файла: lsp z-calc-text-value-.lsp (2.4 Кб, 100 просмотров)

Последний раз редактировалось skkkk, 28.12.2010 в 16:44. Причина: Добавил в код обработчик ошибок
skkkk вне форума  
 
Непрочитано 29.12.2010, 10:00
#374
SAMik


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
Offtop: Тут выбираешь 1-й текст (это уменьшаемое), 2-й текст (вычитаемое), и в 3-й текст вставляется разность)
кол-во знаков после запятой меняется в строчке (setvar "LUPREC" 2)
вот теперь конкретно и понятно) тут думаю быстро разберусь) спасибо огромное
SAMik вне форума  
 
Непрочитано 29.12.2010, 10:20 Может скрипт поможет
#375
Pavel23


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


Читал тут одну умную книгу мельком, называется "AutoCAD секреты, которые должен знать каждый пользователь". Где видал ту умную книгу не помню точно, но нашлась в инете быстро и на халяву. Понравилась глава 7, про пакеты, тобишь скрипты, запускаешь и он сам все делает и даже с кучей файлов, и тексты поправит, и другое что. Настоятельно рекомендую, там вроде все по простому изложено, что даже я понял...
Pavel23 вне форума  
 
Непрочитано 14.01.2011, 20:09
#376
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Offtop: Anton_Br, модернизировал твой макрос в #364.

Последний раз редактировалось skkkk, 14.01.2011 в 20:48.
skkkk вне форума  
 
Непрочитано 14.01.2011, 20:44
#377
Anton_Br

архитектор
 
Регистрация: 20.11.2007
Ростов-на-Дону
Сообщений: 539


Большое спасибо! Всё работает!
Anton_Br вне форума  
 
Непрочитано 14.01.2011, 23:32
1 | #378
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Anton_Br Посмотреть сообщение
Большое спасибо! Всё работает!
А нули убрать? Да и вообще это не макрос, а целый лисп
такой,
Код:
[Выделить все]
(defun c:CHDIMRND (/ ss)
  (or (boundp 'vl-catch-all-error-p) (vl-load-com))
  (cond
    ((vl-catch-all-error-p
       (setq
	 ss (progn
	      (princ "\nУкажите размеры для изменения...")
	      (vl-catch-all-apply 'ssget (list '((0 . "*DIMENSION"))))
	    )
       )
     )
     (prompt "\nФункция отменена пользователем!")
    )
    ((not ss)
     (prompt "\nНеобходимо выбрать хотя бы один размер!")
    )
    (T
     (foreach &	(mapcar	'vlax-ename->vla-object
			(vl-remove-if
			  'listp
			  (mapcar 'cadr (ssnamex ss))
			)
		)
       (vla-put-RoundDistance & 10.0)
       (vla-put-PrimaryUnitsPrecision & acDimPrecisionZero)
     )
    )
  )
  (princ)
)
например:
gomer вне форума  
 
Непрочитано 14.01.2011, 23:44
#379
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Какие нули? Это лиспрос... или макрисп...
skkkk вне форума  
 
Непрочитано 14.01.2011, 23:54
1 | #380
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Вот эти
Вложения
Тип файла: dwg
DWG 2004
нули.dwg (33.3 Кб, 2365 просмотров)
gomer вне форума  
Ответ
Вернуться   Форум 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