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

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

Автоматический выбор заданного слоя

Ответ
Поиск в этой теме
Старый 06.10.2009, 13:42
Автоматический выбор заданного слоя
Aqualung
 
машиностроитель
 
Тольятти
Регистрация: 24.08.2009
Сообщений: 259

Можно ли сделать так, чтобы при выборе Construction Line автоматически выбирался слой "Вспомогательная". Собственно как реализовано в Компасе - а то приходится в 3 раза больше кликов делать: развернуть слои, выбрать слой, выбрать Constr. Line.
__________________
рисую чертежи... можно акварелью
Просмотров: 13785
 
Непрочитано 13.10.2009, 09:46
#41
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Vova Мы работаем в машиностроительной отрасли.
Может быть поэтому "расслоение" у нас небольшое. Для построения изображения используется 4-5 слоев, для остальных объектов-размеры, надписи, таблицы и т.п. тоже существуют свои слои. Поэтому у нас на "самом видном месте" 4-5 кнопочек с макросами типа как в посте 13.
Кто-то скажет "баян", но у нас прижилось.
Кулик Алексей aka kpblc "command возвращает nil" но линии-то рисует.
E-degtyarev вне форума  
 
Непрочитано 13.10.2009, 10:23
#42
Krieger

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


Цитата:
Сообщение от E-degtyarev Посмотреть сообщение
"command возвращает nil" но линии-то рисует.
Да нифига он не рисует. Слой создать сначала надо. Смысл функции while?
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 13.10.2009, 11:21
#43
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Цитата:
Слой создать сначала надо. Смысл функции while?
Слой конечно нужно создать.Подразумевается что он уже существует.
Смысл функции WHILE - линии рисуются многократно подряд, пока юзер не нажмет ESC либо правую кнопку мыши (зависит от настройки).

PS: извините, но мне кажется что здесь не обязательно выкладывать "обсосанные до кости" вещи.
E-degtyarev вне форума  
 
Непрочитано 13.10.2009, 11:43
#44
Krieger

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


Так если command выдает nil, то функция while сразу прерывается и не повторяет ничего. Повторяет у тебя сама команда xline. Т.е. от такого кода и твоего разницы никакой:
Код:
[Выделить все]
^C^C(setq clay (getvar "clayer"))(setvar "clayer" "Вспомогательная")(command "_.xline" "_Hor" pause )(setvar "clayer" clay)(setq clay nil)(princ);
Кстати в вспомогательном слое чертится всего 2 прямых, остальные в текущем.

Тогда уж так:
Код:
[Выделить все]
(defun kr (/ *error* clayer)
  (defun *error* (msg) (setvar "CLAYER" clayer))
  (setq clayer (getvar "CLAYER"))
  (command "_-layer" "_make" "Вспомогательная" "")
  (command "_xline" "_hor")
  (while (/= (logand (getvar "cmdactive") 31) 0)
    (command pause))
  (setvar "CLAYER" clayer))
Это в автозагрузку.
И на кнопку:
^C^C(kr)
__________________
Делай хорошо, плохо само получится.

Последний раз редактировалось Krieger, 13.10.2009 в 12:41.
Krieger вне форума  
 
Непрочитано 13.10.2009, 12:56
#45
Кулик Алексей aka kpblc
Moderator

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


А код
Код:
[Выделить все]
*^C^C_.xline;_hor;
уже не покатит?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.10.2009, 13:01
#46
Krieger

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А код
Код:
[Выделить все]
*^C^C_.xline;_hor;
уже не покатит?
Нафига, если эта команда и так цикличная?
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 13.10.2009, 13:13
#47
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Она нехорошо цикличная, только по второй точке.
Profan вне форума  
 
Непрочитано 13.10.2009, 14:11
#48
Krieger

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


Цитата:
Сообщение от Profan Посмотреть сообщение
Она нехорошо цикличная, только по второй точке.
С опцией "Hor" ей нужна одна точка.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 13.10.2009, 14:16
#49
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Все равно однобоко.
Profan вне форума  
 
Непрочитано 13.10.2009, 14:32
#50
Krieger

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


Тогда так:
Код:
[Выделить все]
*^C^C_xline;\\;
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 13.10.2009, 14:34
#51
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


А про слой забыл уже?
Profan вне форума  
 
Непрочитано 13.10.2009, 14:42
#52
Krieger

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


Если тебе надо, сделаю со слоем (код выше маленько подредактировать). В пустую не хочется...
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 13.10.2009, 14:45
#53
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Не, мне больше Лисп нравится.
Profan вне форума  
 
Непрочитано 13.10.2009, 14:47
#54
Krieger

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


