明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1952|回复: 9

关于图层统计各层图元数量的程序问题

[复制链接]
发表于 2012-6-2 00:03 | 显示全部楼层 |阅读模式
本帖最后由 qq229918602 于 2012-6-2 00:04 编辑

(defun C:TJ()
  (setq blk (tblnext "layer" T))
(while blk
    (setq blkn (assoc 2 blk))
    (setq blk_key (substr (cdr blkn) 1 1))
  (if (/= blk_key "*")
    (progn
  (setq ss5 (ssget "x" (list (cons 8 blk_key))))
  (setq a1(sslength ss5))
  (setq text1 (list blk_key"层" " " a1"个物体"))
  (princ "\n")
  (princ text1))
    )
  (setq blk (tblnext "layer"))
  )
  (prin1)
  )

附上程序,当程序运行第三个层时就出错了,“错误: 参数类型错误: lselsetp nil”,不知道什么意思,请求老师帮我修改一下程序,实现输出各层的图元数量,感谢万分!

发表于 2012-6-2 10:02 | 显示全部楼层
要判断层中是否有物体。
  1. (defun C:TJ()
  2. (setq blk (tblnext "layer" T))
  3. (while blk
  4.   (setq blkn (assoc 2 blk))
  5.   (setq blk_key (substr (cdr blkn) 1 1))
  6.   (if (/= blk_key "*")
  7.    (if (setq ss5 (ssget "X" (list (cons 8 blk_key)))) (progn
  8.     (setq a1 (sslength ss5))
  9.     (setq text1 (list blk_key "层" " " a1 "个物体"))
  10.     (princ "\n")
  11.     (princ text1)
  12.    ))
  13.   )
  14.   (setq blk (tblnext "layer"))
  15. )
  16. (prin1)
  17. )
 楼主| 发表于 2012-6-3 21:47 | 显示全部楼层
本帖最后由 qq229918602 于 2012-6-4 20:59 编辑
ZZXXQQ 发表于 2012-6-2 10:02
要判断层中是否有物体。


版主,不知道为什么修改后的程序能运行。不过重复计算两个层,我运行后得出的数据为:
命令: tj
(T 层   58 个物体)
(B 层   24 个物体)
(T 层   58 个物体)
(T 层   58 个物体)
(B 层   24 个物体)
(T 层   58 个物体)
(T 层   58 个物体)
(B 层   24 个物体)

但是我的图是有其他层的啊。。。求解。。

本帖子中包含更多资源

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

x
发表于 2012-6-3 22:25 | 显示全部楼层
压缩
游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0

再压缩
游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0
 楼主| 发表于 2012-6-3 22:43 | 显示全部楼层
ZZXXQQ 发表于 2012-6-3 22:25
压缩
[/post]
再压缩

恐怖如斯啊、、、、、好好研究一下思路。感谢感谢。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 04:00 , Processed in 0.292777 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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