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

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

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

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

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

Выкладываю 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:
Просмотров: 483290
 
Непрочитано 13.04.2024, 18:03
#1001
Ingpro


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


Я пытаюсь выполнить выравнивание вверх влево для выбранных Мтекстов, но AutoCAD всё-равно просит:
"Задайте параметр выравнивания".
Почему-то не выполняется _TL или ВЛ...
Код:
[Выделить все]
 ^C^C ВЫРТЕКСТ ВЛ;
Код:
[Выделить все]
 ^C^C_justifytext;_TL;
Как это можно исправить?
Ingpro вне форума  
 
Непрочитано 13.04.2024, 21:34
#1002
Кулик Алексей aka kpblc
Moderator

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


Может, выбор не надо сбрасывать? Ну или восстанавливать
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.04.2024, 16:51
#1003
Ingpro


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Может, выбор не надо сбрасывать? Ну или восстанавливать
_TL никак не воспринимает или пишет неизвестная команда...
В этих макросах выполняется выравнивание:
Текст в мтекст, выравнивание по центру _MC
Код:
[Выделить все]
 ^C^C_Select;_Single;\_Txt2mtxt;_Previous;;_justifytext;_Last;;_MC
Текст в мтекст, вырвнивание верх лево _TL
Код:
[Выделить все]
 ^C^C_Select;_Single;\_Txt2mtxt;_Previous;;_justifytext;_Last;;_TL
Почему не получается просто назначить выравнивание для МТекста?
Ingpro вне форума  
 
Непрочитано 14.04.2024, 17:12
#1004
Кулик Алексей aka kpblc
Moderator

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


Все ж почитай, что означает ^C в макросах. И заодно посмотри на варианты, которые предлагает команда _.select
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.04.2024, 19:59
#1005
engngr

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


Ingpro, на одних макросах далеко не уедешь.
engngr вне форума  
 
Непрочитано 15.04.2024, 09:27
#1006
Ingpro


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