А в 44-м постинге что?
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 13.10.2009, 14:48
#55
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Не знаю.
Не знаю, что такое "постинг".
Profan вне форума  
 
Непрочитано 13.10.2009, 15:00
#56
kheylan


 
Регистрация: 24.05.2009
Екатеринбург
Сообщений: 86


А чем вас не устраивает код из поста №16 под словом этот
http://forum.dwg.ru/showpost.php?p=295576&postcount=125
он идеально подходит для xline
добавил немного опций, со ссылками только не получилось, смотри файл
и создал панель инструментов XLINE
Горизонтальная прямая
Объект Xline строится горизонтально
^C^C_xline;_h;

Вертикальная прямая
Объект Xline строится вертикально
^C^C_xline;_v;

ПоОбъекту прямая
Объект Xline строится по объекту (не работает по примитивам блока и arx объектов сторонних навесок на автокад).Макрокоманда зациклена, выход по Esc
*^C^C_xline;_offset;_Through;_nea;\_none;@;;

Перпендикулярная прямая
^C^C_xline;_offset;_Through;_nea;\_none;@;^C^C_rotate;_last;;\90;

Биссектриса прямая
Биссектриса по 3 точкам
^C^C_xline;_b;\\\;

Все рисуется на слое 0_ВСП
Вложения
Тип файла: lsp LayerObjekt.LSP (20.1 Кб, 56 просмотров)

Последний раз редактировалось kheylan, 13.10.2009 в 15:18.
kheylan вне форума  
 
Непрочитано 30.05.2014, 11:34
#57
alexdub

инженер-конструктор
 
Регистрация: 20.05.2010
Сообщений: 20
<phrase 1=


Цитата:
Сообщение от ытя Посмотреть сообщение
^C^C_.xline;\\_chprop;_L;;_La;"Вспомогательная";;
нравится идея этого макроса, но он почему-то не работает...
как оказалось сама команда CHPROP не меняет слой. т.е. просто строю линию/полилинию, вызываю команду CHPROP и пытаюсь поменять слой с текущего "0" на ранее созданный "111", но ничего не происходит. почему так?
__________________
ломать - не строить : )
alexdub вне форума  
 
Непрочитано 30.05.2014, 12:28
#58
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Цитата:
Сообщение от alexdub Посмотреть сообщение
как оказалось сама команда CHPROP не меняет слой. т.е. просто строю линию/полилинию, вызываю команду CHPROP и пытаюсь поменять слой с текущего "0" на ранее созданный "111", но ничего не происходит.
команда _CHPROP меняет слой ПРИМИТИВА (у твоей линии/полилинии)
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Непрочитано 30.05.2014, 13:12
#59
alexdub

инженер-конструктор
 
Регистрация: 20.05.2010
Сообщений: 20
<phrase 1=


Цитата:
Сообщение от Alan Посмотреть сообщение
команда _CHPROP меняет слой ПРИМИТИВА (у твоей линии/полилинии)
вопрос не в этом... xline - примитив.
разобрался в чем дело, после выбора слоя в команде CHPROP я неосознанно прерывал команду. все работает.
Но макрос ^C^C_.xline;\\_chprop;_L;;_La;"111";; все равно не работает...
__________________
ломать - не строить : )
alexdub вне форума  
 
Непрочитано 30.05.2014, 13:43
#60
Krieger

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


Цитата:
Сообщение от alexdub Посмотреть сообщение
вопрос не в этом... xline - примитив.
разобрался в чем дело, после выбора слоя в команде CHPROP я неосознанно прерывал команду. все работает.
Но макрос ^C^C_.xline;\\_chprop;_L;;_La;"111";; все равно не работает...
Точек с запятыми не хватает.
Код:
[Выделить все]
^C^C_.xline;\\;_chprop;_L;;_La;"0";;
Хотя лучше сделать другую последовательность. Сначала запросить точку. Потом построить горизонтальную прямую. Кинуть её в нужный слой. После чего задать команду поворота с указанной ранее базовой точкой.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Автоматический выбор заданного слоя

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор в автокаде ASЪ AutoCAD 39 26.06.2014 20:19
VBA. Размораживание слоя, построение объекта в нем, замораживание слоя = ошибка Alexey_02 Программирование 3 06.03.2009 22:33
Состояние защитного слоя панели перекрытия Иван 80 Конструкции зданий и сооружений 6 10.02.2009 00:20
Выбор слоя из командсной строки klopius AutoCAD 5 16.05.2007 19:56
Выбор блоков по значению слоя атрибута Serge_Y Программирование 2 15.11.2006 22:43