明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1326|回复: 3

[求助]遇到一个ssget的问题,求助

[复制链接]
发表于 2007-9-30 08:55 | 显示全部楼层 |阅读模式

autolisp菜鸟,在看一本autolisp书,课后遇到一个习题,碰到一个问题求助

习题:试写一个程序,由用户选择一个对象,然后找出该对象位于同一个曾上的图形对象的个数

(defun tc()
   (graphscr)
   (setq oce (getvar "cmdecho"))
   (setvar "cmdecho" oce)
  
   (setq
       s (entget (car (entsel "\n请选择一个图形:")))
       s8 (assoc 8 s)
       s0 (ssget "x"  '(s8))
       n (sslength s0)
   )
  
   (setvar "cmdecho")
   (princ "和您选择的在同一个图层上的图形个数为:" n)
)

在调试的时候发现了一个问题。标红色的部分代码出现了问题,我用s8取出了选择图像的图层

但是在用ssget函数过滤的时候出现问题,因为过滤条件前要加qoute,如果我的过滤条件用一个

参数代替,那么加上qoute运算后ssget就会出现错误提示:错误的点参数。有什么好的方法可以解决这个问题?

发表于 2007-9-30 09:07 | 显示全部楼层
(setq s0 (ssget "x"  (list s8)))
发表于 2007-9-30 15:27 | 显示全部楼层

程序修改

(defun tc()
   (graphscr)
   (setq oce (getvar "cmdecho"))
   (setvar "cmdecho" oce)
   (setq s (entget (car (entsel "\n请选择一个图形:")))
  s8 (assoc 8 s)
  s0 (ssget "x" (list s8))
   n (sslength s0)
   )
   (setvar "cmdecho" oce)
   (princ (strcat "和您选择的在同一个图层上的图形个数为" (itoa n)"个!"))
)

 楼主| 发表于 2007-10-2 10:52 | 显示全部楼层

谢谢2楼和3楼的大侠!

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

本版积分规则

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

GMT+8, 2024-5-3 11:21 , Processed in 0.320835 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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