Ativação e desativação de layer

Tirar duvidas sobre o curso de Autolisp

Moderador: Moderadores

Responder
Avatar do usuário
heray
Novato
Novato
Mensagens: 4
Registrado em: Ter 17 Jun 2008 12:00:00 am

Ativação e desativação de layer

Mensagem por heray »

Olá
Gostaria de uma ajuda sobre o processo de desativação de um layer existente através de uma rotina LISP. Para a criação de um novo layer descobri os passos.

Obrigado desde já.

Henrique Raymundo
Avatar do usuário
cracksther
Diamante
Diamante
Mensagens: 1072
Registrado em: Seg 13 Dez 2004 11:00:00 pm

Mensagem por cracksther »

heray... O AutoCAD, se instalado o menu Express, traz ferramentas para destivar / ativar os layers...

layon -> liga todos os layers (lampada)
layoff -> desliga o layer do objeto selecionado (lampada)
layfrz -> congela o layer do objeto selecionado (icone do sol)
laythw -> descongela todos os layers.

veja as demais ferramentas no menu express layers...
...
Em AutoLISP é bem simples de implementar essas funções..
[lsp]
(setq ent (tblobjname "layer" "nome-do-layer")) ;entity name do layer
(setq prop (entget ent)) ;propriedades do layer
;
;para desligar pela lampada
(setq cor (cdr (assoc 62 prop))) ;cor do layer
(setq corOff (* cor -1)) ;cor com valor negativo = layer desligado ... valor positivo = layer ligado
(setq newProp (subst (cons 62 corOff) (assoc 62 prop) prop)) ;novas propriedades do layer
;
(entmod newProp) ;atualiza o layer
;
;Para congelar / descongelar o layer deve-se manipular a associação 70
;(70 . 0) ;layer descongelado
;(70 . 1) ;layer congelado
(setq newProp (subst (cons 70 1) (assoc 70 prop) prop)) ;propriedades com layer congelado
;
(entmod newProp) ;atualiza o objeto.
[/lsp]

Altera conforme necessário.

Se não funcionar ou faltar algum "(" ou ")" é por que digitei o código diretamente aqui e não testei.

Até mais![/lsp]
Marcelo Silva - Cascavel - PR
[email protected]
Avatar do usuário
pavel_qwerty
Papel
Papel
Mensagens: 8
Registrado em: Sex 13 Fev 2009 11:00:00 pm
Localização: Petrópolis - RJ

Mensagem por pavel_qwerty »

Esses comandos nada tem a ver com o Menu Express embora até pareça.

São comando que existem desde a versão R14 ( não lembro antes) e até a versão 2006 não estão devidamente documentadas no Help do AutoCAD - coisas da Autodesk.

A partir da versão 2007 estão devidamente documentados. Mesmo sem o Menu Express funcionam pela linha de comando - command line.

Façam um teste com Menuload - desativem - Unload - Exprees - e depois digitem os comandos pela command line.

Na v. R14 o Express é BONUS. Está em ..\AutoCAD R14\bonus\cadtools e pode ser o ac_bonus.mnc /.mns ou .mnu.
Avatar do usuário
heray
Novato
Novato
Mensagens: 4
Registrado em: Ter 17 Jun 2008 12:00:00 am

Mensagem por heray »

Obrigado pela ajuda, foi muito útil em meu desenvolvimento.
Responder