Тема: Проблема: Длинный макрос кнопки выполняется не полностью (autocad 2008)

Не могу найти причину не полного выполнения длинного макроса в 2008 автокаде.
То есть макрос заканчивается раньше чем положено - в моем случае строка: "команда: (setvar 'osm"
и все - только esc дальше.

На всякий случай текст макроса:
^C^C^Z(setq sosm (getvar "osmode"));(setq sla (getvar "clayer"));_ucs;_w;_-layer;_make;signal;;_osmode;0;_cal;pd1=[7.00,5.67];_cal;pe1=[1.90,7.40];_osmode;1;_line;!pd1;\;_osmode;0;_cal;pd2=@;(setq dsig (ssget));_last;;(setvar "userr5" (distance pd1 pd2));(setvar "userr4" (distance pe1 pd2));_cal;Pdi=pld(pd2,Pd1,3);_cal;pei=pld(pd2,pe1 ,3);_line;!pe1;!pd2;;(setq esig (ssget));_last;;_-layer;_make;a_p_l;;_dimaligned;!pdi;!pd2;_text;$m= $(rtos,$(getvar,userr5),2,2);!pd2;(setq ddsig (ssget));_last;;_dimaligned;!pei;!pd2;_text;$m=$(r tos,$(getvar,userr4),2,2);!pd2;(setq desig (ssget));_last;;_-insert;petr;!pei;;;;(setq bdsig (ssget));_last;;_-insert;dubr;!pdi;;;;(setq besig (ssget));_last;;(setvar 'osmode sosm);(setvar 'clayer sla);_ucs;_p;


Если макрос сократить, то работает нормально.
Макрос забивал через Сервис - адаптация - интерфейс, далее находил свою кнопку - редактор длинных строк.


Подскажите пожалуйста в чем может быть причина этого глюка? В справке написано, что макрос может быть любой длины

Re: Проблема: Длинный макрос кнопки выполняется не полностью (autocad 2008)

Сам макросами не балуюсь....
Но помню, что при адаптации меню (*.mns/mnu) было ограничение длины строки (что-то типа 256 символов).
В этом случае использовался знак плюс +
Попробуйте разбить, типа так:
^C^C^Z(setq sosm (getvar "osmode"));(setq sla (getvar "clayer"));_ucs;_w;_-layer;_make;signal;;_osmode;0;_cal;pd1=[7.00,5.67];_cal;pe1=[1.90,7.40];_osmode;1;_line;!pd1;\;_osmode;0;_cal;pd2=@;(setq dsig (ssget));_last;;+
(setvar "userr5" (distance pd1 pd2));(setvar "userr4" (distance pe1 pd2));_cal;Pdi=pld(pd2,Pd1,3);_cal;pei=pld(pd2,pe1 ,3);_line;!pe1;!pd2;;(setq esig (ssget));_last;;_layer;_make;a_p_l;;_dimaligned;!pdi;!pd2;_text;$m= $(rtos,$(getvar,userr5),2,2);!pd2;+
(setq ddsig (ssget));_last;;_dimaligned;!pei;!pd2;_text;$m=$(r tos,$(getvar,userr4),2,2);!pd2;(setq desig (ssget));_last;;+
_-insert;petr;!pei;;;;(setq bdsig (ssget));_last;;_-insert;dubr;!pdi;;;;(setq besig (ssget));_last;;(setvar 'osmode sosm);(setvar 'clayer sla);_ucs;_p;