Тема: Макросы. Разное

Думаю, что макросы можно отнести к маленьким программкам, поэтому предлагаю те, чем пользуюсь сам:
Очистить чертеж от мусора:
^C^C_-purge _a ;_n
3d поворот на 90:
^C^C_select \_rotate3d _p; \ \90
Выбор размеров:
(sssetfirst nil (ssget '((0 . "DIMENSION"))))
или для ACAD 2006:
(sssetfirst nil (ssget '((-4 . "<OR")(0 . "DIMENSION")(0 . "ARC_DIMENSION")(0 . "LARGE_RADIAL_DIMENSION")(-4 . "OR>"))))
Выбор штриховки:
(sssetfirst nil (ssget '((0 . "hatch"))))
Выбор текста:
(sssetfirst nil (ssget '((-4 . "<OR")(0 . "TEXT")(0 . "MTEXT")(-4 . "OR>"))))
Подчеркивание текста и обратно:
^C^C^P(progn (while (setq data (entsel))(setq data (entget (car data)))(setq str (cdr (assoc 1 data)))(if (wcmatch str "%%u*")(setq str (substr str 4))(setq str (strcat "%%u" str)))(entmod (subst (cons 1 str) (assoc 1 data) data)))(princ))
Один макрос -- одна тема.
/Администратор./

Re: Макросы. Разное

> Денис Флюстиков
Так как решено, что в этом разделе тоже можно критиковать, то:
1) Для выбора размеров:

(sssetfirst nil (ssget '((0 . "DIMENSION,ARC_DIMENSION,LARGE_RADIAL_DIMENSION"))))

2) Для выбора текстов:

(sssetfirst nil (ssget '((0 . "TEXT,MTEXT"))))

Все ради компактности записи, т.к. это макросы.

Re: Макросы. Разное

> Александр Ривилис
Тогда уж...

(sssetfirst nil (ssget '((0 . "*DIMENSION"))))
(sssetfirst nil (ssget '((0 . "*TEXT"))))

Re: Макросы. Разное

> Евгений Елпанов
А вот это уже может быть перебором! А если есть еще custom-примитивы, у которых имена попадают под эту маску, а их не следует выбирать - например RTEXT или ARCTEXT...