Você está aqui: AutoLISP ::: Dicas & Truques ::: Input e Output (Entrada e Saída)

Como ler um ponto geométrico indicado pelo usuário no AutoCAD usando a função getpoint() da AutoLISP

Quantidade de visualizações: 509 vezes
A função getpoint() da AutoLISP (a versão modificada da LISP para o AutoCAD) é usada quando queremos retornar um ponto geométrico informado pelo usuário, seja por meio de um clique na área de desenho ou pelas coordenadas digitadas na janela de comandos.

O retorno da função getpoint() é uma list contendo três valores, a saber, as coordenadas x, y e z do ponto geométrico informado.

Veja um código AutoLISP completo no qual pedimos para o usuário informar um ponto, clicando ou digitando as coordenadas. Em seguida nós usamos as funções de manipulação de listas car, cadr e caddr para informar os valores das coordenadas x, y e z.

; função que nos permite obter um ponto a partir
; do clique do usuário ou a digitação das coordenadas
(defun c:obter-ponto()
  ; vamos pedir para o usuário informar as
  ; coordenadas do ponto, clicando ou digitando
  ; os valores
  (setq ponto (getpoint "Coordenadas do ponto: ")) 
  (princ (strcat "As coordenadas informadas sao: x = " 
    (rtos (car ponto)) "; y = " (rtos (cadr ponto))
    "; z = " (rtos (caddr ponto))))
  (princ)  
)

Ao executar este código AutoLISP nós teremos o seguinte resultado:

Coordenadas do ponto: As coordenadas informadas sao: x = 50; y = 100; z = 0

É possível fornecer à função getpoint() um ponto de referência. Neste caso o AutoCAD desenhará uma linha auxiliar (rubber band line) a partir desta referência e na direção do cursor. Veja:

; função que nos permite obter um ponto a partir
; do clique do usuário ou a digitação das coordenadas
(defun c:obter-ponto()
  ; vamos usar um ponto como referência
  (setq referencia (list 40 80 0))
  
  ; agora vamos pedir para o usuário informar as
  ; coordenadas usando o ponto dado como referência,
  ; clicando ou digitando os valores
  (setq ponto (getpoint referencia "Coordenadas do ponto: ")) 
  (princ (strcat "As coordenadas informadas sao: x = " 
    (rtos (car ponto)) "; y = " (rtos (cadr ponto))
    "; z = " (rtos (caddr ponto))))
  (princ)  
)

Agora, experimente usar a função getpoint() para ler dois pontos informados pelo usuário e traçar uma reta saindo do primeiro ponto e indo até o segundo.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de AutoLISP

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 22 usuários muito felizes estudando em nosso site.