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

Вернуться   Форум 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:
Просмотров: 448770
 
Непрочитано 01.05.2014, 06:11
#701
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Макросом не получается.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 01.05.2014, 08:14
#702
Karloson1


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


День добрый всем.
Помогите как сделать команду
_Spline;\_ai_draworder _Back
сплайн спрашивает только 1 точку и переходит к выбору объекта для опускания на задний план
Как сделать так чтоб сплайн чертился а по завершению опускался назад даже может и _last
Karloson1 вне форума  
 
Непрочитано 01.05.2014, 09:03
#703
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Цитата:
Сообщение от Karloson1 Посмотреть сообщение
День добрый всем.
Помогите как сделать команду
_Spline;\_ai_draworder _Back
сплайн спрашивает только 1 точку и переходит к выбору объекта для опускания на задний план
Как сделать так чтоб сплайн чертился а по завершению опускался назад даже может и _last
Пробуй:
Код:
[Выделить все]
^C^C(vl-load-com) (VL-CATCH-ALL-APPLY '(lambda()(command "_.SPLINE")(while (> (getvar "CMDACTIVE") 0) (command pause)))) (command "_draworder" "_l" "" "_b")
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 01.05.2014, 09:22
#704
Karloson1


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


Krieger
Попробовал но сплайн работает а на задний план не опускает
Karloson1 вне форума  
 
Непрочитано 01.05.2014, 10:07
#705
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Цитата:
Сообщение от Karloson1 Посмотреть сообщение
Krieger
Попробовал но сплайн работает а на задний план не опускает
Попробуй так:
Код:
[Выделить все]
^C^C(vl-load-com) (progn (VL-CATCH-ALL-APPLY '(lambda()(command "_.SPLINE")(while (> (getvar "CMDACTIVE") 0) (command pause)))) (command "_draworder" "_l" "" "_b"))
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 01.07.2014, 11:18
#706
Агент СмиТ

Gti
 
Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121


Доброго дня всем!
Помогите пожалуйста доработать макрос объединения ячеек таблицы в строке:
Код:
[Выделить все]
*^R^C^C_EditTableCell \\o;m;h;q
При запуске макрос просит указать таблицу, а затем номер её строки. Можно ли сделать ввод нескольких номеров за один вызов, или хотя бы подавить запрос на повторный выбор таблицы?
__________________
Каждая система стремится к равновесию.
Агент СмиТ вне форума  
 
Непрочитано 01.07.2014, 12:00 Макрос на основе команды _pedit
#707
kpectoff


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


Добрый день. Столкнулся с проблемой.
Есть замкнутый контур, состоящий из отрезков. Мне необходимо его (контур) превратить в полилинию и перенести её на текущий слой.
Я написал макрос:
^C^C_pedit;\;Д;\;;_laycur;_last;
Макрос не работает. После объединения в полилинию команда _pedit не прирывается. Помогите, пожалуйста, решить проблему.
kpectoff вне форума  
 
Непрочитано 01.07.2014, 12:49
#708
CaMoCAD


 
Регистрация: 25.03.2008
Зелик
Сообщений: 1,576


Ключ "Д" - это добавить? Если выбираете рамкой, - то надо 2 тыка ...Д;\\...
__________________
* Буква "ё" не используется в тексте исключительно в связи с требованиями ЕСКД.
CaMoCAD вне форума  
 
Непрочитано 01.07.2014, 14:35
#709
kpectoff


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


Цитата:
Сообщение от CaMoCAD Посмотреть сообщение
Ключ "Д" - это добавить? Если выбираете рамкой, - то надо 2 тыка ...Д;\\...
Большое спасибо, всё сработало!
кому, если вдруг нужно, рабочий скрипт:
^C^C_pedit;\;Д;\\;;_laycur;_last;
kpectoff вне форума  
 
Непрочитано 15.10.2014, 08:08
#710
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
^C^C^Plunits;2;luprec;2;aunits;0;auprec;2
Спасибо, то что искал. Последнее время кому то нравится устанавливаь углы в градусы/минуты/ сек. Их потом при необходимости вводить не очень удобно, в десятичных удобнее. Просто добавил в макрос сохранениея, и теперь сохранив всё установилось как нужно.
Valery Brelovsky вне форума  
 
Непрочитано 28.10.2014, 23:15
#711
off

геодезист
 
Регистрация: 11.11.2006
Ростов-на-Дону
Сообщений: 95
<phrase 1= Отправить сообщение для off с помощью Skype™


Целью создания макроса было создание нескольких кнопок для оперативной печати листов формата А4, А3 на заданном принтер и сохранение в PDF. В качестве виртуального принтера PDF используется PDFCreator, в качестве реального принтера струйник WF-7010 (возможна печать А3 и А4). Принтер имеет некоторые особенности, с которыми пришлось бороться.
Введение: Основой макроса является команда -plot. Команда имеет большое количество параметров, чтобы не запутаться с ними и нужен xls файл. Основными являются:
-Формат бумаги
-PC3 файл
-Ориентация листа (Portrait/Landscape)
1. Создаем *.pc3 для каждого принтера, который вы планируете использовать, изменяем если требуется поля печати (в pdf обязательно выставлять в 0, для реальных принтеров все зависит от их возможностей печатать без полей). При изменении полей, ограничении списка выводимых форматов создается pmp файл. Желательно также как и с pc3 придерживаться какой-то системы в их наименовании.
2.Определяемся с наименованиями форматов бумаги. В PDFCreator форматы называются просто A3, A4. В реальном принтере могут быть варианты, так у моего принтера формат А4 именуется так A4 (210 x 297 mm) .
3.Определяемся с ориентацией листа.
Выполнив пункты 1-3 открываем файл xls и вносим в соответствующие ячейки ваши данные. В нижней строчке все параметры с помощью функции СЦЕПИТЬ объединяются в одну строку, которая и будет макросом. Выполняем Копировать-Вставить значения и вставляем строчку в соседнюю ячейку. Теперь в этой ячейке содержится нужный нам текст, который вставляется на кнопку или в инстр.палитру. (лучше сначала вставить в палитру, на время отладки, а потом уже переносить на панель в виде кнопки).
Полученный макрос будет иметь примерно такой вид:
Код:
[Выделить все]
_imageframe 2;_PSLTSCALE 0;_wipeout _f;_off;$M=$(if,$(eq,$(getvar,tilemode),1),^C^C_-PLOT;_Y;Model;A4_WF7010;A4 (210 x 297 mm);_M;_P;_N;_W;\\_F;"0,0";_Y;.;_Y;_A;_N;_N;_Y,^C^C_-PLOT;_Y;;A4_WF7010;A4 (210 x 297 mm);_M;_P;_N;_W;\\_F;"0,0";_Y;.;_Y;_N;_N;_N;_N;_N;_Y)
В начале макроса код
Код:
[Выделить все]
_imageframe 2;_PSLTSCALE 0;_wipeout _f;_off;
отношения к команде PLOT не имеет, просто выполняются полезные для печати действия - контур растров становится непечатаемым, отключается масштабирование типов линий в пространстве листа, отключаются рамки маскировки. Если что из этого вам не нужно - просто убираете ненужное из кода (в экселе этот перечень в отдельной ячейке хранится).
Часть кода
Код:
[Выделить все]
$M=$(if,$(eq,$(getvar,tilemode),1)....
определяет находитесь ли вы в пространстве листа или модели и активирует соответствующую ветвь алгоритма, т.к. у команды -PLOT немного отличаются параметры в разных пространствах.
После выполнения этих муторных действий вы получите набор кнопок с помощью которого можно быстро напечатать несколько листов, не заморачиваясь на выставления параметров печати. Для всего остального есть листы или мощные проги типа той, которую развивает bargool или платной программы, которая печатает с использованием блоков/рамок.

В приложении иконки для кнопок и экселевский файл, упрощающий написание макроса. В файле все параметры и команды на английском с _.

Что касается борьбы с принтером WF-7010 - у него есть два лотка, первый соответственно для А4, второй для А3. Автоматом он не выбирает какую брать бумагу, поэтому пришлось задавать это явно и создавать по pc3 файлу для каждого формата. К тому же оказалось что пользовательские форматы листов можно добавлять только для первого лотка (хотел создать форматы А3 и А4 вместо А4(297x210 mm) и A3 (11***in).
Вложения
Тип файла: rar PLOT.rar (13.5 Кб, 53 просмотров)
off вне форума  
 
Непрочитано 28.10.2014, 23:54
#712
skkkk


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


Offtop: off, спасибо, что поделился плодами своих трудов. Получилась целая статья
skkkk вне форума  
 
Непрочитано 30.10.2014, 11:05
#713
off

геодезист
 
Регистрация: 11.11.2006
Ростов-на-Дону
Сообщений: 95
<phrase 1= Отправить сообщение для off с помощью Skype™


В дополнение к #711.
Макрос для печати последней конфигурации:
для англ.версии ^C^C_-plot _N;Model;previous plot;;_N;_N;_Y;
для русской версии ^C^C_-plot _N;Model;Предыдущая печать;;_N;_N;_Y;
Повторяет печать с последними настройками.
off вне форума  
 
Непрочитано 30.12.2014, 17:15
#714
mateus


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


ни как не могу создать команду поворот по базовой точке по двум точкам, может кто поможет к новому году?
mateus вне форума  
 
Непрочитано 30.12.2014, 19:20
#715
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от mateus Посмотреть сообщение
поворот по базовой точке по двум точкам
Возможно, это сгодится?
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 31.12.2014, 08:30
#716
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Цитата:
Сообщение от mateus Посмотреть сообщение
ни как не могу создать команду поворот по базовой точке по двум точкам, может кто поможет к новому году?
Лови
Код:
[Выделить все]
(defun c:kr () (setq ss (ssget)) (command "_rotate" ss "" pause "_r" (getvar "lastpoint") pause));kr
Собственно уже было в этой теме.
http://forum.dwg.ru/showpost.php?p=330892&postcount=123
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 31.12.2014, 13:36
#717
mateus


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


огромное всем спасибо
с наступающим всем
успехов в новом году
mateus вне форума  
 
Непрочитано 06.01.2015, 17:00
#718
mateus


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


можно ли чтоб созданная команда работала с клавиатуры?
mateus вне форума  
 
Непрочитано 06.01.2015, 17:13
#719
Кулик Алексей aka kpblc
Moderator

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


Напиши лисп, гарантируй его загрузку.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.01.2015, 16:49
#720
mateus


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


(defun c:kr () (setq ss (ssget)) (command "_rotate" ss "" pause "_r" (getvar "lastpoint") pause));kr
можно ли чтоб созданная команда работала с клавиатуры?
mateus вне форума  
Ответ
Вернуться   Форум 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