Bom, pra mostrar a utilidade das últimas subrotinas que eu postei, vou colocar uma rotina que usa elas... esta rotina exporta para um arquivo de texto a distância em relação ao inicio da linha e a coordenada de cada ponto da mesma, vai ser útil pra que trabalha com topografia, quando precisa gerar aqueles arquivos de coordenadas para a estação total
(defun c:ptsc (/ ss file tmp ent n qstr str)
(tbn:error-init nil)
(if (setq ss (ssget ":S" '((0 . "LWPOLYLINE,POLYLINE"))))
(if (setq file (getfiled "Salvar coordenaas" "c:/" "txt" 1))
(progn
(setq tmp (open file "w")
ent (ssname ss 0)
pts (rmpdup (get-points-polig ent))
n 0
qstr (strlen (itoa (length pts))))
(foreach x pts
(setq str (itoa n))
(repeat (- qstr (strlen str))
(setq str (strcat "0" str)))
(write-line
(strcat str "\t"
(rtos (vlax-curve-getdistatpoint ent x) 2 2)"\t"
(rtos (car x) 2 3) "\t"
(rtos (cadr x) 2 3) "\t"
(rtos (if (caddr x) (caddr x) 0) 2 3))
tmp)
(setq n (1+ n)))
(close tmp))))
(tbn:error-restore))
basta digitar PTSC na linha de comando... claro que a rotina pode ser adaptada para outras entidades, outros tipos de saída, mas isso fica a cargo de vocês
existe alguma forma de baixar esse lisp
ResponderExcluirbasta copiar e colar no bloco de notas.
Excluirmas note: tem clicar e copiar também:
http://tbn2.blogspot.com/2006/11/remover-pontos-duplicados-de-listas.html
http://tbn2.blogspot.com/2006/11/get-points-polig.html
http://tbn2.blogspot.com/2006/10/avaliao-de-erros.html