Цитата:
Сообщение от engngr Посмотреть сообщение
Ingpro, на одних макросах далеко не уедешь.
Можно и лисп-команду повесить на палитру:
Код:
[Выделить все]
 (defun c:Just_TL (/ ss)
 (if
   (setq ss (ssget ":L" '((0 . "*TEXT,ATTDEF"))))
    (vl-cmdf "_justifytext" ss "" "_tl")
     ) ;_ if
 (princ)
) ;_ defun
Но интересно, как можно это записать макросом...
Ingpro вне форума  
 
Непрочитано 15.04.2024, 10:23
1 | #1007
name02


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


Простой лисп-код можно записать в макрос кнопки:
Нажмите на изображение для увеличения
Название: Макрос в кнопку.png
Просмотров: 108
Размер:	80.6 Кб
ID:	262657
name02 вне форума  
 
Непрочитано 15.04.2024, 11:40
#1008
Ingpro


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


Цитата:
Сообщение от name02 Посмотреть сообщение
Простой лисп-код можно записать в макрос кнопки:
Спасибо. Это работает:
Код:
[Выделить все]
 ^C^C(if (setq ss (ssget ":L" '((0 . "*TEXT,ATTDEF")))) (vl-cmdf "_justifytext" ss "" "_tl"));_ if (princ)

Последний раз редактировалось Ingpro, 15.04.2024 в 12:40.
Ingpro вне форума  
 
Непрочитано 15.04.2024, 11:42
#1009
Кулик Алексей aka kpblc
Moderator

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


Ingpro, потрать пару дней на "Язык макрокоманд", честное слово - намного проще будет. Заодно узнаешь, что макросы надо записывать в одну строку и что там каждый символ важен.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 19.04.2024, 13:59
#1010
Ingpro


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
каждый символ важен
А вот так получилось простым макросом выровнять МТЕКСТЫ вверх влево!
Код:
[Выделить все]
 *^C^C_justifytext;\;_TL;
выход Esc,
или убрать *, и выбирать только один Мтекст

Можно исправить для своих предпочтений, заменив _TL (Top Left) на:

_MC Middle Center середина по центру
_ML Middle Left середина влево
_TC Top Center вверх по центру
_BL Bottom Left вниз влево
Ingpro вне форума  
 
Непрочитано 06.06.2024, 12:24
#1011
Ingpro


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


Я хочу перенести все размеры без выбора на задний план
Код:
[Выделить все]
 ^C^C^P(defun c:atback () (ai_draworder "_back") (ssget "_X" '((0 . "DIMENSION"))) "")) (princ));atback;
переносит размеры на задний план, но просит сделать выбор, хотя не должен вроде ssget "_X"?
Как-нибудь это можно исправить?
А вот два макроса
Код:
[Выделить все]
 ^C^C-tcase;\;Upper;;
- текст, мтекст - в ВЕРХНИЙ регистр
Код:
[Выделить все]
 ^C^C-tcase;\;Lower;;
- текст, мтекст - в нижний регистр
если выбрать один объект, изм. регистра происходит сразу,
если рамкой - несколько текстов, то в ком. строке предлагается выбор:
Select case [Sentence/Lower/Upper/Title/toGgle] <Lower>:
интересно, это можно исправить, т.к. UPPER (или Lower) заявлен в команде?

Последний раз редактировалось Ingpro, 07.06.2024 в 11:39.
Ingpro вне форума  
 
Непрочитано 06.06.2024, 12:34
#1012
Кулик Алексей aka kpblc
Moderator

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


В первом - после ssget добавь еще пустую строку. По остальным - я не помню такой команды в каде. Может быть, будет иметь смысл убирать ^C^C впереди и снимать выбор. Ессно, pickfirst должен быть 1.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.06.2024, 12:43
#1013
Ingpro


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
В первом - после ssget добавь еще пустую строку.
А как добавить?

pickfirst у меня 1

Последний раз редактировалось Ingpro, 07.06.2024 в 11:38.
Ingpro вне форума  
 
Непрочитано 06.06.2024, 14:50
#1014
Кулик Алексей aka kpblc
Moderator

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


А, сорян, ступил: с макросами уже сто лет не работал.
Вообще говоря, я б под эту задачу вообще некомандными методами работал бы - удобнее и предсказуемее.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.06.2024, 15:28
#1015
Ingpro


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
я б под эту задачу вообще некомандными методами работал бы
А как? AutoCAD никак не узнаёт atback (_atback, _.atback)?

Последний раз редактировалось Ingpro, 06.06.2024 в 15:33.
Ingpro вне форума  
 
Непрочитано 06.06.2024, 16:20
#1016
Кулик Алексей aka kpblc
Moderator

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


Навскидку : https://autolisp.ru/2011/12/16/draworder/
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 07.06.2024, 00:11
#1017
skkkk


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


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Я хочу перенести все размеры без выбора на задний план
По идее, вот так должно сработать, но Автокада под рукой нет, к сожалению, проверить не могу:
Код:
[Выделить все]
 ^C^C^P(defun c:atback () (ai_draworder "_back") (sssetfirst nil (ssget "_X" '((0 . "DIMENSION")))) "")) (princ));atback;
skkkk вне форума  
 
Непрочитано 07.06.2024, 09:22
#1018
Ingpro


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
1
^C^C^P(defun c:atback () (ai_draworder "_back") (sssetfirst nil (ssget "_X" '((0 . "DIMENSION")))) "")) (princ));atback;
skkkk, спасибо. Но работает немного странно.
Выбрать объекты-выбираю один размер-ПКМ-выделяются все размеры-enter-esc-размеры ушли на задний план...
Хотелось бы не выбирать размеры... и enter-esc не нажимать...

Последний раз редактировалось Ingpro, 07.06.2024 в 09:39.
Ingpro вне форума  
 
Непрочитано 07.06.2024, 15:35
#1019
Ingpro


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
По идее, вот так должно сработать
убираю две скобки и добавляю ;; в конце
Код:
[Выделить все]
 ^C^C^P(defun c:atback () (ai_draworder "_back") (sssetfirst nil (ssget "_X" '((0 . "DIMENSION")))) "") (princ);atback;;;
сразу выделяются все размеры, но всё-равно только после -esc- размеры ушли на задний план...
ещё немного бы допилить...

Последний раз редактировалось Ingpro, 07.06.2024 в 16:24.
Ingpro вне форума  
 
Непрочитано 10.06.2024, 13:12
#1020
skkkk


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


Ingpro, а если сначала выбрать, а потом кидать на задний план?
Код:
[Выделить все]
 (defun c:atback () (sssetfirst nil (ssget "_X" '((0 . "DIMENSION"))))(ai_draworder "_back") (princ))
Не пользуюсь кнопками, лень проверять что там в конце и надо ли точку с запятой ставить или пробела хватит. И вот буква P в выражении (^C^C^P) - не помню, что делает)

Ну и для порядку желательно проверить, вдруг функция загружена, чтоб повторно не грузить:
Код:
[Выделить все]
 ^C^C^P(if (null C:atback) (defun c:atback () (sssetfirst nil (ssget "_X" '((0 . "DIMENSION"))))(ai_draworder "_back"));atback;
skkkk вне форума  
 
Непрочитано 10.06.2024, 13:54
#1021
Ingpro


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
(defun c:atback () (sssetfirst nil (ssget "_X" '((0 . "DIMENSION"))))(ai_draworder "_back") (princ))
если загрузить как лисп, это срабатывает
Цитата:
Сообщение от skkkk Посмотреть сообщение
Не пользуюсь кнопками
Я тоже кнопки не люблю, добавляю макросы на палитру, это быстро и удобно...имхо...

Цитата:
Сообщение от skkkk Посмотреть сообщение
^C^C^P(if (null C:atback) (defun c:atback () (sssetfirst nil (ssget "_X" '((0 . "DIMENSION"))))(ai_draworder "_back"));atback;
на этот макрос нет никакой реакции, в ком. строке:
Команда:
(_>

Последний раз редактировалось Ingpro, 10.06.2024 в 14:19.
Ingpro вне форума  
 
Непрочитано 10.06.2024, 14:59
1 | #1022
name02


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


Цитата:
Сообщение от Ingpro Посмотреть сообщение
на этот макрос нет никакой реакции, в ком. строке:
Команда:
(_>
Не хватает закрывающей скобки - (ai_draworder "_back")));atback;
name02 вне форума  
 
Непрочитано 10.06.2024, 15:35
#1023
Ingpro


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


Цитата:
Сообщение от name02 Посмотреть сообщение
Не хватает закрывающей скобки - (ai_draworder "_back")));atback;
Код:
[Выделить все]
 ^C^C^P(if (null C:atback) (defun c:atback () (sssetfirst nil (ssget "_X" '((0 . "DIMENSION"))))(ai_draworder "_back")));atback;
Так работает skkkk и name02, СПАСИБО!

Последний раз редактировалось Ingpro, 12.06.2024 в 21:19.
Ingpro вне форума  
 
Непрочитано 12.06.2024, 21:14
1 | #1024
Ingpro


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


Часто пользуюсь "перенести текст размера с выноской", но выбирать из контекстного меню неудобно, поэтому макрос:
Код:
[Выделить все]
 ^C^C_aidimtextmove;1;\;
Миниатюры
Нажмите на изображение для увеличения
Название: aidimtextmove.png
Просмотров: 139
Размер:	46.6 Кб
ID:	263422  
Ingpro вне форума  
 
Непрочитано 13.06.2024, 16:44
#1025
RNB

Проектирование мостов
 
Регистрация: 29.01.2014
Новосибирск
Сообщений: 431


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Часто пользуюсь "перенести текст размера с выноской", но выбирать из контекстного меню неудобно, поэтому макрос:
Попробуй после того, как нажмешь на "ручку" размера в кнопку Ctrl потыкать. Удобнее любого макроса
RNB вне форума  
 
Непрочитано 25.06.2024, 11:35
#1026
NemoSUN


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


Цитата:
Сообщение от zenon Посмотреть сообщение
Объект Xline строится по объекту (не работает по примитивам блока и arx объектов сторонних навесок на автокад).
Команда понравилась, но вопрос. Все линии AMCONST.... строятся на слое AM_CL. А эта команда строит на текущем.
NemoSUN вне форума  
 
Непрочитано 09.07.2024, 14:57
#1027
Ingpro


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


Если в мвыноску с текстом "1" добавить неразрывный пробел (Alt 255), то в свойствах это отображается "1\~".
Код:
[Выделить все]
 *^C^Cмвыноска;\\1;
этот макрос строит выноску с текстом "1"
Если добавить "1\~" в макрос
Код:
[Выделить все]
 *^C^Cмвыноска;\\1\~;
пробел не добавляется, что нужно добавить в код, или как-то по-другому решить?
Миниатюры
Нажмите на изображение для увеличения
Название: Макрос_Мвыноска1-пробел.png
Просмотров: 83
Размер:	41.0 Кб
ID:	263711  
Ingpro вне форума  
 
Непрочитано 09.07.2024, 16:33
#1028
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,412


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Если в мвыноску с текстом "1" добавить неразрывный пробел
Интересно а какой смысл. Если вы надеетесь что удлинится линия подчеркивания, то зря. Пробел, КМК, просто игнорируется, даже в WORD'е

Последний раз редактировалось AlexCondor, 09.07.2024 в 16:43.
AlexCondor вне форума  
 
Непрочитано 09.07.2024, 18:15
#1029
Ingpro


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


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
Если вы надеетесь что удлинится линия подчеркивания, то зря. Пробел, КМК, просто игнорируется, даже в WORD'е
Но в Мтексте в Мвыноске это срабатывает, почему в макросе не получается...

Последний раз редактировалось Ingpro, 09.07.2024 в 19:42.
Ingpro вне форума  
 
Непрочитано 10.07.2024, 09:42
#1030
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,412


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Но в Мтексте в Мвыноске это срабатывает, почему в макросе не получается...
Что срабатывает, подчеркивание пробелов в конце текста? Вы уверены?
AlexCondor вне форума  
 
Непрочитано 10.07.2024, 11:18
#1031
Ingpro


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


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
Что срабатывает, подчеркивание пробелов в конце текста? Вы уверены?
На изображении из поста #1027 видно: верхняя мвыноска без пробела, две нижние с пробелом. Выносная линия удлиняется на пробел.
Вопрос в том, как это записать в макросе, чтобы работало...
Ingpro вне форума  
 
Непрочитано 10.07.2024, 13:58
#1032
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,412


Ни как у меня так же не получается. Да и удлинение странное, больше похоже на разрыв между знаками, чем на пробел. Приложите пож-та dwg.

PS. Еще можно символ неразрывного пробела вставить как unicode - \U+00A0.
AlexCondor вне форума  
 
Непрочитано 10.07.2024, 14:47
#1033
Ingpro


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


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
Еще можно символ неразрывного пробела вставить как unicode - \U+00A0
Так тоже не получается.
dwg приложен
Вложения
Тип файла: dwg
DWG 2013
Мвыноска 1 с пробелом.dwg (33.6 Кб, 29 просмотров)

Последний раз редактировалось Ingpro, 10.07.2024 в 22:44.
Ingpro вне форума  
 
Непрочитано 10.07.2024, 17:48
#1034
RNB

Проектирование мостов
 
Регистрация: 29.01.2014
Новосибирск
Сообщений: 431


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Так тоже не получается.
Задачу можно решить иначе.
Через вставку заранее созданного блока с включенной опцией "расчленить" и "повторить вставку" (если требуется вставить несколько подряд).
С новой панелью "Блоки", в которой в том числе есть вкладка "Избранное" это может быть очень даже удобно.
На выходе получите ту же самую выноску с любым текстом, без ограничений макросов по символам (а они, как вы уже поняли, присутствуют)
RNB вне форума  
 
Непрочитано 10.07.2024, 22:21
#1035
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,412


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Так тоже не получается.
dwg приложен
Файл в AutoCAD смогу посмотреть только завтра. Но посмотрев его на телефоне заметил у вас там 000А, а должно быть 00А0
AlexCondor вне форума  
 
Непрочитано 10.07.2024, 22:36
#1036
Ingpro


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


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
Файл в AutoCAD смогу посмотреть только завтра. Но посмотрев его на телефоне заметил у вас там 000А, а должно быть 00А0
Да, в dwg неправильно написано (исправлено), но макрос такого вида не делает пробел, а в мтексте это сочетание \U+00A0 добавляет пробел
Код:
[Выделить все]
 *^C^Cмвыноска;\\1\U+00A0;

Последний раз редактировалось Ingpro, 10.07.2024 в 22:41.
Ingpro вне форума  
 
Непрочитано 19.07.2024, 13:44
#1037
Ingpro


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


Макрос Облако-Объект заменит выбранные объекты облаком (нужный стиль облака Обычный/Каллиграфия, а также
миним. и максим. длину дуги установить заранее):
Код:
[Выделить все]
 *^C^Cоблако;О;\;
или eng-версия
Код:
[Выделить все]
 *^C^C_REVCLOUD;_O;\;
Миниатюры
Нажмите на изображение для увеличения
Название: обл-объект.png
Просмотров: 68
Размер:	29.8 Кб
ID:	263853  
Ingpro вне форума  
 
Непрочитано 22.07.2024, 12:50
#1038
Ingpro


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


Макрос массива прямоугольного arrayrect: столбцов 4х400, строк 4х400
Код:
[Выделить все]
 ^C^C_arrayrect;\;_colums;4;_e;1200;_rows;4;_e;400;;;
Код:
[Выделить все]
 ^C^C_arrayrect;\;_COLums;4;_e;1800;_Rows;4;_e;600;;;
столбцов 4х600, строк 4х600

Если интервал между строками не зависит от количества строк, то у интервала по столбцам есть какая-то странная зависимость...
Код:
[Выделить все]
 ^C^C_arrayrect;\;_COL;6;_e;250;_R;6;_e;50;;;
ст6х50 стр6х50
Код:
[Выделить все]
 ^C^C_arrayrect;\;_COL;6;_e;150;_R;6;_e;50;;;
ст6х30 стр6х50
Код:
[Выделить все]
 ^C^C_arrayrect;\;_COL;3;_e;100;_R;3;_e;50;;;
ст3х50 стр3х50
Код:
[Выделить все]
 ^C^C_arrayrect;\;_COL;4;_e;150;_R;4;_e;50;;;
ст4х50 стр4х50
Миниатюры
Нажмите на изображение для увеличения
Название: arrayrect 4х400.png
Просмотров: 52
Размер:	11.4 Кб
ID:	263885  

Последний раз редактировалось Ingpro, 22.07.2024 в 14:31.
Ingpro вне форума  
 
Непрочитано 22.08.2024, 18:50
#1039
Ingpro


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


Вот ещё макросы для фаски (_chamfer) //вроде не было в теме//
угол 45, расстояние 200
Код:
[Выделить все]
 ^C^C_chamfer;\;angular;;45;;distance;200;;  

по-русски:
^C^Cфаска;\;угол;;45;;расстояние;200;; 
^C^Cфаска;\;угол;;45;;расстояние;100;;
Миниатюры
Нажмите на изображение для увеличения
Название: chamfer.png
Просмотров: 30
Размер:	9.4 Кб
ID:	264343  

Последний раз редактировалось Ingpro, 22.08.2024 в 19:11.
Ingpro вне форума  
 
Непрочитано 18.09.2024, 14:45
#1040
Ingpro


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


Чертим полилинию с глобальной шириной 0, или с любой другой (например 30)
Код:
[Выделить все]
 ^C^C(setvar 'PLINEWID 0);_.pline
Код:
[Выделить все]
 ^C^C(setvar 'PLINEWID 30);_.pline
или просто установить гл. ширину, если надо изменить последнюю
Код:
[Выделить все]
 ^C^C(setvar 'PLINEWID 0);

Последний раз редактировалось Ingpro, 18.09.2024 в 14:54.
Ingpro вне форума  
 
Непрочитано 19.09.2024, 16:01
#1041
Ingpro


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


Если надоело искать Defpoints из выпадающего списка слоев то:
макрос (много раз) - слой Defpoints, цвет bylayer, выход по Esc
Код:
[Выделить все]
 *^C^C_change;\;_p;_LAYER;Defpoints;_color;bylayer;;;;
макрос (много раз) - слой Defpoints, цвет 8 (серый), выход по Esc
Код:
[Выделить все]
 *^C^C_change;\;_p;_LAYER;Defpoints;_color;8;;;;
***слой Defpoints должен быть в чертеже***
Ingpro вне форума  
 
Непрочитано 29.10.2024, 09:48
#1042
Sanmart


 
Регистрация: 05.05.2009
СПб
Сообщений: 423


Здравствуйте! Хочу сделать кнопку - аналог QNEW, чтобы создавала файл на основе шаблона (на QNEW - один шаблон, на кнопке - другой). Написал вот это:
Код:
[Выделить все]
^C^C_new;C:/templates/clr.dwt
- не работает. Вернее, команда запускается, но выдаёт стандартное окно выбора шаблона. Подскажите пожалуйста, где косяк?
Sanmart вне форума  
 
Непрочитано 29.10.2024, 10:35
1 | #1043
name02


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


У этой команды нет безоконного режима, поэтому тебе надо сделать переменную FILEDIA = 0 (т.е. не выводить диалоговые окна выбора файлов), а после опять сделать равной 1 (если надо)
Смотри пример тут - https://forums.autodesk.com/t5/autoc...822314#M174279
name02 вне форума  
 
Непрочитано 29.10.2024, 11:35
#1044
Sanmart


 
Регистрация: 05.05.2009
СПб
Сообщений: 423


name02, большое спасибо! Всё заработало. Оказывается, был нужен скрипт.
Sanmart вне форума  
 
Непрочитано 27.11.2024, 11:49
#1045
Astartes

Котло- и реакторостроение
 
Регистрация: 25.02.2010
Барнаул
Сообщений: 824


Добрый день.
Если количество щелчков мышкой во время паузы в макросе (\) каждый раз разное, как быть?
Пример. Лисп с форума Coorn.
Действие лиспа

COORN
Выберите режим [Указать/Точка/Блоки/Полилиния или сплайн] <Указать>:
Укажите точку или Enter завершения >
Укажите точку или Enter завершения >
Укажите точку или Enter завершения >
+++++++ Coordinates list +++++++
3800.0000,33000.0000,7750.0001
3800.0000,34111.6796,7750.0001
+++++++++ End of list +++++++++
Начальный номер точки <Не маркировать> :
Сохранить координаты в [Файл/Excel/Не сохранять] <Файл> : E

Записал вот так:

^C^C_coorn;;\\\\\\\\\\\\\\;;_e;

Если количество кликов соответствует количеству (\) в макросе, то все норм. Макрос отрабатывает нормально. А если символов в макросе написал с запасом, то макрос автоматом не отрабатывает и приходится завершать вручную.
Собственно вопрос. Можно на данном примере как то побороть?
На всякий случай прикреплю лисп.
Вложения
Тип файла: lsp coorn.lsp (14.4 Кб, 33 просмотров)
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022
Astartes вне форума  
 
Непрочитано 04.12.2024, 10:20
#1046
Ingpro


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


Готовые инструментальные палитры. Импортируй и пользуйся!
Краткая инструкция в архиве.
Вложения
Тип файла: zip Готовые инструм. палитры.zip (436.5 Кб, 66 просмотров)
Ingpro вне форума  
 
Непрочитано 04.12.2024, 18:36
#1047
Ingpro


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


Цитата:
Сообщение от Astartes Посмотреть сообщение
^C^C_coorn;;\\\\\\\\\\\\\\;;_e;

Если количество кликов соответствует количеству (\) в макросе, то все норм. Макрос отрабатывает нормально. А если символов в макросе написал с запасом, то макрос автоматом не отрабатывает и приходится завершать вручную.
Собственно вопрос. Можно на данном примере как то побороть?
На всякий случай прикреплю лисп.
Если вы просто хотите вызвать лисп-команду через макрос (инструм. палитра), то достаточно просто в Сценарии записать COORN и вызов сработает так, как если бы вы вызвали его из ком. строки, но лисп должен быть в автозагрузке...

Последний раз редактировалось Ingpro, 04.12.2024 в 21:43.
Ingpro вне форума  
 
Непрочитано 04.12.2024, 20:25
#1048
Ingpro


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


Цитата:
Сообщение от Sanmart Посмотреть сообщение
Здравствуйте! Хочу сделать кнопку - аналог QNEW, чтобы создавала файл на основе шаблона (на QNEW - один шаблон, на кнопке - другой). Написал вот это:
Код:
[Выделить все]
^C^C_new;C:/templates/clr.dwt
- не работает. Вернее, команда запускается, но выдаёт стандартное окно выбора шаблона. Подскажите пожалуйста, где косяк?
Может быть лучше просто открыть свой файл-шаблон:
Код:
[Выделить все]
 ^C^C(startapp "explorer.exe" (findfile "c:/Users/1/AppData/Local/Autodesk/AutoCAD 2020/R23.1/rus/Template/Шаблон.dwt"))
Только укажите свои: username, год AutoCAD и имя шаблона...

Последний раз редактировалось Ingpro, 19.01.2025 в 10:06.
Ingpro вне форума  
 
Непрочитано 16.03.2025, 07:36
#1049
gumel


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


Добрый день!
Делаю макрос, который позволяет сохранять выбранные объекты в DXF файл:

Код:
[Выделить все]
 ^C^C+SAVEAS;F;R12;;O
Макрос вполне хорошо работает, за исключением пары моментов:
1. После выбора объектов команда спрашивает количество знаков после запятой "decimal places of accuracy". Как прописать это значение в макросе?
2. Приходится вводить имя файла .

Нет ли такой возможности, чтобы имя файла бралось из примитива (допустим из обычного текста)?

Было бы прекрасно, когда пользователь выбирает объекты для экспорта в DXF, один из примитивов там будет текстом, и вот как раз значение этого текста будет именем файла.
gumel вне форума  
Ответ
Вернуться   Форум 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