找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: chinese17

[求助]:CAD中的奇怪现象

[复制链接]
发表于 2005-10-11 22:19:52 | 显示全部楼层
搞不清楚是怎么回事,刚刚试了一下,在家里的电脑上,我也能选中空格文字,但在公司的电脑上就是不行。
块参照和空字符选不中是很正常的。这种情况只能用QSelect或选择过滤器进行选择,或全选后进行反选。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-11 22:34:01 | 显示全部楼层
我也不知为什么,以前也有选不中的时候,也是用“快速选择”选的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-11 23:15:57 | 显示全部楼层
最初由 柔柔 发布
[B]程序不已经贴出来了?
所谓“程序的局部”是指在我的一个处理图纸的大程序中加了这个小小的功能,对整个程序来说是局部,对本问题差不多就是全部,哈哈~~~ [/B]

我对你后面的“处理文字”比较有兴趣,你再贴个图片上来?

    (defun change_text (/ str str_str n str_a)
      (setq str (cdr (assoc 1 elist))
            n   1
      )
      (while (and (= str_str nil) (/= (substr str n 1) ""))
        (setq str_a (substr str n 1))
        (if (/= str_a " ")
        (setq str_str T)
        (setq n (1+ n))
      )
    )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-17 18:55:48 | 显示全部楼层
2006中有时候也有这样的现象,不过一选中它,这样的短线就消除了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-17 19:57:49 | 显示全部楼层
我那是程序中的一个子程序,怎么能单独使用?
临时给你编一个:

[PHP]
(defun c:l19811102 (/ sset sslen nsset elist ename str str_str n str_a)
  (setq        sset  (ssget "X")
        sslen (sslength sset)
        nsset (ssadd)
  )
  (while (> sslen 0)
    (setq elist
           (entget (setq ename (ssname sset (setq sslen (1- sslen)))))
    )
    (if        (or
          (= (cdr (assoc 0 elist)) "TEXT")
          (= (cdr (assoc 0 elist)) "ATTDEF")
          (= (cdr (assoc 0 elist)) "MTEXT")
        )
      (ssadd ename nsset)
    )
  )
  (setq        sslen (sslength nsset)
        sset  nsset
  )
  (while (> sslen 0)
    (setq elist        (entget (setq ename (ssname sset (setq sslen (1- sslen)))))
          str        (cdr (assoc 1 elist))
          n        1
    )
    (while (and (= str_str nil) (/= (substr str n 1) ""))
      (setq str_a (substr str n 1))
      (if (/= str_a " ")
        (setq str_str T)
        (setq n (1+ n))
      )
    )
    (if        (= str_str nil)
      (entdel ename)
    )
  )
)
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-17 20:03:41 | 显示全部楼层
请问柔柔长老,这个程序是做什么用的?用l19811102 长老的名字当命令名,他倒是好记!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-17 20:26:14 | 显示全部楼层
建议小不点儿有时间还是学一点编程,倒不必走程序员道路,拿来主义值得发扬,但会点编程能够解决自己的临时难题。

我上面曾贴出删除空格文字的程序,但那是解决别的问题的程序中顺便解决这个空格文字,贴出的当然是这一段的语句,但l19811102居然拿那个去执行(33楼),这怎么可能?于是我把获得elist变量的前面语句加上。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-17 20:39:43 | 显示全部楼层
谢谢柔柔长老的建议,其实前几天我已经买了一本书,打算来学学了,只是这段时间事情多点,还没来得及专心看,今后一定抽时间学习一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-17 20:43:20 | 显示全部楼层
看你在论坛的表现,下面这个特意为你作的
刚才没注意,忘了标记清零了,哈哈~~~

[PHP]
(defun c:l19811102 (/ sset sslen nsset elist ename str str_str n str_a)
  (setq        sset  (ssget "X")       ;; 把所有对象选进选择集sset内
        sslen (sslength sset)   ;; 被选择的对象数量
        nsset (ssadd)           ;; 建立一个空的选择集 nsset
  )
  (while (> sslen 0)            ;; 循环语句,从选择集中一个一个取出对象
    (setq elist
           (entget (setq ename (ssname sset (setq sslen (1- sslen)))))
    )
    (if        (or
          (= (cdr (assoc 0 elist)) "TEXT")   ;;  判断它们是否是文字
          (= (cdr (assoc 0 elist)) "ATTDEF")
          (= (cdr (assoc 0 elist)) "MTEXT")
        )
      (ssadd ename nsset)  ;; 仅仅把文字转移到选择集 nsset 内,这就是所谓的选择过滤
    )
  )
  (setq        sslen (sslength nsset)  ;;重新统计新选择集nsset 内的对象数量,自然都是文字对象
        sset  nsset
  )
  (while (> sslen 0)    ;; 循环语句,从选择集中一个一个取出对象,获得对象的数据列表,
    (setq elist        (entget (setq ename (ssname sset (setq sslen (1- sslen)))))
          str        (cdr (assoc 1 elist))    ;; 取出文字内容
          str_str nil   ;;  刚才粗心,忘了把标记清零,注意一定要加上这句
          n        1
    )
    (while (and (= str_str nil) (/= (substr str n 1) ""))
      (setq str_a (substr str n 1))
      (if (/= str_a " ")    ;;  逐个检查文字,一旦发现不是空格,就做个标记
        (setq str_str T)
        (setq n (1+ n))
      )
    )
    (if        (= str_str nil)     ;;  查到文字末尾,没有标记的,说明全是空格
      (entdel ename)        ;;  那就删除它
    )
  )
)[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-10-17 23:00:48 | 显示全部楼层
最初由 柔柔 发布
[B]我那是程序中的一个子程序,怎么能单独使用?
临时给你编一个:[/B]
最初由 柔柔 发布
[B]对本问题差不多就是全部,哈哈~~~[/B]

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

使用道具 举报

发表于 2005-10-17 23:20:55 | 显示全部楼层
没错呀,真正解决问题的就是后面几句话呀,前面的是数据准备嘛,
大家都是这么的呀,“哇!那幢楼好漂亮呦...”,很少有人会说“哇!那幢楼的地基好结实呦”,
于是,大家都想一夜成为高手,你跟他讲基本概念听不进。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-27 15:06:22 | 显示全部楼层
最初由 柔柔 发布
[B]没错呀,真正解决问题的就是后面几句话呀,前面的是数据准备嘛,
大家都是这么的呀,“哇!那幢楼好漂亮呦...”,很少有人会说“哇!那幢楼的地基好结实呦”,
于是,大家都想一夜成为高手,你跟他讲基本概念听不?.. [/B]

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-21 16:36 , Processed in 0.183954 second(s), 50 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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