邹锋 发表于 2012-3-28 12:56:43

关于多义线的画法

;如何从图1(最左边)中,选取点A与点B 变成一个封闭的多义线如图2
; 再者,在图3,从A点开始顺藤摸瓜式的到点B 再选择方向,或反方向,求出各点的坐标,最后返回A点,也要算,然后写出到
;;文件
;以下代码是我抄书上的多义线输出坐标点,但不能让开始点由我选择,望高手改进


(defun c:pepo()
(setvar "cmdecho" 0)
(setq ffn (getfiled "选取文件" "" "txt" 1))
(setq ff (open ffn "w"))
(close ff)
(princ "\n选取PLINE多义线...")
(setq ss (ssget))
(setq i 0)
(setvar "pdmode" 33)
(repeat (sslength ss)
(setq ssn (ssname ss i))
(setq endata (entget ssn))
(setq n 0)
(repeat (length endata)
(setq pp (nth n endata))
(setq key (car pp))
(if (= key 10)
(progn
(setq x (cadr pp))
(setq y (caddr pp))
(command "point" (list x y))
(setq ff (open ffn "a"))
(princ x ff)
(princ " " ff)
(princ y ff)
(princ "\n" ff)
(close ff)
)
)               
(setq n (1+ n))
)
(setq ff (open ffn "a"))
(princ "End\n" ff)
(close ff)
(setq i (1+ i))
)
(princ (strcat "\n文件写至=> " ffn))
(prin1)
)   
请点下载图档

页: [1]
查看完整版本: 关于多义线的画法