dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

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

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

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

zenon вне форума Вставить имя

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

Выкладываю 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:
Просмотров: 224553
 
Непрочитано 29.11.2016, 13:39
#821
skkkk

AutoCAD_2008->2011
 
Регистрация: 20.03.2008
Московская область
Сообщений: 2,030


А если в макросе после S оставить только один слэш (\)? Он ведь означает пользовательский ввод.
skkkk на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 29.11.2016, 19:04
#822
Linkshunter

проектирование а/дорог
 
Регистрация: 03.07.2013
СПб
Сообщений: 145


Цитата:
Сообщение от skkkk Посмотреть сообщение
А если в макросе после S оставить только один слэш (\)? Он ведь означает пользовательский ввод.
все верно, тогда корректно сработает на добавлении одного контура(один клик мыши по одной полилинии, а ежели более одного или выбрать рамкой - то доп.запрос выйдет.Макрос заранее не знает,какое количество контуров планируется добавить )
Linkshunter вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 29.11.2016, 21:59
#823
skkkk

AutoCAD_2008->2011
 
Регистрация: 20.03.2008
Московская область
Сообщений: 2,030


Тогда, может, так:
Код:
[Выделить все]
^C^C_-HATCHEDIT;\_AD;_S;
skkkk на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.12.2016, 15:54
#824
Maksim7enov


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


Здравствуйте, прошу прощения если поставил вопрос не корректно. Решил написать простой макрос для перемещения объектов в точку 0,0,0. Так как опыта в написании у меня маловато то особо не получилось) Макрос работает только с 1 объектом, при выделении объектов рамой он просто переносит их на отрезок от начала координат до координаты самого объекта. Так же не работает если сначала выделить объект а потом вызывать команду. Подскажите пожалуйста в чем проблема и как ее решить.
Код:
[Выделить все]
^C^C_move;\;\0,0,0
----- добавлено через ~43 мин. -----
Все разобрался. Выбираем объекты. Вызываем команду. Задаем базовую точку и все.
Код:
[Выделить все]
^C^C_move;\0,0,0
Maksim7enov вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 09.01.2017, 11:26
#825
betonolom


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


Лисп был опубликован в этой теме:
Цитата:
Сообщение от TararykovDG Посмотреть сообщение
Astartes, попробуй так
Код:
[Выделить все]
 
(defun c:qsel()
  (vl-load-com)
  ((lambda(range)
     (if (not (vl-catch-all-error-p range))
       (sssetfirst nil (ssget "_X" (list (cons 0 "MULTILEADER") (cons 304 range))))
       )
     )
    (vl-catch-all-apply 'getstring
      (list t "\nВведите диапазон в формате [начало-конец]: ")
      )
    )
  (princ)
  ); end c:qsel
P.S. В ответ на запрос "Введите диапазон в формате [начало-конец]:" можно будет ввести, наример:
[1-10]
или
[2-6],[12-45]
и т.д.
У меня работает не корректно:
при запросе [1-18] выделяются выноски с позицией 1 и 8;
при запросе [7-23] выделяются выноски с позицией 7 и 3;
при запросе [20-36] выделяются выноски с позицией 1,3,6 и т.д.

Autocad 2015 64
Может кто-то сможет подсказать как исправить...
Вложения
Тип файла: dwg
DWG 2010
для_форума.dwg (209.5 Кб, 9 просмотров)

Последний раз редактировалось betonolom, 09.01.2017 в 14:08. Причина: добавлено вложение
betonolom вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 09.01.2017, 12:08
#826
skkkk

AutoCAD_2008->2011
 
Регистрация: 20.03.2008
Московская область
Сообщений: 2,030


betonolom, где файл (желательно в формате 2010)? Подозреваю, что там может быть форматирование в мультивыносках.
skkkk на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 10.03.2017, 14:27
#827
Browning Zed


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


Подскажите, как правильно задать макрос, чтобы он подгружал файл LSP, если функция не выполняется? Если команду нужно выполнить, но эта команда отсутствует, я вешаю на кнопку следующий макрос:
Код:
[Выделить все]
^C^C^P(if (not c:(***))(load"***.LSP"));^P(***);
Но почему-то с функциями этот макрос не прокатывает. Например, из этой программы: LISP. Выравнивание текста по двум точкам, мне нужно использование функцию (Kr_AligmentTextLine -2 "ang" 2 nil). Соответственно прописываю в макросе:
Код:
[Выделить все]
^C^C^P(if (not c:(Kr_AligmentTextLine -2 "ang" 2 nil))(load"Kr_AligmentTextLine.LSP"));^P(Kr_AligmentTextLine -2 "ang" 2 nil);
Но лисп не подгружается, и соответственно команда не выполняется. Что нужно сделать, чтобы это работало?
Browning Zed вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 10.03.2017, 18:02
#828
Krieger

инженер
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,546
Отправить сообщение для Krieger с помощью Skype™


Попробуй так:
Код:
[Выделить все]
^C^C(if (not Kr_AligmentTextLine)(load "Kr_AligmentTextLine.LSP"));(Kr_AligmentTextLine -2 "ang" 2 nil)
__________________
Делай хорошо, плохо само получится.
Krieger вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 07.05.2017, 21:44
#829
Walkmax


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


Скажите пожалуйста, есть ли возможность оперировать командой checkstandards через макрос?
Walkmax вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 07.05.2017, 22:01
#830
Кулик Алексей aka kpblc
Moderator

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


Насколько я помню, у команды _.checkstandards нет режима ком.строки. Так что макросом не получится.
P.S. Решения по обработке стандартов, кажется, на форуме были
__________________

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

Инженерные консультации
Опции темы Поиск в этой теме
Поиск в этой теме:

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

Быстрый переход

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

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


Размещение рекламы