找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1411|回复: 10

[分享]:如何实现图纸中的文字输出的文本

[复制链接]
发表于 2004-6-30 10:46:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
(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)
        )
意思实现了文字输出,但是只能按选择的顺序输出,无法做到按选择的文字位置顺序输出,还望高手指点一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-6-30 15:08:37 | 显示全部楼层
[php]
(defun c:txtout        (/ ss index lst fln f)
  (setq ss (ssget '((0 . "*TEXT"))))
  (setq        index -1
        lst '()
  )
  (while (< (setq index (1+ index)) (sslength ss))
    (setq lst (cons (ssname ss index) lst))
  )
  (setq        lst (vl-sort
              (vl-sort lst
                       '(lambda        (e1 e2)
                          (< (cadr (assoc 10 (entget e1)))
                             (cadr (assoc 10 (entget e2)))
                          )
                        )
              )
              '(lambda (e1 e2)
                 (> (caddr (assoc 10 (entget e1)))
                    (caddr (assoc 10 (entget e2)))
                 )
               )
            )
  )
  (setq fln (getstring "\nFilename:"))
  (setq fln (strcat fln ".txt"))
  (setq f (open fln "w"))
  (foreach en lst
    (write-line (cdr (assoc 1 (entget en))) f)
  )
  (close f)
  (startapp "notepad.exe" (findfile fln))
  (princ)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-30 20:20:07 | 显示全部楼层
老大看来是ActiveX的高手了,学这个有秘诀吗?
还要一个语句请教一下,我看不懂:(setq ss (ssget ":s" '((0 . "*LINE,ARC,CIRCLE,ELLIPSE"))))

我猜是过滤选择,可是在帮助找不到这个用法,能解释一下吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-30 21:11:23 | 显示全部楼层
帮助中有啊,v lisp部分
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-30 21:26:45 | 显示全部楼层
帮助中有ssget的函数解释,但是这样的用法,我没有看到过,因此求教
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-30 21:44:07 | 显示全部楼层
":S" 是只允许单选,帮助文件里SSGET下有解释。至于Wild-Card match, 还提到参考wcmatch下的解释,有的人可能没有注意到,其实wcmatch的所有用法都可以在ssget的过滤中应用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-30 22:10:50 | 显示全部楼层
谢谢了,我明白了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-7-1 08:33:20 | 显示全部楼层

Re: [分享]:如何实现图纸中的文字输出的文本

最初由 shisj 发布
[B](defun c:txtout (/ fln f a n index el e txt)
        (setq fln (getstring "\n输出文件名:"))
        ...
意思实现了文字输出,但是只能按选择的顺序输出,无法做到按选择的文字位置顺序输出,还望高手指点一下。[/B]


其实就是文字排序问题,是比较令人头痛的。我这里http://xdcad.net/forum/showthread.php?threadid=27605的wr.lsp就是实现此功能的,不过太长,有兴趣可以参考,另外Ju.lsp中也有类似的排序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-7-1 20:28:42 | 显示全部楼层
谢谢了,我参考研究一下,水平比较菜,到时可能还的求助
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-3-11 23:08:04 | 显示全部楼层
是个好帖子.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-3-16 12:52:29 来自手机 | 显示全部楼层
去图书馆借点书看看,学习一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-14 21:53 , Processed in 0.408420 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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