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

Вернуться   Форум 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:
Просмотров: 448797
 
Непрочитано 17.05.2018, 11:45
1 | #881
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от Rijik-pijik Посмотреть сообщение
Подскажите пожалуйста как в этом макросе отредактировать точность площади до м2
из кв. мм в кв. м
^C^C^P_.area;_Object;\^C(setq txt (/(getvar "AREA")1e6)(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)

2 знака после запятой
^C^C^P_.area;_Object;\^C(setq txt (atof(rtos(getvar "AREA")2 2))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
koMon вне форума  
 
Непрочитано 25.05.2018, 19:06
#882
Rijik-pijik


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


koMon, Спасибо за ответ. К сожалению не работает (((
Rijik-pijik вне форума  
 
Непрочитано 25.05.2018, 20:01
1 | #883
engngr

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


Цитата:
Сообщение от Rijik-pijik Посмотреть сообщение
К сожалению не работает (((
У вас скобок перебор, а в коде макрокоманды наоборот.
Цитата:
Сообщение от koMon Посмотреть сообщение
^C^C^P_.area;_Object;\^C(setq txt (atof(rtos(getvar "AREA")2 2))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
Д.б.
^C^C^P_.area;_Object;\^C(setq txt (atof(rtos(getvar "AREA")2 2)))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
engngr на форуме  
 
Непрочитано 25.05.2018, 20:19
1 | #884
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от engngr Посмотреть сообщение
Д.б.
^C^C^P_.area;_Object;\^C(setq txt (atof(rtos(getvar "AREA")2 2)))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
Rijik-pijik, ну теперь-то заработает точно!
koMon вне форума  
 
Непрочитано 25.05.2018, 21:44
#885
Rijik-pijik


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


Цитата:
Сообщение от engngr Посмотреть сообщение
У вас скобок перебор, а в коде макрокоманды наоборот.

Д.б.
^C^C^P_.area;_Object;\^C(setq txt (atof(rtos(getvar "AREA")2 2)))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
Работает )) только нулей после запятой много очень
Rijik-pijik вне форума  
 
Непрочитано 29.05.2018, 10:46
#886
skkkk


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


Цитата:
Сообщение от Rijik-pijik Посмотреть сообщение
только нулей после запятой много очень
За их количество отвечает переменная LUPREC
skkkk вне форума  
 
Непрочитано 29.05.2018, 20:47
1 | #887
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от Rijik-pijik Посмотреть сообщение
только нулей после запятой много очень
Д.д.б.)
^C^C^P_.area;_Object;\^C(setq txt (rtos(getvar "AREA")2 2))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
koMon вне форума  
 
Непрочитано 01.06.2018, 18:10
#888
asas


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


[quote=koMon;1733509]Д.д.б.)
^C^C^P_.area;_Object;\^C(setq txt (rtos(getvar "AREA")2 2))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)[/
А можно как-то сделатъ чтобы в конце единицы показывал ? Спасибо, класная штука

----- добавлено через ~4 мин. -----
А вот так же проставитъ длину полилини можно?
asas вне форума  
 
Непрочитано 01.06.2018, 18:39
#889
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от asas Посмотреть сообщение
А вот так же проставитъ длину полилини можно?
Макросом - вряд ли.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.06.2018, 19:23
#890
asas


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


^C^C_area о \_text \;;%%u$M=$(*,$(fix,$(*,$(getvar,area),0.0001)),0.01)м%%178;

Почему етот макрос у меня нули показывает, чего ему не хватает ?

Последний раз редактировалось asas, 01.06.2018 в 19:30.
asas вне форума  
 
Непрочитано 02.06.2018, 08:32
1 | #891
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от asas Посмотреть сообщение
А можно как-то сделатъ чтобы в конце единицы показывал ?
думаю можно так
^C^C^P_.area;_Object;\^C(setq txt (strcat(rtos(getvar "AREA")2 2)" Единицы"))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)

Цитата:
Сообщение от asas Посмотреть сообщение
А вот так же проставитъ длину полилини можно?
и так, возможно
^C^C^P_.list;;\^C(setq txt (strcat(rtos(getvar "PERIMETER")2 2)" Единицы"))(graphscr)(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
koMon вне форума  
 
Непрочитано 02.06.2018, 09:11
#892
asas


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


Цитата:
Сообщение от koMon Посмотреть сообщение
думаю можно так
^C^C^P_.area;_Object;\^C(setq txt (strcat(rtos(getvar "AREA")2 2)" Единицы"))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)


и так, возможно
^C^C^P_.list;;\^C(setq txt (strcat(rtos(getvar "PERIMETER")2 2)" Единицы"))(graphscr)(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
Спасибо, а можно маштабный коэфициент, чтобы в метрах показывать?

На линию почему-то не проставляет ее длину
asas вне форума  
 
Непрочитано 03.06.2018, 15:06
#893
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от asas Посмотреть сообщение
Спасибо, а можно маштабный коэфициент, чтобы в метрах показывать?
площадь или длину?

Цитата:
Сообщение от asas Посмотреть сообщение
На линию почему-то не проставляет ее длину
Для ПОЛИЛИНИИ и др. примитивов, для которых команда List считает периметр! В остальных случаях последний посчитанный периметр.
^C^C^P_.list;_si;\^C(graphscr)(setq txt (strcat(rtos(getvar "PERIMETER")2 2)" Единицы"))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
koMon вне форума  
 
Непрочитано 03.06.2018, 17:19
#894
asas


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


Цитата:
Сообщение от koMon Посмотреть сообщение
площадь или длину?
Спасибо, площадь получаетъся в квадратных милиметрах, хотелосъ бы в метрах, линии тоже желателъно в метрах, спасибо

Последний раз редактировалось asas, 03.06.2018 в 17:24.
asas вне форума  
 
Непрочитано 03.06.2018, 20:22
2 | #895
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от asas Посмотреть сообщение
Спасибо, площадь получаетъся в квадратных милиметрах, хотелосъ бы в метрах, линии тоже желателъно в метрах, спасибо
площадь
^C^C^P_.area;_Object;\^C(setq txt (strcat(rtos(*(getvar "AREA")1e-6)2 2)" кв.м"))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
длина
^C^C^P_.list;_si;\^C(graphscr)(setq txt (strcat(rtos(*(getvar "PERIMETER")1e-3)2 2)" м"))(princ "Укажите точку")(command "_text" pause "" "" txt)(princ)
koMon вне форума  
 
Непрочитано 04.06.2018, 08:16
#896
Кулик Алексей aka kpblc
Moderator

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


Это в LT работать не будет - используются лисповые конструкции.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.06.2018, 22:40
#897
Rijik-pijik


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Это в LT работать не будет - используются лисповые конструкции.
Такая чудесная команда , а на рабте LT
Rijik-pijik вне форума  
 
Непрочитано 05.06.2018, 08:54
#898
asas


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


Не поиму почему на одном и том же чертеже показывает длину то в цм то мм, как понимаю что-то задано не так у меня, посоветуите что небутъ пожалуиста, какие предположение, сдпасибо
asas вне форума  
 
Непрочитано 07.11.2018, 15:00
#899
Alex_Shaton


 
Регистрация: 09.09.2017
Гомель
Сообщений: 19


Подскажите, пожалуйста, как макрокомандой можно изменить текстовый стиль и масштаб аннотаций, запустить лисп, а после завершения его работы вернуть текстовый стиль и масштаб аннотаций на установленные по умолчанию? Пробовал по-всякому, в командной строке либо ничего, либо - слишком много аргументов.
Alex_Shaton вне форума  
 
Непрочитано 07.11.2018, 15:07
#900
Кулик Алексей aka kpblc
Moderator

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


Запоминаешь значения системных переменных, устанавливаешь нужные, выполняешь лисп, восстанавливаешь исходные значения переменных. В чем вопрос-то?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум 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