zhihaomeng 发表于 2006-11-14 11:46:00

分享lisp程序

<P>下面的程序可以将CAD中的文字的三维坐标以文本文件的格式导出!</P>
<P>(defun C:dd ()<BR>(setq ss2 (ssget '((0 . "MTEXT"))))<BR>&nbsp; (setq n 0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;;;将索引号初始为0.<BR>(setq shitigeshu (sslength ss2)) ;;;返加选择集中实体个数。<BR>(repeat shitigeshu<BR>(setq stb (entget (ssname ss2 n))) ;;;返回选择集中指定索引号的列表<BR>(setq mc (assoc 1 stb)) ;;;;在列表中找与关键字相同的元素,点对表,文字内容<BR>(setq nr (cdr mc)) ;;;反回点对表中的第二个元素,文字内容。<BR>(setq zblb (assoc 10 stb)) ;;;返回坐标列表。<BR>(setq xzb (nth 1 zblb)) ;;;;返回X坐标。<BR>(setq xzbzh (rtos xzb)) ;;;将X坐标转换为字符串。<BR>(setq yzb (nth 2 zblb)) ;;;;返回y坐标<BR>(setq yzbzh (rtos yzb)) ;;;;;将y坐标转换为字符串。<BR>(setq zzb (nth 3 zblb)) ;;;;;返回z坐标。<BR>(setq zzbzh (rtos zzb)) ;;;;;;将z坐标转换为字符串。<BR>(setq hecheng (strcat nr " "&nbsp; xzbzh " " yzbzh " " zzbzh))<BR>(setq wj (open "e:/new.txt" "a"))<BR>(write-line hecheng wj)<BR>(setq n (+ 1 n))<BR>)<BR>&nbsp; (close wj)<BR>)</P>

wuhuihong 发表于 2006-11-14 13:19:00

这玩意是干吗用的啊 我怎么搞不懂啊 还请明示

ZZXXQQ 发表于 2006-11-14 16:04:00

<P>1、将一楼的内容剪贴到WINDOWS的记事本中;</P>
<P>2、另存为DD.LSP文件;</P>
<P>3、进入ACAD;</P>
<P>4、加载DD.LSP;可以用下拉菜单:工具--加载应用程序;</P>
<P>5、键入DD运行程序;</P>
<P>6、根据提示选择MTEXT文本就行了。</P>

sony-lin 发表于 2006-11-16 06:14:00

这个对2次数字化有很好的作用!

zgzzsn 发表于 2006-11-16 07:41:00

<P>对地形图处理有用</P>
<P>数据文件存在&nbsp;&nbsp;&nbsp;&nbsp; e:/new.txt</P>

redhat2001 发表于 2011-6-2 22:02:57

小弟请教:我用lisp写一段代码 当我在cad命令行执行他时 cad自动加载 我自己写的菜单文件.mns 如何写这个.lsp
也就是说 在.lisp 中我想定义一个个人命令比如:"(defun c:dq ( / &mod )"并以dq.lsp保存
当我再cad命令行中输入dq 他就会自动加载 我自己写的菜单文件.mnsdq.lsp如何写呢?? 高手帮帮忙啊   雪地跪求。

yoyoho 发表于 2011-6-3 16:25:24

感谢楼主分享程序!

longer1000 发表于 2011-6-5 23:44:48

楼主高手,想学太难了
页: [1]
查看完整版本: 分享lisp程序