Re: Как повесить на свою кнопку пунктирную линию?

> Apelsinov
Разве есть три опции на одной кнопке или в toolpalettes?  dverovoz надо не больше и не меньше.
Тем более для коллег организовывает работу.
На кнопку нажал и все. Обьясняй им что такое  toolpalettes, да настраивай. Специфика:) Да можно, наверное, и LISP задействовать. Главное что бы от кнопки.
Я где то dverovoz понимаю.
Макрос на смену фона Вы написали. Я без него и не знаю как бы работал. Очень сложный макрос.

Re: Как повесить на свою кнопку пунктирную линию?

> dverovoz
Ничего не надо копировать. В файле с точками точно также можно создать слои, как и новом файле. Даже можно отдельную кнопку предусмотреть для автматического создания слоев. И вашем и в моем способе есть одно слабое место. Хорошо, если вы рисуете только полилиниями и только на определенных слоях с определенными типами линий. А если это не так? Предположим, вы отрисовали полилинию  на слое "2Канализация". Этот слой в данный момент является текущим. Но вам надо нарисовать еще что-то вспомогательное, скажем, прямоугольник. Если вы не переключитесь на другой слой, то этот прямоугольник нарисуется на слое "2Канализация" типом линии ACAD_ISO02W100. Может такое быть? Особенно у "не шибко грамотных пользователей"? В программе на AutoLisp'е можно предусмотреть автоматический возврат к слою, который был текущим до отрисовки Канализации. Можно это предусмотреть и в макросе, только он сильно усложнится.
Вот примерный макрос для вашего варианта:

^C^C^P_-layer;_M;2Канализация;_L;ACAD_ISO02W100;;;_pline;

Re: Как повесить на свою кнопку пунктирную линию?

> Владимир Громов
Тема, конечно, не моя. Не мне решать. Но две задачи выполнены. Во! Это уже другое дело.

Re: Как повесить на свою кнопку пунктирную линию?

> Forma
,А что за макрос для смены фона, может мне пригодится.
Кстати, я  и как вы, тоже переключаю слои с автоматическим началом отрисовки полилинии. Правда я ненавижу кнопки, у меня это повешено на комбинацию клавиш, благо 2006 позволяет. Я нажимаю ctrl+shift+Q и у меня, например, начинает отрисовыватся линия ----Г----, далее я нажимаю ctrl+shift+W и у меня, например, начинает отрисовыватся линия ----В---- и тд. А вообще я доделываю вещь для палитры, где будет блок, обозначающий водопроводный люк, под блоком wipeout (маскировка), рядом с блоком атрибут, обозначающий номер ( типа ВК-12); из середины блока будет выходит размер в виде одной лишь линии, суффиксы и префиксы превратят размер в « l=22.5м », а под размером будет атрибут, обозначающий материал (типа  чуг 100) и, наконец, всю эту хренотень можно (нужно) будет крутить при вставке, чтоб задать направление. Извиняюсь за злостный офтоп.

Re: Как повесить на свою кнопку пунктирную линию?

> Незнайка
Да это без разницы с кнопки или с клавиатуры. Главное что- бы в таком режиме работать. В смысле не думать о переключении слоев. Ну Вы вообще круто работаете. Я бы так не смог. Слишком быстро для меня. Относительно фона off'top получается. Незнаю как быть. Почтой отвечу.

Re: Как повесить на свою кнопку пунктирную линию?

> Незнайка
Так я еще и привязки таким образом переключаю:)))

Re: Как повесить на свою кнопку пунктирную линию?

> Forma
, ну с привязками батенька Вы ихмо перемудрили. У меня по умолчанию все включены, даже ближайшая, но у меня постоянно рука на Ф3 и  вдобавок у меня даже кнопка на мышке одна запрограммирована на Ф3, а другая esc

Re: Как повесить на свою кнопку пунктирную линию?

> Незнайка
С привязками по второму кругу я не поведусь.:)))
Один круг уже был и я остался при своем мнении. Жизнь это доказала. Но не могу удержаться от вопроса. Так и прет из меня. Привязки по умолчании в AutoCAD вроде нет. Когда сбрасываешь привязки они обратно не восстанавливаются. Так?
p.s. Прошу прощения за off-top.

Re: Как повесить на свою кнопку пунктирную линию?

> Forma
я не могу понять вопроса,попробую ответить как понял. как только я установил в автокад, я захожу в привязки и нажимаю "выбрать все". Вот так и работаю, а как они начинают мешать нажимаю ф3, делаю своё дело, и как только я зануждался в привязках, я снова нажимаю ф3. Я за час может раз сто , а то и 200 нажимаю на кнопку ф3 и как она только жива :)
p.s. Прошу прощения за off-top.

Re: Как повесить на свою кнопку пунктирную линию?

> Незнайка
Понял. Согласен. Я действительно перемудрил в свое время. Хотя работает. У меня тогда не было приличной мыши, правая рука занята. F3 на мыши все перекрывает. Согласен.

Re: Как повесить на свою кнопку пунктирную линию?

> dverovoz
Давай разберемся.
1. Книгу все-таки купить придется. В.Свет, "AutoCAD Язык макрокоманд и создание кнопок". Лично у меня изучение программирования под кад именно с нее и начиналось.
2. Сначала надо создать слой, задав ему тип линии, вес линии, цвет, имя, потом сделать его активным, рисовать чего-то там. Так?
И вдобавок работать надо в расчете, что такая система будет не только для новых файлов (где можно и шаблон применять), но и для старых - т.е. шаблон не катит уже гарантированно, а проверка стандартов не работает по причинам "очень долго, муторно и вручную".
Тут есть несколько тонкостей: если в типе линии используется текст с определенным стилем, этот стиль надо создать, иначе гарантированно будет ошибка при загрузке типа линии.
Для создания своего стиля (обзовем его "txt_style") будем пользовать:

