明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1938|回复: 7

[讨论]如何实现图纸中的文字输出

[复制链接]
发表于 2004-6-30 10:50:00 | 显示全部楼层 |阅读模式
(defun c:txtout (/ fln f a n index el e txt)
(setq fln (getstring "\n输出文件名:"))
(setq fln (strcat fln ".txt"))
(setq f (open fln "w"))
(setq a (ssget))
(setq n (sslength a))
(setq index 0)
(repeat n
(setq el (entget ( ssname a index)))
(setq index ( + index 1))
(setq e (assoc 0 el))
(if (= "TEXT" (cdr e))
(progn
(setq txt (cdr (assoc 1 el)))
(write-line txt f)
)
)
)
(close f)
)
意思实现了文字输出,但是只能按选择的顺序输出,无法做到按选择的文字位置顺序输出,还望高手指点一下。
发表于 2004-6-30 11:12:00 | 显示全部楼层
能说的具体点吗?按什么样的位置输出?
发表于 2004-6-30 13:34:00 | 显示全部楼层
精灵王发表于2004-6-30 10:50:00回复:(精灵王)如何实现图纸中的文字输出 (defun c:txtout (/ fln f a n index el e txt) (setq fln (getstring \"\n输出文件名:\")) (setq fln (strcat fln \".txt\")) (setq f (open fln
我的建议:在取出文字内容的同时,将其位置信息取出,并组成表,再按你所需要的坐标排序后输出.
 楼主| 发表于 2004-6-30 13:49:00 | 显示全部楼层
如何表元素的排序输出,是否再构造一个表,用冒泡法排序。
发表于 2004-6-30 14:12:00 | 显示全部楼层
下面是我从书本上直接抄来加以引用的,不需要再构造表: ;
(defun ssort(llist key / un1 part un2 fr la un cn ptl sor i j t1 t2)
(if (and llist key)
(progn
(setq un1 (length llist)
part un1
ptl nil
cn 0
un T
)
(while (< cn un1)
(setq ptl (append ptl (list cn))
cn (1+ cn)
)
)
(while un
(setq part (fix (/ (1+ part) 2))
un2 (fix (/ un1 part))
)
(if (= part 1)
(setq un nil)
)
(if (/= (rem un1 part) 0)
(setq un2 (1+ un2))
)
(setq fr 0 i 1)
(while (< i un2)
(setq la (+ fr part))
(if (> la (- un1 part))
(setq la (- un1 part))
)
(setq j fr)
(while (< j la)
(if (> (nth key (nth (nth j ptl) llist))
(nth key (nth
(nth (+ j part) ptl) llist)
)
)
(setq t1 (nth j ptl)
t2 (nth (+ j part) ptl)
ptl (subst t2 -1
(subst t1 t2
(subst -1 t1 ptl)
)
)
un T
)
)
(setq j (1+ j))
)
(setq fr (+ fr part) i (1+ i))
)
)
(setq cn 0 sor nil)
(while (< cn un1)
(setq sor (append sor (list (nth (nth cn ptl) llist)))
cn (1+ cn)
)
)
(setq cgbz sor)
)
nil
)
) 调用ssort cgbz key) 其中:key为按表中第几个元素排序(0,1,2,...n)
 楼主| 发表于 2004-6-30 14:38:00 | 显示全部楼层
谢谢了,我先看看
发表于 2004-6-30 14:59:00 | 显示全部楼层
可以用VL-SORT排序,具体可参看帮助文件中vl-sort函数的介绍
 楼主| 发表于 2004-6-30 20:38:00 | 显示全部楼层
看了VL-SORT,确实比较方便,就是以前不知道,我向求助一下meflying,如何才能找到一个自己需要的函数,依靠平时积累(可是菜鸟没有那么多积累),还是参照函数简介表,哪儿去找这个表。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 12:47 , Processed in 0.175029 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表