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