Tenho uma dúvida: o AutoCAD possui alguma função que corrige automaticamente as coordenadas dos elementos para valores arredondados, ou isso só pode ser feito usando LISP? Caso só seja possível com LISP, gostaria de entender qual é o problema no código anexado.
(defun c:ArredondarCoord ()
(setq ent (entsel "\nSelecione a polilinha: "))
(setq pl (car ent))
(setq data (entget pl))
(setq pontos (vl-remove-if-not '(lambda (x) (and (eq (type x) 'list) (= (car x) 10))) data))
(foreach ponto pontos
(setq coords (cdr ponto))
(setq nova-coord (mapcar 'fix coords))
(setq data (subst (cons 10 coords) ponto data)))
(entmod data)
(princ "Coordenadas arredondadas!"))
Estou trabalhando em um projeto em que as coordenadas estão todas com valores quebrados. Por exemplo, uma polilinha começa em X=1.215165, Y=2.812032, e eu gostaria de corrigir essas coordenadas para X=1.000000, Y=3.000000. Criei o comando anexado, mas ele não está funcionando como esperado.
Existe algum outro comando que também permita fazer isso com diferentes tipos de elementos, como retângulos, linhas ou até pontos de referência dos blocos?