找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 17401|回复: 46

(完成)[编程申请]:求一个LSP,计算块数量

  [复制链接]
发表于 2004-1-11 16:32:47 | 显示全部楼层 |阅读模式

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

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

×
我已经在LSP编程那里发了一个帖子,现在才看到这个板块。原来已经有一位网友帮我写了一个了,现在希望斑竹能帮我看看怎么调整。
http://www.xdcad.net/forum/showthread.php?threadid=135393
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-1-11 17:06:20 | 显示全部楼层
用VB写的要吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-1-11 18:16:16 | 显示全部楼层
很惭愧,我不懂VB写的怎么使用。不过如果能够便捷的使用的话我想都可以的吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-12 08:47:27 | 显示全部楼层
(defun c:test ( / blo   blolen)
(setq blo (ssget "X" (list (CONS 0 "insert"))))
(setq blolen  (sslength blo) )
(setq blolen (itoa blolen))
             (alert (strcat "本图共有" blolen  "个块" ))
               )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-1-12 09:03:02 | 显示全部楼层
不是一下子计算是多少个块。希望是能在框选范围,然后范围内的块能根据块名来计算,并能在图内产生一个表之类的东西,便于我对照使用。这样便不会弄错数量了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-12 10:06:24 | 显示全部楼层
最初由 曼漫 发布
[B]不是一下子计算是多少个块。希望是能在框选范围,然后范围内的块能根据块名来计算,并能在图内产生一个表之类的东西,便于我对照使用。这样便不会弄错数量了 [/B]


你使用我的文字修改大师中的图块统计试试,可以生成表格和文件输出!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-12 14:26:13 | 显示全部楼层
最初由 曼漫 发布
[B]哪里?我找不到 [/B]


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

使用道具 举报

 楼主| 发表于 2004-1-12 14:46:15 | 显示全部楼层
