楼主是学测量的吧,我也常要解决此类问题,不过为每个圆心编上编号,再用程序向EXCEL输出坐标文件不是更好.输出程序见下 (defun c:lytzbsc() ;;; 在图中向文件E:\\123\\2.xls输出选中字体角点坐标程序 (VL-LOAD-COM) (setq AcadObject(vlax-get-acad-object) AcadDocument(vla-get-ActiveDocument AcadObject) mSpace(vla-get-ModelSpace AcadDocument) ) (setq fp1(open "E:\\123\\2.xls" "w")) (setq p1(getpoint "\n请输入第一点:")) (setq p2(getpoint "\n请输入第二点:")) (setq ss(ssget "W" P1 p2)) (SETQ t1 "text=") (setq a1 0) (setq tt1(cdr(assoc 1 (entget(ssname ss a1))))) (setq d1(cdr(assoc 10 (entget(ssname ss a1))))) (princ "\t" fp1) (princ tt1 fp1) (princ "\t" fp1) (princ "x=" fp1) (princ "\t" fp1) (princ (cadr d1) fp1) (princ "\t" fp1) (princ "y=" fp1) (princ "\t" fp1) (princ (car d1) fp1) (while (ssname ss (+ a1 1)) (setq a1 (+ a1 1)) (setq tt1 (cdr (assoc 1 (entget(ssname ss a1))))) (setq d1 (cdr (assoc 10 (entget(ssname ss a1))))) (print t1 fp1) (princ "\t" fp1) (princ tt1 fp1) (princ "\t" fp1) (princ "x=" fp1) (princ "\t" fp1) (princ (cadr d1) fp1) (princ "\t" fp1) (princ "y=" fp1) (princ "\t" fp1) (princ (car d1) fp1) ) (close fp1) ) |