(if (< A 0)
(progn ; abre o se
(prog1)
(prog2)
)
) CFAC: AutoLISP (III) - Funes de repetio e
2 2011@JST/JOF condicionais, Obter e converter informao
Funo condicional - if
(if (< A 0)
(prog1)
(prog2)
)
(if (< A 0) S N
(progn ; abre o se
(prog1)
(prog2)
)
(progn ; abre o seno
(prog3)
(prog4)
)
)
CFAC: AutoLISP (III) - Funes de repetio e
4 2011@JST/JOF condicionais, Obter e converter informao
Funo condicional - if
A = 1; 2; 3.
N
S
N
S
(cond
(= A 1) (prog1)
(= A 2) (prog2)
(= A 3) (prog3)
)
= (igual)
(if (= A B C) (rotina))
/= (diferente)
(if (/= A B) (rotina))
< (menor)
(if (< A B) (rotina))
> (maior)
(if (> A B) (rotina))
eq (idntico)
(if (eq A B) (rotina))
equal (resultar em =)
(if (equal A B) (rotina))
CFAC: AutoLISP (III) - Funes de repetio e
10 2011@JST/JOF condicionais, Obter e converter informao
Diferena entre =, eq e equal
S S
N N
Exemplos:
(initget "A B C")
(setq OPC (getkword "\nOpcao (A, B ou C)? "))
Se algo diferente de A, B ou C for digitado, a mensagem
INVALID OPTION KEYWORD ser apresentada e o programa
pra a aguardar nova insero.
CFAC: AutoLISP (III) - Funes de repetio e
24 2011@JST/JOF condicionais, Obter e converter informao
Funes getkword e initget
exemplos de strings:
"S N s n"
"Sim No"
"Aprovado Reprovado Exame"
Exemplos:
getvar
Obtm o valor de uma varivel do sistema (do AutoCAD).
(setq LAYERATIVA (getvar "clayer"))
setvar
Altera o valor de uma varivel do sistema.
(setvar "clayer" "2D-PAR")
getenv
Obtm o valor de uma varivel do sistema operativo.
(getenv "path")
Notas:
A diviso (/ real int) resulta em real
A diviso (/ int int) resulta em int (casas decimais
eliminadas)
(/ 40 5 2) resulta 4
Desenho obtido
Sintaxe:
(princ [expresso [nome-de-arquivo]])
Exemplos:
(setq A 123 B (A))
(princ 'A) ;imprime A e retorna A
(princ A) ;imprime 123 e retorna 123
(princ B) ;imprime (A) e retorna (A)
(princ "\nOla") ;imprime "Ola" numa nova linha e retorna
;"Ola"
(princ "Ola" f) ;imprime "Ola" no arquivo f e retorna "Ola"