Comunidade
AutoCAD - Português
Bem vindo ao Forum de AutoCAD da Autodesk. Compartilhe seu conhecimento, faça perguntas e explore os tópicos mais populares de AutoCAD.
cancelar
Mostrando resultados para 
Mostrar  apenas  | Pesquisar então 
Você quer dizer: 

error: ActiveX Server returned the error: unknown name: ActiveDocument

8 RESPOSTAS 8
Responder
Mensagem 1 de 9
Vxc
Participant
495 Exibições, 8 Respostas

error: ActiveX Server returned the error: unknown name: ActiveDocument

Olá a todos.

 

Há já uns anos longos que programo em Lisp, e apesar se enterder alguns comandos de visual lisp, estou a tentar agora aprofundar os meus conhecimentos de visual lisp. De livro que tenho (The Visual LISP Developers Bible - 2011 Edition.pdf) copiei este código.

Estou a usar o Acad 2012, e tento correr o código com 2 desenhos abertos.

Nada acontece a não ser o erro que ele devolve.

 

error: ActiveX Server returned the error: unknown name: ActiveDocument

 

Alguem me sabe dizer/ajudar a saber o porquê do erro ? E como dar a volta ao mesmo ?

 

Obrigado desde já.

 

Vasco Tavares

 

(defun C:ZOOMALL (/ $acad docs dnum this)
(vl-load-com)
(setq $acad (vlax-get-acad-object)
docs (vla-get-documents $acad)
this (vla-get-activedocument $acad)
dnum (vla-get-count docs)
)
(vlax-for each docs
(vla-put-ActiveDocument each)
(vla-ZoomExtents $acad)
(vla-save each)
)
(vla-put-activedocument this)
(vlax-release-object docs)
(vlax-release-object this)
(vlax-release-object $acad)
(princ (strcat "\nProcessed " (itoa dnum) " drawings."))
(princ)
)

 

8 RESPOSTAS 8
Mensagem 2 de 9
hmsilva
em resposta a: Vxc


Vxc escreveu:

Olá a todos.

 

Há já uns anos longos que programo em Lisp

...

 


Olá Vxc,

Se és o mesmo Vxc, já lá vão muitos anos...

 

Tenta utilizar antes vla-activate   penso que não vai ser possivel a utilização do método do ZoomExtent, mas tenta.

 

Henrique

 

 

EESignature

Mensagem 3 de 9
Vxc
Participant
em resposta a: hmsilva

Oi hmsilva 🙂

 

Sim sou o mesmo :D. Quando "postei" aqui a minha dúvida reparei no teu user e lembrei-me que com sorte ainda eras tu a responder 🙂

Tudo bem por ai ?

 

Ok vou ver isso.

 

Estava a tentar ver se  recorrendo ao visual conseguiria usar lisps minhas em vários desenhos ao mesmo tempo.

E este era um pequeno exemplo que vi no livro. Pensei que resultasse mas nada 😞

Ainda hei de ver através do visual como é que ei de entrar em blocos dinamicos.

 

Vou já ver se me safo com esse comando.

 

Obrigado.

Mensagem 4 de 9
hmsilva
em resposta a: Vxc

O método ZoomExtents, só é válido para o currente documento... por isso este código não funciona, é pena...

 

Dá uma olhadela em http://www.lee-mac.com/ que tens muito código que o Lee disponibiliza, vale a pena ver.

 

Henrique

 

 

EESignature

Mensagem 5 de 9
Vxc
Participant
em resposta a: hmsilva

Estive nesse site ainda hoje de manhã :).

Estive a ver o comando que me enviaste mas não me safo na mesma.

Ou não dá ou sou eu que estou a ser nabo tb.

Vou ver se me safo lá.

Acho que a última vez que tinha posto uma pergunta a um forum ainda era no tempo dos newsgroups do Outlook.

 

Vou lá ver, obrigado de novo.

Mensagem 6 de 9
hmsilva
em resposta a: Vxc


Vxc escreveu:
...

 

Acho que a última vez que tinha posto uma pergunta a um forum ainda era no tempo dos newsgroups do Outlook.

 ...


Que saudades desse tempo... éra muito mais rápido e eu éra muito mais novo...Smiley feliz

Henrique

EESignature

Mensagem 7 de 9
Vxc
Participant
em resposta a: hmsilva

Eu estive afastado do CAD durante usn 2 anos aqui na minha empresa.

Estive num departamento de GIS.

E quando voltei procurei o newsgroup.

Quando descobri que tinha desaparecido fiquei "Então e agora ??".

Vá-la que depois descobri este forum. 🙂

Mensagem 8 de 9
hmsilva
em resposta a: Vxc

Como falaste em DynBlocks, dá uma olhadela neste post,

http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/Insert-rotate-and-manipulate-stretch-...

podes tirar algumas ideias...

 

Henrique

EESignature

Mensagem 9 de 9
f_santana
em resposta a: Vxc

Vasco

 

o codigo que voce esta escrevendo esta com muitas funções desnecessarias

 

olha o que eu retirei do seu codigo

 

(defun C:ZOOMALL (/)
(vl-load-com)
(setq $acad (vlax-get-acad-object)
;;;docs (vla-get-documents $acad)
;;;this (vla-get-activedocument $acad)
;;;dnum (vla-get-count docs)
)
;;;(vlax-for each docs
;;;(vla-put-ActiveDocument each)
(vla-ZoomExtents $acad)
;;;(vla-save each)
;;;)
;;;(vla-put-activedocument this)
;;;(vlax-release-object docs)
;;;(vlax-release-object this)
(vlax-release-object $acad)
(princ (strcat "\nProcessed " (itoa dnum) " drawings."))
(princ)
)

 

no caso expecifico do comando ZOOM, voce só precisa determinar os objetos e o tipo de zoom que vai viasualizar eles

eu só entro capturo o documento ativo, quando repeciso fazer alguma pesquisa na suas bibliotecas

 

o que não é o seu caso


Você achou uma postagem útil? Então fique à vontade para curtir essas postagens!
Sua pergunta obteve uma resposta que resolveu a duvida? Então clique no botão Aceitar Solução.


Fábio Santana
Architect | CAD/BIM Manager

EESignature

Não encontrou o que está procurando? Pergunte à comunidade ou compartilhe seu conhecimento.

Postar nos fóruns  

Autodesk Design & Make Report