嗯,我试用了。就是要那样子的。。
不过还是这么一个问题:框选范围之后,有些东西是刚好在线框上的(我不想要的东西,也就是块踏线了),它都一并计算了。因为我的树种是放置并不是那么有规律的。这样能不能改善一下。。另外,真是谢谢你啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-1-12 18:38:55 | 显示全部楼层
  1. [php]
  2. ;|   Written By Eachy 2004.1.12
  3. 功能: 图块数量统计;;

  4. 说明: 根据点取的典型图块统计, 可以多选 ;;

  5.       本程序需配合 xdrx_api 使用, 意见和建议请访问
  6.       [url]http://www.xdcad.net/form[/url]
  7. |;
  8. (defun c:XDTB_BlkNum  (/ blk blkl e el filter l1 l2 ll1 ln lst pt sblkl ss tf x)
  9.   (xdrx_begin)
  10.   (xdrx_sysvar_push "osmode")
  11.   (setq tf t)
  12.   (while (setq e (xdrx_entsel
  13.                    (if tf
  14.                      "\n拾取要统计图块<回车全选>:"
  15.                      "\n拾取要统计图块<结束>"
  16.                    )
  17.                    '((0 . "insert"))
  18.                  )
  19.          )
  20.     (setq tf nil)
  21.     (setq blk (xdrx_getentdxf 2))
  22.     (if        (not (member blk blkl))
  23.       (progn
  24.         (setq blkl (cons blk blkl))
  25.         (redraw (car e) 3)
  26.         (setq el (cons (car e) el))
  27.         ;;(xdrx_Pickset_Redraw (ssget "x" (list (cons 2 blk))))
  28.         (prompt        (strcat        "\n选中了 ""
  29.                         (setq sBlkl (xdrx_String_Join
  30.                                       (reverse blkl)
  31.                                       ","
  32.                                     )
  33.                         )
  34.                         "" 块!"
  35.                 )
  36.         )
  37.       )
  38.       (princ (strcat "\n已选中 " blk " 块!"))
  39.     )
  40.   )
  41.   (if blkl
  42.     (setq filter (append '((0 . "insert") (-4 . "<or"))
  43.                          (mapcar '(lambda (x) (cons 2 x))
  44.                                  blkl
  45.                          )
  46.                          '((-4 . "or>"))
  47.                  )
  48.     )
  49.     (setq filter '((0 . "insert")))
  50.   )
  51.   (princ "\n拾取统计范围[All - 全选].....")
  52.   (if (setq ss (ssget filter))
  53.     (progn
  54.       (xdrx_setsstodb ss 0)
  55.       (while (xdrx_getentdata 0)
  56.         (setq ln (xdrx_getentdxf 2))
  57.         (if (not l1)
  58.           (setq l1 (list (list ln)))
  59.         )
  60.         (setq l2 l1)
  61.         (while (and (setq ll1 (car l2))
  62.                     (/= ln (car ll1))
  63.                )
  64.           (setq l2 (cdr l2))
  65.         )
  66.         (setq
  67.           l1 (if ll1
  68.                (subst (append ll1 (list ln)) ll1 l1)
  69.                (cons (list ln) l1)
  70.              )
  71.         )
  72.       )
  73.       (setq pt (getpoint "\n输出点<回车显示>: "))
  74.       (if l1
  75.         (progn
  76.           (setq
  77.             lst        (mapcar        '(lambda (x) (list (car x) (itoa (length x))))
  78.                         l1
  79.                 )
  80.           )
  81.           (if pt
  82.             (progn
  83.               (command ".text"
  84.                        pt
  85.                        "3"
  86.                        "0"
  87.                        (strcat "Block" "      " "Number")
  88.               )
  89.               (setq
  90.                 pt (polar pt (* 1.5 pi) (* 2.0 (getvar "textsize")))
  91.               )
  92.               (mapcar '(lambda (x)
  93.                          (command ".text"
  94.                                   pt
  95.                                   "3"
  96.                                   "0"
  97.                                   (strcat (car x) "       " (cadr x))
  98.                          )
  99.                          (setq pt
  100.                                 (polar pt (* 1.5 pi) (* 2.0 (getvar "textsize")))
  101.                          )
  102.                        )
  103.                       lst
  104.               )
  105.             )
  106.             (princ lst)
  107.           )
  108.         )
  109.       )
  110.       (foreach n el
  111.         (redraw n 4)
  112.       )
  113.       ;;(xdrx_Pickset_Redraw (ssget "x" (list (cons 2 sBlkl))) t)
  114.     )
  115.   )
  116.   (xdrx_sysvar_pop)
  117.   (xdrx_end)
  118.   (princ)
  119. )[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-1-12 19:43:51 | 显示全部楼层
先谢谢啊。。。。:)
xdrx_api是晓东工具箱吗?一定要嫁接在这个工具上面才能使用么?能不能写成单独使用的啊?

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-1-14 18:50:52 | 显示全部楼层
最初由 曼漫 发布
[B]先谢谢啊。。。。:)
xdrx_api是晓东工具箱吗?一定要嫁接在这个工具上面才能使用么?能不能写成单独使用的啊?

PS:我一直都下载不了“晓东工具箱”,连接不上,不懂怎么回事?没办法试用 [/B]

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

使用道具 举报

发表于 2004-1-17 09:27:33 | 显示全部楼层
我也是一直都下载不了“晓东工具箱”和李国杰的“ASDE",不懂怎么回事?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-17 09:27:39 | 显示全部楼层

请试试我的:BLOCK_NUM .lsp,可以直接列出图块表(苗木表等),没有漏网之鱼。

图块名   数量

桃花心木    1

麻楝        1

樟树        1

阴香        1

橡胶榕      1

细叶榕      1

高山榕      1

黄槿        1

假苹婆      1

马占相思    2

仁面        2

散尾葵      2

蒲葵        2

大王椰子    2

黄金叶      2

四季桂花    2

造型花叶榕  1

山指甲      1

非洲茉莉    1

龙柏球      1

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

使用道具 举报

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

使用道具 举报

发表于 2004-1-27 14:22:23 | 显示全部楼层
14楼和15楼的两个lisp可以直接在2002里用吗?那个block_num,是可以直接在图中把表列出来吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-21 16:36 , Processed in 0.496201 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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