^C^C_.-style;[b]txt_style[/b];simplex.shx;0;0.8;0;_no;_no;_no;

Теперь можно и тип линии подгрузить (пущщай будет "lt", описан в файле "d:\cad\lines.lin":

^C^C_.-linetype;_load;[b]lt[/b];"d:\\cad\\lines.lin";;

Создаем собственно слой (Layer001):

^C^C_.layer;_make;Layer001;_ltype;[b]lt[/b];;_lweight;0.25;;_color;110;;_thaw;;_unlock;;;

И устанавливаем системные переменные

^C^C_celtype;bylayer;_celweight;-1;_cecolor;bylayer

Теперь объединяем все, что раньше наваяли, в одно (записать в одну строку, удалив лишние Enter):

^C^C_.-style;[b]txt_style[/b];simplex.shx;0;0.8;0;_no;_no;_no;
^C^C_.-linetype;_load;[b]lt[/b];"d:\\cad\\lines.lin";;
^C^C_.layer;_make;Layer001;_ltype;[b]lt[/b];;_lweight;0.25;;_color;110;;_thaw;;_unlock;;;
^C^C_celtype;bylayer;_celweight;-1;_cecolor;bylayer;
_.pline;

Согласен с > Apelsinov (2005-12-28 22:14:14) - достаточно быстро можно упереться (как у меня это произошло) в некоторые ограничения (ограничения скорее психологические, чем технические) по макросам - например, если завтра по каким-либо причинам потребуется сменить настройки текстового стиля, потребуется переделывать все свое меню. А если оно еще и на несколько машин скопировано, то вообще труба. В лиспе же подобные задачки решаются проще и быстрее (имхо). И я свалился в лисп.

> Forma
См. osmode: значение сохраняется в чертеже. Т.е. если на определенный момент было выполнено (setvar "osmode" 0), то потом достаточно нажать F3, и режим будет восстановлен. Писать под это дело дополнительные приложения имхо не требуется.

Re: Как повесить на свою кнопку пунктирную линию?

Поправочка: на https://www.caduser.ru/oldlink/acad/?var_name=osmode говорится, что переменная сохраняется в реестре. Я обшибся, в чем дико раскаиваюсь.

Re: Как повесить на свою кнопку пунктирную линию?

> kpblc
Я думаю, что если типы линий будут использоваться из acad.lin (acadiso.lin), то макрос можно упростить, исключив из него создание текстового стиля и загрузку типа линии.

Re: Как повесить на свою кнопку пунктирную линию?

> kpblc
Вообще-то это хреново, IMHO. Вот у меня загружены 3 рисунка. В одном из них я отключил все привязки (снял галочки), так эти привязки отключились и в остальных двух.

Re: Как повесить на свою кнопку пунктирную линию?

> Владимир Громов
Я на это не обращал специального внимания, поскольку у меня, как правило, все привязки отключены, но, может, именно по этой причине Forma хотел "посадить" нужные привязки на макрос?

Re: Как повесить на свою кнопку пунктирную линию?

> Владимир Громов
Так я ж говорил про универсальное решение... Вообще-то можно и блок внешний вставлять, в котором прописаны настройки текстового и размерного стиля, правда, и тут без подводных камней не обойдется.

Re: Как повесить на свою кнопку пунктирную линию?

> kpblc
Любят вот отдельные товарищи универсальные решения...:-)
Чтоб всем сестрам по серьгам, IMHO.

Re: Как повесить на свою кнопку пунктирную линию?

> Владимир Громов
Ага. Зато работать будет в любой ситуации, даже если (для варианта вставки блока) файл-блок накрылся по каким бы то ни было причинам, или его переименовали, или переместили, или еще что... :)

Re: Как повесить на свою кнопку пунктирную линию?

> dverovoz
Цитата из http://www.autocad.ru/cgi-bin/f1/board.cgi-t=9557ly
"...Если открыт файл, в котором есть много
пунктирных зеленых и тонких полосок, то велика
вероятность, что захочется рисовать в этом файле такие
же. Для этого достаточно щелкнуть по изображению и
запускается команда, которой это изображение создано..."
Я думаю, что это годится и для твоего случая.
Там опубликован вариант от Vova (2005-01-09 00:41:34).
Если захочется, могу подбросить и свой вариант.

Re: Как повесить на свою кнопку пунктирную линию?

> ttt
Хе-хе, ссылочка-то дохлая... Если можно, то вариант и от Vova, и свой опубликуй?

Re: Как повесить на свою кнопку пунктирную линию?

> kpblc

> Владимир Громов

> ttt
Работу проделали большую и хорошую. Но остался третий пункт. А именно:
что- бы можно было кроме этого, еще и отправлять в данный слой заселектированный обьект. Т.е., заселектировал обьект , кликнул по кнопке и этот обьект переходит в соответствующий слой. Что скажете?

Re: Как повесить на свою кнопку пунктирную линию?

> Forma
Я - ничего не скажу. По этому поводу автор темы ничего не спрашивал.

Re: Как повесить на свою кнопку пунктирную линию?

_.matchprop И никаких макросов.

Re: Как повесить на свою кнопку пунктирную линию?

> Владимир Громов
Но это так и просится. Ладно. Я не разбираюсь в таких чертежах, но здесь присутствует только полилиния. А другие сущности. Такие как окружность, дуга, линия. Они, что не нужны что ли?

Re: Как повесить на свою кнопку пунктирную линию?

> kpblc
Не проходит. Т.к. может так статься, что нет обьектов с которых можно взять.