quarta-feira, 14 de maio de 2014

Função command



     A função command

     Vou explicar neste post para que serve a função do AutoLisp command. Essa função é muito usada dentro da linguagem AutoLisp. Toda vez que você precisar que seu programa execute algum comando do AutoCad, será através desta função que este comando será executado.

    A sintaxe deste comando é:

    (command "nome do comando entre aspas" param1, param2,  param3 ...)

   *  nome do comando entre aspas > É o nome do comando do AutoCad que você quer executar. Sempre deve ser escrito entre aspas dupla (a não ser que o nome do comando esteja em uma variável)
    Exemplo:
   (setq variavel "PLINE")
   (command variavel parametros)

   * parametro1, parametro2, parametro3 > É a sequência de parâmetros que o comando solicita. Cada comando tem seus parâmetros específicos. Para saber quais parâmetros são necessários para cada comando, só basta você digitar o comando no prompt do AutoCad que ele vai pedir os parâmetros.


    Para evitar problemas com o idioma do AutoCad e com comandos redefinidos pelo usuário, é aconselhável colocar "_." antes do nome do comando.
    Exemplos:
  (command "_.PLINE")
  (command "_.ZOOM")


 Exemplo de rotina que utiliza a função command;
;; Rotina para criar um layer e passar os elementos selecionados pelo usuário para esse layer.
;; Neste exemplo são utilizados os comandos "LAYER" e "CHPROP" do AutoCad.
(defun c:mudaLayer ( / )
   (setvar "OSMODE" 0) ;; Não se preocupe com isso agora por enquanto
   (setvar "CMDECHO" 0)

    ;; Cria um novo layer caso não exista. Ou deixa ele visível e "desfrizado"
    ;; caso já exista.
   (if (not (tblsearch "LAYER" "Novo_layer"))
       (command  "_.LAYER" "N" "Novo_layer" "C" "RED" "Novo_layer" "")
       (command  "_.LAYER"  "T" "Novo_layer" "ON" "Novo_layer" "")
   )

    ;;Seleciona os elementos que quer mudar para o layer selecionado
   (prompt "\nSelecione os elemento trocar o layer")
   (setq ss (ssget))
   (if ss
      (command  "_.CHPROP" ss "" "_.CHPROP" "LA" "Novo_Layer" "")
   )
)
   
Até o próximo tutorial.

Nenhum comentário:

Postar um comentário