几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(AutoLISP) (http://www.dimcax.com/hust/forumdisplay.php?f=178)
-   -   lisp 求助!求助 修改的高手 (http://www.dimcax.com/hust/showthread.php?t=10620)

yang686526 2009-04-25 08:15 PM

lisp 求助!求助 修改的高手
 
lisp 求助!求助 修改的高手
www.dimcax.com
lisp 求助!求助 修改的高手
改lisp源文件
这是个可以一次选多个对像(pline线)输出顶点坐标(保存为一个文件)
修改要求
1去掉生成文件的第一行
2将x和y坐标位置交换
3加入顶点的z坐标
4每条线生成一个文本文件,文件名为输入的第一个文件名数字累加
5输出的坐标小数位补齐为三位
谢谢!路过的大虾们
原码:
(defun c:zbb()
(setq ffn (getfiled "坐标写入文本文件" "d:\" "txt" 1))
(setq opf (open ffn "w"))
(setq ss (ssget '((0 . "*line"))))
(setq kg " ")
(setq txt (strcat "角点" kg "x坐标" kg "y坐标"))
(write-line txt opf)
;(princ (strcat "角点" kg "x坐标" kg "y坐标") opf)
(setq i -1)
(setq key 10)
(repeat (sslength ss)
(setq ent (entget (ssname ss (setq i (1+ i)))))
(setq count 1)
(foreach xy ent
(if (eq (car xy) key)
(progn
(setq pe (cdr xy))
(setq x (rtos(cadr pe)2 3))
(setq y (rtos(car pe)2 3))
(write-line (strcat (itoa count) kg x kg y) opf)
;(princ "\n" opf)
;(princ (strcat (itoa count) kg x kg y) opf)
(setq count (1+ count))
)
)
)
)
(close opf)
(princ(strcat "\n坐标已写入文本: " ffn))
(princ)
)
d
(setq ffn (getfiled "坐标写入文本文件" "d:\" "txt" 1))
===>
(setq ffn (getfiled "坐标写入文本文件" "d:\镇" "txt" 1))
其余未check
感觉您应上传完工后的 文件样本 作为参考
d


所有的时间均为北京时间。 现在的时间是 12:09 AM.