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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Работа команды "LAYOFF"

Работа команды "LAYOFF"

Ответ
Поиск в этой теме
Непрочитано 21.06.2006, 12:49
Работа команды "LAYOFF"
balk
 
С-Петербург
Регистрация: 21.06.2006
Сообщений: 51

Имеется очень удобная для работы со сборками в 3D-модели команда "LAYOFF", которая последовательно "гасит" слои при выборе и указании расположенных на них обьектов.
Но у меня на сборках с перекрывающими друг друга деталями она работает так, что сначала "гасит" нижние (скрытые) детали,и только затем видимые верхние.
Можно ли настроить команду так, чтобы "гасить" сначала слои с теми обьектами на которые указываешь- "верхними" видимыми деталями?
Просмотров: 6800
 
Автор темы   Непрочитано 29.06.2006, 10:12
#21
balk


 
Регистрация: 21.06.2006
С-Петербург
Сообщений: 51


Цитата:
Сообщение от Аshаs-ка
Вот я слой заморозил пупочкой из экспрессов, нарисовал чего- нибудь, а обратно включить кнопочки нету...
Для заморозки слоя по обьекту существует команда "LAYFRZ" (layer freeze), для разморозки всех ранее замороженных слоев существует команда "LAYTHW" (thaw all layers).
Набираем в командной строке.
balk вне форума  
 
Непрочитано 29.06.2006, 10:41
#22
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Аshаs-ка
Вот я слой заморозил пупочкой из экспрессов, нарисовал чего- нибудь, а обратно включить кнопочки нету...
Включать все? Или по одному? Если по одному, то я б попробовал сделать примерно так (только логика, кода пока нет): список отключенных слоев хранится в глобальном списке (при выходе из када список будет обнуляться, так что такое развитие ситуации надо предусматривать) либо словаре (для замороженных слоев аналогично). При разморозке одного слоя выполняется включение либо разморозка слоя и замена данных в списке либо словаре.
Времени нет совершенно, к сожалению, так что реализацию (если надо) оставлю на других профессионалов
Для одновременной разморозки и разблокирования слоев можно сделать примерно так:
Код:
[Выделить все]
(defun c:layonthaw (/ adoc)
  (vl-load-com)
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  (vla-startundomark adoc)
  (vlax-for item (vla-get-layers adoc)
    (if	(or (= (vla-get-freeze item) :vlax-false)
	    (= (vla-get-layeron item) :vlax-true)
	    ) ;_ end of or
      (progn
	(vla-put-layeron item :vlax-true)
	(vl-catch-all-apply 'vla-put-freeze (list item :vlax-false))
	) ;_ end of progn
      ) ;_ end of if
    ) ;_ end of vlax-for
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
Работоспособность не проверял.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.06.2006, 11:03
#23
MIP

инженер
 
Регистрация: 13.12.2004
Минск
Сообщений: 496


Пользуюсь для работы со слоями этим, хотя не лишено изъянов.
[ATTACH]1151564630.zip[/ATTACH]
MIP вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Работа команды "LAYOFF"

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск