找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 702|回复: 7

[求助] [求助]:搞定 3q

[复制链接]
发表于 2004-4-28 15:15:30 | 显示全部楼层 |阅读模式

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

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

×
请问怎么把要统计的文字加到过滤器里面呢?

(defun c:tj (/ txt ss)                        ;统计文字

(setq txt "FCU-6.3")
  (setq ss (ssget (list '(0 . "text") ( cons 1 txt)))

  (progn
    (prompt
      (strcat "\n图中有 " (itoa (sslength ss)) " 个文字" txt)
    )
  )

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

已领礼包: 145个

财富等级: 日进斗金

发表于 2004-4-28 16:01:41 | 显示全部楼层

Re: [求助]:统计文字 请帮个忙!请问怎么把要统计的文字加到过滤器里面呢?

最初由 SOO 发布
[B]请问怎么把要统计的文字加到过滤器里面呢?

(defun c:tj (/ txt ss)                        ;统计文字

(setq txt "FCU-6.3")
  (setq ss (ssget (list '(0 . "text") ( cons 1 txt)))

  (progn
    (prompt
      (strcat "\... [/B]


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

使用道具 举报

 楼主| 发表于 2004-4-28 16:35:22 | 显示全部楼层

ssget不是有个过滤器表吗?

ssget不是有个过滤器表吗?
我是想构造含有某文字的选择集,再取其个数
就可以完成统计文字啦


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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2004-4-28 17:33:30 | 显示全部楼层

Re: ssget不是有个过滤器表吗?

最初由 SOO 发布
[B]ssget不是有个过滤器表吗?
我是想构造含有某文字的选择集,再取其个数
就可以完成统计文字啦


我是初学自我摸索中
先谢谢斑竹 [/B]


你上面的帖子里面的:


  1. (setq ss (ssget (list '(0 . "text") ( cons 1 txt)))


就是构建实体是text类型,文字内容是变量txt 的选择集。

构建后的选择集保存在变量ss中。

你要想获得选择集的实体个数,用函数sslength 得到


  1. (setq len (sslength ss))


关于SSGET函数的组码的应用,你可以看看LISP联机帮助里面的ssget 函数相关介绍。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

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

使用道具 举报

 楼主| 发表于 2004-4-29 12:20:11 | 显示全部楼层
我想先构造选择集,然后统计文字,但是如何在ssget里面使用同一选择集呢?

(defun c:tj (/ txt ss)                        ;统计文字


  (prompt "请选择需要统计的实体:")
  (setq ss (ssget))

  (foreach txt '("FCU-8" "FCU-6.3")
    (if        (setq ss (ssget "P" (list '(0 . "TEXT") (cons 1 txt))))

      (progn
        (prompt
          (strcat "\n图中有 " (itoa (sslength ss)) " 个文字" txt)
        )
        (princ)
      )
    )
  )
  (princ)
  (gc)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-29 13:43:12 | 显示全部楼层
最初由 aeo 发布
[B]写的蛮好呀
"text")  .大写 [/B]


大小写无关的。

楼上,加一句:
(foreach txt '( .... ))
(command ".select" ss "")
(if (setq ss2 (ssget "p" filter))
...
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-29 14:02:23 | 显示全部楼层
程序随小,但应该能提高效率不少,谢谢大家

(defun c:tj (/ txt ss)                        ;统计文字

                                       
  (prompt "请选择需要统计的实体:")
  (setq ss (ssget))

  (FOREACH TXT '("FCU-8" "FCU-6.3" "FCU-5")
    (setvar "cmdecho" 0)
    (command ".select" ss "")

    (if        (setq ss1 (ssget "P" (list '(0 . "text") (cons 1 txt))))

      (progn
        (prompt
          (strcat "\n图中有 " (itoa (sslength ss1)) " 个文字" txt)
        )
        (princ)
      )
    )
  )
  (textscr)
  (princ)
  (setvar "cmdecho" 1)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 03:40 , Processed in 0.348462 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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