本帖最后由 作者 于 2008-11-17 18:37:25 编辑
初学LISP.如下,选择桩基,写于D:\ZZB.TXT文件中. (defun c:zzb(/ os1 ss1 ss2 n n0 zbx zby str1 f1) (setvar "cmdecho" 0) (setq os1(getvar "osmode")) (setvar "osmode" 0) (princ "\n选取桩基:") (setq ss1(ssget '((0 . "circle")))) (setq n(sslength ss1)) (setq n0 0) (setq f1(open "d:\\zzb.txt" "w"));打开一文本文件用于存放桩基坐标。 (while (< n0 n) (setq e1(ssname ss1 n0)) (setq e2(entget e1)) (setq zbx(cadr(assoc 10 e2))) (setq zby(caddr(assoc 10 e2))) (setq str1(strcat (itoa n0) " " (rtos zbx) " " (rtos zby))) (write-line str1 f1) (setq n0(+ 1 n0)) ) (close f1) (setvar "cmdecho" 1) (setvar "osmode" os1) (princ) ) |