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.
;; 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
;;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