Exportar pontos de polilinhas

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

Deixe um comentário

Carrinho de compras
Rolar para cima