找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1205|回复: 15

[求助] [求助]:怎样计算图内某块的数量

[复制链接]
发表于 2003-6-7 12:29:05 | 显示全部楼层 |阅读模式

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

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

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

已领礼包: 23个

财富等级: 恭喜发财

发表于 2003-6-7 14:32:41 | 显示全部楼层
1. 不使用专门的程序 :  qselect 命令或在绘图区域内右击鼠标,在弹出菜单中选择Quick Select ... 在对话框中按你的要求进行选择后可以看到有多少符合你对象被选中.
2. 不使用专门的程序 : select命令结合 'filter
3.使用ExpressTools中的Bcount程序或其他类似程序.

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

使用道具 举报

发表于 2003-6-8 11:54:13 | 显示全部楼层
我这里有个统计图块的小LSP程序,很好用的!

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

使用道具 举报

发表于 2003-6-8 13:58:40 | 显示全部楼层
最初由 chenwei_zj 发布
[B]我这里有个统计图块的小LSP程序,很好用的!

加载后输入to的命令就可以了,我计算喷头数就用这个,非常管用。 [/B]

楼上的姐姐,你的LSP没有加选择过滤哦,如果选中其它的非本块的物体就会进入死循环的

  1. ;查选区内的数
  2. ;cks.lsp
  3. (defun c:cks ()
  4.   (setq a1 (entsel "\nselect a bolck:"))
  5.   (if a1
  6.     (progn
  7.   (setq a2 (car a1))
  8.   (setq a3 (entget a2))
  9.   (setq a4 (assoc 0 a3))
  10.   (setq a5 (cdr a4))
  11.   
  12.   (if (= a5 "INSERT")
  13.     (progn
  14.       (setq a6 (assoc 2 a3))
  15.       (setq a7 (cdr a6))
  16.       (princ "\n选择要查所选块数的区域")
  17.   (setq a8 (ssget (list '(0 . "INSERT") a6)))  
  18.   (setq a9 (sslength a8))
  19.   (princ "\n选区内的块")   
  20.   (princ a7)
  21.   (princ "数目为:")
  22.   (princ a9)
  23.   (princ)
  24.    )
  25.    (princ "\n选择的物体不是块!!!")
  26.    )
  27.    )
  28.    (princ "\n没有物体被选择!!!")
  29.    )
  30.     (princ)
  31.    )

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

使用道具 举报

发表于 2003-6-8 18:27:58 | 显示全部楼层
呵呵,不会,偶还从来没有碰到过死循环,那小东东也是网上找来的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2003-6-9 10:30:58 | 显示全部楼层
可能有些朋友没注意过,原来的14下有个统计块数量的count.lsp程序,非常好用,只要输入count命令,窗选计算图块的图形范围,在F2文本窗口内自动出现所有图块名称以及统计的数量列表。这个程序在14以及2002下都可以加载使用,2004下还没试估计没问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-11-22 16:17:15 | 显示全部楼层
  1. [FONT=courier new](load "xyp_lib.vlx")
  2. ;|加载通用函数(可在签名栏直接下载)
  3. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  4. 利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
  5. ★1·在acad.lsp中增加(load"xyp_lib")
  6. ■2·在每个程序内增加(load"xyp_lib")
  7. ■3·在command下,输入(load"xyp_lib")
  8. ■4·在菜单.mnl中增加(load"xyp_lib")
  9. ■5·将xyp_lib.vlx文件直接拽到cad屏幕
  10. [COLOR=red] ★通用函数下载地址:[/COLOR]
  11. [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
  12. |;

  13. ;;;块统计并制表标注
  14. (defun c:test47        ()
  15.   (CMDLA0)
  16.   (setvar "osmode" 0)
  17.   (if (null ww)
  18.     (setq ww 50.0)
  19.   )
  20.   (if (null hh)
  21.     (setq hh 8.0)
  22.   )
  23.   (setq        pt1 (getpoint "\n左上角: ")
  24.         ww  (UDIST 1 "" "\n宽度" ww nil)
  25.         hh  (UDIST 1 "" "\n每格高度" hh nil)
  26.         pt2 (polar pt1 0 ww)
  27.         pt3 (polar pt2 (* pi 1.5) hh)
  28.         pt4 (polar pt1 (* pi 1.5) hh)
  29.   )
  30.   (command "pline" pt1 pt2 pt3 pt4 "c")
  31.   (setq        pt5 (polar pt1 0 (/ ww 2))
  32.         pt6 (polar pt5 (* pi 1.5) hh)
  33.   )
  34.   (command "line" pt5 pt6 "")
  35.   (command "text"
  36.            "m"
  37.            (inters pt1 pt6 pt4 pt5)
  38.            (/ hh 2)
  39.            0
  40.            "图块名称"
  41.   )
  42.   (command "text"
  43.            "m"
  44.            (inters pt5 pt3 pt2 pt6)
  45.            (/ hh 2)
  46.            0
  47.            "数量"
  48.   )
  49.   (setq blk (tblnext "block" t))
  50.   (while blk
  51.     (setq blkn          (assoc 2 blk)
  52.           blk_key (substr (cdr blkn) 1 1)
  53.     )
  54.     (if        (/= blk_key "*")
  55.       (progn
  56.         (setq ss (ssget "X" (list blkn)))
  57.         (if (null ss)
  58.           (setq ssn 0)
  59.           (setq ssn (sslength ss))
  60.         )
  61.         (setq blknn (cdr blkn)
  62.               pt1   pt4
  63.               pt5   pt6
  64.               pt2   pt3
  65.               pt4   (polar pt1 (* pi 1.5) hh)
  66.               pt6   (polar pt5 (* pi 1.5) hh)
  67.               pt3   (polar pt2 (* pi 1.5) hh)
  68.         )
  69.         (command "pline" pt2 pt3 pt4 pt1 "")
  70.         (command "line" pt5 pt6 "")
  71.         (command "text"
  72.                  "m"
  73.                  (inters pt1 pt6 pt4 pt5)
  74.                  (/ hh 2)
  75.                  0
  76.                  blknn
  77.         )
  78.         (command "text"
  79.                  "m"
  80.                  (inters pt5 pt3 pt2 pt6)
  81.                  (/ hh 2)
  82.                  0
  83.                  (itoa ssn)
  84.         )
  85.       )
  86.     )
  87.     (setq blk (tblnext "block"))
  88.   )
  89.   (CMDLA1)
  90. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-25 16:38:39 | 显示全部楼层
试试这个吧,用过后你肯定会觉得比count.lsp还好,它可是还能统计无名块的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 11:40 , Processed in 0.502350 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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