Que tal incluir um texto no carmbo da prancha, que contenha o nome do layout em que ele está? Legal né? Com Fields é fácil, veja:
(defun C:nlayout (/ thisdrawing paper pt alt utility)
;carrega as VLs
(vl-load-com)
(setq
;pega o documento atual:
thisdrawing (vla-get-activedocument
(vlax-get-acad-object))
;pega o layout:
paper (vla-get-paperspace thisdrawing)
;funções do tipo "get alguma" coisa:
utility (vla-get-utility thisdrawing)
;pede a seleção de um texto:
pt (vla-getpoint
utility
nil
"\nClique um ponto:")
alt (vla-getdistance
utility
nil
"\nAltura do texto:"))
;cria um text no paper, com o nome do layout:
(vla-addtext paper
(strcat "%<\\AcObjProp Object(%<\\_ObjId "
(itoa (vla-get-objectid
(vla-get-layout paper)))
">%).Name \\f \"%tc1\">%")
pt
alt)
(princ))
Assim, você pode numerar os layouts e ter certeza de que no carimbo estará certo o texto. Detalhe: se você usar depois o "Copy/Move" num layout ara criar a próxima página (se não faz assim, experimente clicar com o botão direito do mouse sobre a aba do layout atual e usar o Copy/Move), esta Field será atualizada para usar o nome da página correta!! E se renomear algum layout, a field se atualiza sozinha, muito legal, hehehe!!!
Para usar é simples, carrega a lisp com APPLOAD e digita NLAYOUT na linha de comando:
(defun C:nlayout (/ thisdrawing paper pt alt utility)
;carrega as VLs
(vl-load-com)
(setq
;pega o documento atual:
thisdrawing (vla-get-activedocument
(vlax-get-acad-object))
;pega o layout:
paper (vla-get-paperspace thisdrawing)
;funções do tipo "get alguma" coisa:
utility (vla-get-utility thisdrawing)
;pede a seleção de um texto:
pt (vla-getpoint
utility
nil
"\nClique um ponto:")
alt (vla-getdistance
utility
nil
"\nAltura do texto:"))
;cria um text no paper, com o nome do layout:
(vla-addtext paper
(strcat "%<\\AcObjProp Object(%<\\_ObjId "
(itoa (vla-get-objectid
(vla-get-layout paper)))
">%).Name \\f \"%tc1\">%")
pt
alt)
(princ))
Assim, você pode numerar os layouts e ter certeza de que no carimbo estará certo o texto. Detalhe: se você usar depois o "Copy/Move" num layout ara criar a próxima página (se não faz assim, experimente clicar com o botão direito do mouse sobre a aba do layout atual e usar o Copy/Move), esta Field será atualizada para usar o nome da página correta!! E se renomear algum layout, a field se atualiza sozinha, muito legal, hehehe!!!
Para usar é simples, carrega a lisp com APPLOAD e digita NLAYOUT na linha de comando:
vou testar esse trem aqui, pra 2024 será que o próprio fields ja tem esse campo?
ResponderExcluir