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

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

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

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

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

Выкладываю 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:
Просмотров: 482143
 
Непрочитано 06.03.2024, 12:20
#981
Ingpro


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


Это было где-то на форуме, но пусть будет и в этой теме...
Размер наклонной линии (удобно для простановки размеров раскосов ферм)
Код:
[Выделить все]
 ^C^C_UCS;_OBJ;\_DIMLINEAR;;@;\_UCS;_P;
Линия под углом
Код:
[Выделить все]
 ^C^C_Ortho;_On;_snapang;\_LINE;\_'snapbase 0,0;\_'snapang 0;

Последний раз редактировалось Ingpro, 06.03.2024 в 12:33.
Ingpro вне форума  
 
Непрочитано 06.03.2024, 12:30
1 | #982
Кулик Алексей aka kpblc
Moderator

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


Код:
[Выделить все]
^C^C(vl-cmdf "_.erase" (ssget "_X" '((0 . "DIMENSION"))) "");
Вроде так
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.03.2024, 13:42
1 | #983
Ingpro


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
^C^C(vl-cmdf "_.erase" (ssget "_X" '((0 . "DIMENSION"))) "");
Алексей, спасибо, это идеально срабатывает! В одно нажатие на палитре!
В этой теме было 2 макроса (удаление размеров с выбором), но не совсем то, что нужно:
Код:
[Выделить все]
 ^C^C(vl-cmdf "_.erase" (ssget (quote ((0 . "DIMENSION")))) "");
Код:
[Выделить все]
 ^C^C(sssetfirst nil (ssget '((0 . "DIMENSION"))));
А можно этот макрос
Код:
[Выделить все]
 ^C^C(vl-cmdf "_.erase" (ssget "_X" '((0 . "DIMENSION"))) "");
изобразить на лисп
Получилось так:
Код:
[Выделить все]
 (defun C:DimDel ()
(vl-cmdf "_.erase" (ssget "_X" '((0 . "DIMENSION"))) "")
(princ)
)
Даже можно "два в одном флаконе":
Код:
[Выделить все]
 ;; Удаляет все размеры без выбора
(defun C:DimDel ()
(vl-cmdf "_.erase" (ssget "_X" '((0 . "DIMENSION"))) "")
(princ)
)

;; Удаляет только размеры в выбранной области
(defun C:SelDimDel ()
(vl-cmdf "_.erase" (ssget (quote ((0 . "DIMENSION")))) "")
(princ)
)
Работает!

Последний раз редактировалось Ingpro, 06.03.2024 в 15:02.
Ingpro вне форума  
 
Непрочитано 11.03.2024, 10:39
#984
Ingpro


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


Команда: СОП
СОПРЯЖЕНИЕ
Выберите первый объект или [оТменить/полИлиния/раДиус/оБрезка/Несколько]:
Код:
[Выделить все]
 ^C^Cсопряжение \; \H; \Д;0;
Макрос должен выполнить Несколько сопряжений раДиусом = 0,
но сопряжения создаются только для двух пар линий...
1. Как изменить макрос, чтобы сопряжения выполнялись для нескольких (больше двух) пар линий?
2. Если до запуска этого макроса выполнить сопряжение радиусом 20 (например), то макрос делает сопряжение этим же радиусом 20, а не 0.
Как это можно подправить?
Спасибо...
Ingpro вне форума  
 
Непрочитано 11.03.2024, 11:23
#985
Кулик Алексей aka kpblc
Moderator

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


Так вроде эта команда работает только на пары элементов...
Код:
[Выделить все]
^C^C_.fillet;_radius;0.0;_m;
И тыркай хоть до посинения
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.03.2024, 11:38
#986
Ingpro


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
^C^C_.fillet;_radius;0.0;_m;
Чё-то не хочет:
Неизвестная команда "M".
А вот так получилось:
Код:
[Выделить все]
 ^C^C_.fillet;_radius;0.0;_multiple;_.fillet;

Последний раз редактировалось Ingpro, 11.03.2024 в 11:55.
Ingpro вне форума  
 
Непрочитано 11.03.2024, 11:57
#987
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,916


Была штука, которая зацикливает команду в макросе.
multiple в макросах не работает же?
engngr на форуме  
 
Непрочитано 11.03.2024, 12:03
#988
Ingpro


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


Цитата:
Сообщение от engngr Посмотреть сообщение
multiple в макросах не работает же?
В этом работает...
Код:
[Выделить все]
 ^C^C_.fillet;_radius;0.0;_multiple;_.fillet;
----- добавлено через ~3 мин. -----
Цитата:
Сообщение от engngr Посмотреть сообщение
Была штука, которая зацикливает команду в макросе
* что-ли?
Ingpro вне форума  
 
Непрочитано 11.03.2024, 14:49
#989
Ingpro


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


Пытаюсь загнать в макрос построение круга по двум точкам (2Т), с указанием расстояния (оно же диаметр) до второй точки.
Не получается указать расстояние до второй точки . ACad просит ввести расстояние (Вторая конечная точка диаметра круга)...
Код:
[Выделить все]
 ^C^CОрто;вкл;круг;2Т;Д;800;
Если ENG, вообще doesn't understand
Код:
[Выделить все]
 ^C^C_Ortho;_On;_CIRCLE;2Р;D;800;
Ingpro вне форума  
 
Автор темы   Непрочитано 11.03.2024, 15:16
#990
zenon

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


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Не получается указать расстояние до второй точки
и не получится, откуда ACAD знает куда надо откладывать указанное расстояние.
PS кроме расстояния нужно еще и направление!
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 11.03.2024, 15:22
#991
Ingpro


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


Цитата:
Сообщение от zenon Посмотреть сообщение
PS кроме расстояния нужно еще и направление!
А можно указать направление "вниз"?
Ingpro вне форума  
 
Непрочитано 11.03.2024, 15:40
#992
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,916


Цитата:
Сообщение от Ingpro Посмотреть сообщение
А можно указать направление "вниз"?
Через угол, может.
<270;800

Или опять мини-лисп.
engngr на форуме  
 
Непрочитано 11.03.2024, 15:57
#993
Ingpro


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


Цитата:
Сообщение от engngr Посмотреть сообщение
Через угол, может.
<270;800
Код:
[Выделить все]
 ^C^CОрто;вкл;круг;2Т;Д;<270;800;
Неа, не хочет...
¿Или угол не в том месте?

Последний раз редактировалось Ingpro, 11.03.2024 в 16:14.
Ingpro вне форума  
 
Непрочитано 11.03.2024, 18:52
#994
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,916


^C^C_.circle _2p \@0,-400
engngr на форуме  
 
Непрочитано 11.03.2024, 19:08
#995
Ingpro


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


Цитата:
Сообщение от engngr Посмотреть сообщение
^C^C_.circle _2p \@0,-400
Здорово! Спасибо, engngr! Если бы ещё зациклить процесс, было бы супер...
engngr, поясните, пожалуйста, это: \@0, что означает
если -400 заменить на 400, круг строится вверх.
А если надо влево или вправо, нужно изменить \@0,???
Зациклить можно добавив *:
Цитата:
Сообщение от engngr Посмотреть сообщение
*^C^C_.circle _2p \@0,-400

Последний раз редактировалось Ingpro, 11.03.2024 в 20:02.
Ingpro вне форума  
 
Непрочитано 11.03.2024, 19:35
#996
Кулик Алексей aka kpblc
Moderator

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


В.Свет, "Язык макрокоманд". Есть в Download
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.03.2024, 19:54
#997
Ingpro


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


Цитата:
Сообщение от Ingpro Посмотреть сообщение
@0,-400
@ "Данный символ вставляется, если нужно ввести относительные координаты точки. Координаты вводят в последовательности X,Y,Z через запятую, например @10,20 — это смещение на 10 по оси X и на 20 по оси Y относительно предыдущей указанной точки (если Z=0, его не указывают). Тогда как абсолютные координаты, например: 10,20 отсчитываются от нуля системы координат".
Но как это работает в макросе ^C^C_.circle _2p \@0,-400 не могу понять...
Что нужно поставить вместо 0 в \@0,-400, чтобы круг построился влево?

Последний раз редактировалось Ingpro, 11.03.2024 в 20:01.
Ingpro вне форума  
 
Непрочитано 11.03.2024, 20:10
#998
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,916


Цитата:
Сообщение от Ingpro Посмотреть сообщение
@ "Данный символ вставляется, если нужно ввести относительные координаты точки. Координаты вводят в последовательности X,Y,Z через запятую, например @10,20 — это смещение на 10 по оси X и на 20 по оси Y относительно предыдущей указанной точки (если Z=0, его не указывают). Тогда как абсолютные координаты, например: 10,20 отсчитываются от нуля системы координат".
Но как это работает в макросе ^C^C_.circle _2p \@0,-400 не могу понять...
Что нужно поставить вместо 0 в \@0,-400, чтобы круг построился влево?
@-400,0
Это относительные (от последней точки) координаты x,y.
engngr на форуме  
 
Непрочитано 11.03.2024, 20:21
#999
Ingpro


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


Цитата:
Сообщение от engngr Посмотреть сообщение
@-400,0
Это относительные (от последней точки) координаты x,y.
engngr, спасибо большое, теперь понятно!
Код:
[Выделить все]
 *^C^C_.circle _2p \@-400,0
круг влево,
Код:
[Выделить все]
 *^C^C_.circle _2p \@400,0
круг вправо
Ingpro вне форума  
 
Непрочитано 10.04.2024, 14:29
#1000
Ingpro


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


Не получается сделать макрос для МТекста, с готовым текстом.
С Текстом получилось
Код:
[Выделить все]
 ^C^C_text \50 0 %%UСлово;
***text высота 50 угол 0 Слово
Есть макрос с готовым текстом в три строки (откуда не помню)
Код:
[Выделить все]
 ^C^C_text \50 0 1 строка;;;2 строка;;;3 строка;
В итоге три строки
1 строка
2 строка
3 строка
Код:
[Выделить все]
 ^C^CК;\;@;\МТРЕД;П
***копирует мтекст и открывает редактор текста копии (текст выделен)
аналогично ENG
Код:
[Выделить все]
 ^C^C_Copy;\;@;\_MTEDIT;_Last
Код:
[Выделить все]
 *^C^Cмвыноска;\\1;
***Мвыноска с текстом "1"
Код:
[Выделить все]
 ^C^C МТЕКСТ;\\1; 
просто выполняет команду МТЕКСТ со всеми запросами, "1" не пишет автоматом
не получается сделать макрос для МТекста, с готовым текстом
Код:
[Выделить все]
 ^C^CМТЕКСТ;\В 50 Ш 100;\\Слово;
***открывает редактор текста, "Слово" не пишет автоматом
аналогично ENG
Код:
[Выделить все]
 ^C^C_MText;\_h 50 _w 100;\\Слово;
что нужно добавить в макрос МТекст, чтобы получить готовый текст, кто знает, спасибо...
Ingpro вне форума  
Ответ
Вернуться   Форум 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