Olá pessoal vamos continuar falando sobre as funções de entrada de dados, agora que aprendemos a usar a função Getpoint tudo fica mais fácil pois quase todas as funções get se comportam da mesma maneira.
GETCORNER
A função Getcorner retorna assim como o Getpoint uma lista contendo as coordenadas X Y e Z do ponto selecionado, porem diferente do Getpoint que não necessita do ponto de laço que fornecerá uma linha auxiliar o Getcorner precisa desse ponto de laço pois a partir dele será mostrada uma janela de box auxiliar.
.
Sintaxe:
(Getcorner <ponto de laço> [mensagem para o usuário])
Exemplo1:
(defun c:zw()
(setq pt1 (Getpoint "\nClique sobre o local desejado: "))
(setq pt2 (Getcorner pt1 "\nAbra uma janela: "))
(command "zoom" pt1 pt2)
)
1) Definimos o nome do nosso comando ZW.
2) Usando o Getpoint armazenamos na variável PT1 uma lista contendo as coordenadas.
3) Agora armazenamos uma lista contendo X Y Z na variável PT2 usando o Getcorner, o Getcorner terá como ponto de laço a variável PT1.
4) Usamos o comando zoom para aproximar a visualização na janela indicada.
GETDIST
Getdist diferentemente do Getpoint e Getcorner que retornam uma lista o Getdist retorna uma distancia (valor numérico decimal) entre dois pontos, essa função também requer o ponto de laço que é o ponto de partida para medir a distancia porem ele também é opcional, caso você não defina o ponto de laço o programa vai pedir que primeiro clique sobre o ponto de laço para depois pedir o segundo ponto e retornar a distancia.
Sintaxe:
(Getdist [ponto de laço] [mensagem para o usuário])
Exemplo:
(defun c:med()
(setq pt1 (Getpoint "\nClique sobre o ponto inicial: "))
(setq distancia (Getpoint pt1 "\nClique sobre o ponto final: "))
)
1) Criamos a função MED.
2) Armazenamos na variável PT1 os pontos para serem usado como ponto de laço.
3) Indicamos o ponto final, o valor armazenado na variável distancia será a distancia entre o ponto de laço e o ponto indicado pelo usuário.
Mais a frente no curso veremos que essa função mesmo parecendo ser útil não tem tanta utilidade assim, aprenderemos a pegar a distancia sem usa-la e veremos teremos mais recursos na mão se não a utilizarmos.
GETANGLE E GETORIENT
Retornam o angulo em radianos, essas duas funções são bem parecidas porem podem nos fornecer resultados diferentes.
Getangle retorna o angulo a partir do angulo 0 graus definido pelo usuário e que pode ser configurado pela variável de sistema ANGBASE.
Getorient retorna o angulo levando em conta que o angulo 0 graus que se encontra sempre ao leste (lado direito).
Quando for usar essas duas funções precisa escolher da maneira correta, precisa verificar se usara o angulo maquina ou o angulo definido pelo usuário, isso é muito importante e pode fazer você ficar doido tentando encontrar onde esta dando errado.
Sintaxes:
(Getangle [ponto de laço] [mensagem para o usuário])
(Getorient [ponto de laço] [mensagem para o usuário])
Exemplo (Getorient)
(defun c:ang()
(setq pt1 (Getpoint "\nClique sobre o ponto desejado: "))
(setq angulo (Getorient pt1 "\nIndique o angulo desejado: "))
)
1) Definimos o nome do nosso comando ANG.
2) Usando o Getpoint armazenamos na variável PT1 que será nosso ponto de laço.
3) Usando o ponto PT1 como ponto de laço devemos indicar com o mouse o angulo desejado o seu resultado será armazenada na variável angulo em radianos.
No exemplo abaixo indicamos o angulo de 90º graus e recebemos como retorno o valor 1.5708 que é o radiano de 90º.
Não importa qual angulo foi configurado como sendo o angulo 0 na variável de sistema ANGBASE o Getorient sempre usara o zero grau oficial (Leste, lado direito).
Exemplo (Getangle)
(defun c:ang()
(setq pt1 (Getpoint "\nClique sobre o ponto desejado: "))
(setq angulo (Getangle pt1 "\nIndique o angulo desejado: "))
)
1) Definimos o nome do nosso comando ANG.
2)) Usando o Getpoint armazenamos na variável PT1 que será nosso ponto de laço.
3) Usando o ponto PT1 como ponto de laço devemos indicar com o mouse o angulo desejado o seu resultado será armazenada na variável angulo em radianos.
No exemplo definiremos a variável ANGBASE para 90º, isso que dizer que o Getangle entendera que toda vez que entrarmos com o angulo de 90º ele deverá entender como angulo 0º
Nesse caso tivemos como retorno 0 radianos que equivale ao angulo 0º mesmo tendo fornecido o angulo de 90º, isso porque ele levou em conta o angulo base que é controlado pela variável de sistema ANGBASE.
Se a variável de sistema ANGBASE estiver configurada como 0º Getangle e Getorient forneceram o mesmo resultados.
Abaixo segue o link dessa aula no meu canal manual de Cad no youtube.
https://www.youtube.com/watch?v=zw6nZyaPNhI&feature=youtu.be
Espero que tenham gostado.
Sergio Fernandes
Manual de Cad
Nenhum comentário:
Postar um comentário