- UID
- 696728
- 积分
- 163
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2013-8-16
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
(defun c:sjcl()
(setq wjm (getfiled "选择 LISP 文件" "D:/" "" 8));;选择文本路径与文件文件名
(setq f (open wjm "r"));;打开文本
(setq lj (vl-filename-directory wjm));;返回文本路径
(setq saaa(strcat lj "\\zdh1.dat"))
(setq ttt (open saaa "w"));;在路径下生成 zdh.dat 文本
(setq dh (read-line f));;读取文本单行___"STN A1 ,1.570, "
(while dh
(setq sh (read-line f));"XYZ 400000.000,500000.000,20.000"
(setq a1 (MJ:delim dh ","));("STN" "A1" ",1.570,")
(setq a4 (MJ:delim (nth 0 a1) " "))
(setq a2 (MJ:delim sh " "));("XYZ" "400000.000,500000.000,20.000")
(setq a3 (MJ:delim (nth 1 a2) ","));("400000.000" "500000.000" "20.000")
(setq txtdh (nth 1 a4));"A1"
(setq txty (nth 0 a3));"400000.000"
(setq txtx (nth 1 a3));"500000.000"
(if (= (length a3) 3)
(progn
(setq txtz (nth 2 a3));"20.000"
(setq txt (strcat txtdh "," txtdh "," txtY "," txtX "," txtZ));"A1,A1,400000.000,500000.000,20.000"
(write-line txt ttt);写进文本
)
)
(setq dh (read-line f));读取下一行
)
(close ttt);关闭文本
(close f);关闭文本
(princ)
)
;;;字符串函数
(defun MJ:delim (str delim / l1 l2)
(setq str (vl-string->list str) delim (vl-string->list delim))
(while str
(if (not (member (car str) delim))
(setq l1 (cons (car str) l1))
(if l1 (setq l2 (cons (vl-list->string (reverse l1)) l2) l1 nil))
)
(setq str (cdr str))
)
(if l1 (setq l2 (cons (vl-list->string (reverse l1)) l2)))
(reverse l2)
)
|
|