明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1108|回复: 3

版主帮帮忙

[复制链接]
发表于 2007-1-3 12:04:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2007-1-3 16:56:29 编辑

我是想做一个点一下图元就可以根据文本在屏幕上显示出性质和层码的程序

现在是有的出错有的不出错,实在是有点晕了,就帮忙看看,先谢过了!

(defun c:cc( / cc_file cc_1 cc_2 cc_3 cc_4 cc_5 cc_6 cc_layer cc_he cc_su)
  (setvar "cmdecho" 0)
  (vl-load-com)
  (if(null cc_list)
    (progn
  (setq cc_list '())
  (setq cc_file(getfiled "clc" "d:\\clc\\clc" "txt" 2))
  (setq cc_1(open cc_file "r"))
  (setq cc_2(read-line cc_1))
  (setq cc_3(read(strcat "("  cc_2 ")")))
  (while cc_2
    (setq cc_list(cons cc_3 cc_list))
    (if(setq cc_2(read-line cc_1))
    (setq cc_3(read(strcat "("  cc_2 ")")))
      )
    )
  (close cc_1)
  )
    )
       
   (setq cc_4(entsel "\n请选择图元:"))
  (if cc_4
     (progn
     (setq cc_5(read(cdr(assoc 8(entget(car cc_4))))))
             (if (setq cc_6(assoc cc_5 cc_list))
         (progn
   (setq cc_layer (strcat "层码:"(vl-prin1-to-string(car cc_6))))
  
          (setq cc_su(strcat  "\n"  "性质:" (vl-prin1-to-string(cadr cc_6))))
   (setq cc_he(strcat cc_layer cc_su))
       )
        )
     )
    )
  (if cc_6
    (alert cc_he)
    (alert "\n无该图元层码!!!!!")
    )
    
      
  (princ)
  )
    在 (setq cc_3(read(strcat "("  cc_2 ")")))这句有时出错,各位有更好的办法吗?

如遇961000,或953000时会出错

本帖子中包含更多资源

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

x
 楼主| 发表于 2007-1-4 18:21:00 | 显示全部楼层

是不是我没有说明白啊?

就是用read=line读文本时是对的,但下句用(setq cc_3(read(strcat "("  cc_2 ")")))
用列表表示时发现有的就出错了,比如961000层的表示的就不是文本中对着的那一个.

困拢了好几天了,才来这儿请教的,谢谢

发表于 2007-1-4 19:03:00 | 显示全部楼层

你可以换一个思路编这个程序,

发现你很喜欢用READ函数。

把TXT文件一行一行读出来,按空格转换成表。

再根据所选对象的层来查找相关属性。

 楼主| 发表于 2007-1-4 19:21:00 | 显示全部楼层

老大,能不能说详细一点啊

还有我想弄明白这个思路为什么出现错位的现象.

谢谢!

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

本版积分规则

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

GMT+8, 2025-11-23 13:13 , Processed in 0.171610 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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