Translate

segunda-feira, 2 de janeiro de 2012

VBA: Purge All em Autocad, GstarCad, Zwcad e Bricscad

Depois das festas volto a publicar aqui no Blog, hoje, gostaria de mostrar como podemos fazer uma rotina em VBA para os vários CADs, infelizmente não consegui que no ZwCad funcionasse. Se alguém tiver a solução pode publicá-la.


Para Autocad, GstarCad e Bricscad :

Option Explicit

Sub Purge_all()

ThisDrawing.PurgeAll

End Sub

Para ZwCad: 
(Obrigado do Arq alexandre pela dica. O Arq. Alexandre é o representante do ZwCad em Portugal pela empresa IberCad).


Option Explicit

Sub Purge_all()

ThisDocument.SendCommand "-purge" & vbCr & "all" & vbCr & vbCr & "no" & vbCr


End Sub


Obrigado a todos e um bom ano.

Boa programação

8 comentários:

  1. No ZWCAD , para fazer o Purgeall facilmente se resolve com uma pequena rotina de LISP como esta:

    (defun c:purgeall ()
    (command "-purge" "all" "" "no"))

    É só fazer COPY/PASTE para o bloco de notas, gravar com a extensão .LSP e abrir no ZWCAD fazendo TOOLS > LOAD APLICATION...
    esta rotina também serve para outros programas CAD que suportem LISP como o Autocad, o Gstar, o Bricscad, o Bitcad, o Intellicad, o Progecad, entre muitos outros...

    Parabéns pelo excelente trabalho.

    ResponderEliminar
  2. Arq. Alexandre, obrigado pela visita e comentário.

    ResponderEliminar
  3. Olá boa tarde a todos, eu tenho uma forma diferente de fazer o purge_all já desde do cad2004 onde na altura fiz alguns menus pessoais.

    Deixo aqui a sugestão...
    Fazer um novo icon e atribuir um comando:

    ^C^C(command "purge" "a" "" "n")

    ResponderEliminar
  4. Boas Ediniz, antes de mais obrigado pela dica pela visita.
    O Alexandre enviou-me a solução para VBA.

    A ideia nesta situação é querermos fazer uma rotina por exemplo para correr vários desenhos e automaticamente uma das coisas que faz é o purge all, por isso a demonstração em VBA.

    Mais uma vez obrigado

    ResponderEliminar
  5. Boa tarde,

    Antes de mais muitos parabens pelo trabalho desenvovid

    Na minha empresa eu tenho sempre de fazer o comando purge e depois respoder no... no...no... ate aparecer a caixa de dialogo e entao fazer o purge all.... eu sei que ha uma forma de fazer isto automaticamente... como posso fazer isso??

    Muito obrigado

    Fabio Fernandes

    ResponderEliminar
    Respostas
    1. Caro Fabio,

      Obrigado pela visitas e pelo comentário.

      Eu uso o comando purgeall num icon.
      Criamos um icon novo no CUI, com a seguinte macro:

      ^C^C_-purge;_A;;N;

      Se não perceberes aviso que é um bom tema para um novo post.

      Abraço
      Francisco

      Eliminar
    2. Francisco voçê é o maior..... ja fiz isso e resulta muito bem.... com um simples clique no botao o purge faz-se automaticamente e nem aparece caixa de diálogo.... acabou de me salvar de uma chatice dos diabos... (estar sempre a carregar no n)... obrigado...

      vamos partilhando mais ideias...

      Eliminar
    3. Ainda bem que o ajudou.

      Acompanhe tb aqui: https://www.facebook.com/groups/150690571750770/

      e aqui:

      https://plus.google.com/u/0/communities/100265446116255298865

      Abraço

      Eliminar