Get-ActiveSpace

Algumas pessoas já descobriram as funcionalidades das funções Activex, por exemplo: Vla-AddLine, para adicionar uma linha… Muito bem, todos este métodos do tipo “adição” de entitade, e muitos outros, requerem como primeiro argumento “ONDE” adicionar a entidade… no Model, Paper, onde inserir?

Quem usa o entmake (ou mesmo o command) para criar entidades, normalmente não se preocupa se está no model ou no paper, muitos nem sabem qual dxf colocar na lista para que a entidade vá parar num lugar ou outro…

Voltando ao assunto: as vezes você quer inserir a linha no “Space” que a pessoa tiver, seja ela o model ou o paper, mas você que usar os métodos activex, como saber em que espaço ela está? e mais você precisará o VLA-OBJECT deste “Space”…

É isso que esta rotina faz: detecta em qual space ela está e devolve o VLA correspondente… isso é especialmente útil se a pessoa esta no paper space com uma viewport ativa e consequentemente desenhando no model
aí está


(defun get-activespace (/ this)
(
setq this (vla-get-activedocument
(vlax-get-Acad-Object)))
(
if (= (vla-get-activespace this) 1)
(
vla-get-ModelSpace this)
(
if (= :vlax-true (vla-get-mspace this))
(
vla-get-ModelSpace this)
(
vla-get-PaperSpace this))))


Deixe um comentário

Carrinho de compras
Rolar para cima