明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1745|回复: 5

[基础] [求助]lisp当中选择一个对象的命令是什么?

[复制链接]
发表于 2009-10-7 09:45 | 显示全部楼层 |阅读模式

各位大侠:

我找了一个计算相同块数量的程序,但是我想在计算后能够把统计的块同时选择上,请问该加一句什么呢?谢谢各位大侠了。。

程序如下:

(defun c:CalBlk( / ent ents blkname)
  (setq ent (car (entsel)))
  (if ent
    (progn
      (setq ents (entget ent))
      (if (= (cdr (assoc 0 ents)) "INSERT")
 (progn
   (setq blkname (cdr (assoc 2 ents)))
   (princ (strcat "\n块名:" blkname "," "数量:"))
   (princ (sslength (ssget "x" (list '(0 . "INSERT") (cons 2 blkname)))))
 )
      )
    )
  )
  (princ)
)
(prompt "Enter CALBLK to launch the program!")

发表于 2009-10-7 10:28 | 显示全部楼层
  1. (defun c:CalBlk( / ent ents blkname)
  2.   (setq ent (car (entsel)))
  3.   (if ent
  4.     (progn
  5.       (setq ents (entget ent))
  6.       (if (= (cdr (assoc 0 ents)) "INSERT")
  7. (progn
  8.    (setq blkname (cdr (assoc 2 ents)))
  9.    (princ (strcat "\n块名:" blkname "," "数量:"))
  10.    (princ (sslength (sssetfirst gripset (ssget "x" (list '(0 . "INSERT") (cons 2 blkname))))))
  11. )
  12.       )
  13.     )
  14.   )
  15.   (princ)
  16. )
  17. (prompt "Enter CALBLK to launch the program!")
 楼主| 发表于 2009-10-7 10:30 | 显示全部楼层
呵呵,谢谢了哈。。好同志
 楼主| 发表于 2009-10-7 10:33 | 显示全部楼层

选择对象:
块名:p,数量:; 错误: 参数类型错误: lselsetp (nil <Selection set: 32c>)
命令:

提示错误哈,但能选择!!

发表于 2009-10-7 12:26 | 显示全部楼层

....

(princ (strcat "\n塊名:" BLKNAME "," "數量:"))
   (sssetfirst
     GRIPSET
     (setq
       SS (ssget "x" (list '(0 . "INSERT") (cons 2 BLKNAME)))
     )
   )
   (princ (sslength SS))

....

发表于 2009-10-7 14:21 | 显示全部楼层
按版主龙龙仔的改法修改就可以了.以下是我重新改进的代码:
  1. (defun c:CalBlk( / ent ents blkname)
  2.    (setq ent (car (entsel)))
  3.    (if ent
  4.      (progn
  5.        (setq ents (entget ent))
  6.        (if (= (cdr (assoc 0 ents)) "INSERT")
  7.   (progn
  8.     (setq blkname (cdr (assoc 2 ents)))
  9.     (princ (strcat "\n块名:" blkname "," "数量:"))
  10.     (princ (sslength (setq ss (ssget "x" (list '(0 . "INSERT") (cons 2 blkname))))))
  11.   )
  12.        )
  13.     (sssetfirst gripset ss)
  14.      )
  15.    )
  16.    (princ)
  17. )
  18. (prompt "Enter CALBLK to launch the program!")
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-9 22:53 , Processed in 0.184437 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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