明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1468|回复: 8

[基础] 指定图层内的数字按顺序查找怎么写。

[复制链接]
发表于 2014-9-1 10:00 | 显示全部楼层 |阅读模式
某个指定图层,定义为“排序”图层,内写有文字 1、2、3、4等顺序数字。想写一语句,按顺序找出数字1、2、3、4等所在的坐标,该怎么写。(setq ss (ssget "x" '((1 . "1")(8  . "排序"))))
文字内容为1时可以找到,当把1改为变量,提示语法错误。

点评

(if(setq ss(ssget"x"'((1 . "~*[~`--9]*")(8 . "排序"))))(mapcar'cadr(vl-sort(mapcar'(lambda(x)(list(atof(xyp-DXF 1 x))(xyp-DXF 10 x)))(xyp-ss2list ss))'(lambda(x y)(<(car x)(car y))))))   发表于 2014-9-1 11:39
发表于 2014-9-1 11:30 | 显示全部楼层
Try
;; Var ==> 1 2 3 4 #
(setq ss (ssget "x" (List (cons 1  Var) '(8  . "排序"))))
 楼主| 发表于 2014-9-2 09:36 | 显示全部楼层
Andyhon 发表于 2014-9-1 11:30
Try
;; Var ==> 1 2 3 4 #
(setq ss (ssget "x" (List (cons 1  Var) '(8  . "排序"))))

(cons 1  Var) 结果是 (1 . 1) 并不是(1 . "1") 好像不好用的。
发表于 2014-9-2 10:16 | 显示全部楼层
...内写有文字 1、2、3、4...

文字是--> "1" ...
>> Updated 2012 0104 by E_Shine .....
Command: (setq var "2")
"2"
Command: (cons 1 var)
(1 . "2")
 楼主| 发表于 2014-9-2 11:52 | 显示全部楼层
Andyhon 发表于 2014-9-2 10:16
...内写有文字 1、2、3、4...

文字是--> "1" ...

如果把顺序数字设为变量,好像还是不行。引号内不是数字,是变量
(setq n 2)
(setq var "n")
(cons 1 var)
  结果 (1 . "n")
发表于 2014-9-2 12:02 | 显示全部楼层
您把问题整理好,举例详述
又或先把 LISP 的基本语法再研读过,不然真不知从何讲起...
 楼主| 发表于 2014-9-2 16:58 | 显示全部楼层
问题详细描述如附件。

本帖子中包含更多资源

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

x
发表于 2014-9-2 20:40 | 显示全部楼层
(setq ss (ssget "x" (List (cons 1  "#") '(8  . "排序"))))
即得 如样图之 包含了序号 1 - 6 的选集
依院长之点评亦得
 楼主| 发表于 2014-9-3 09:24 | 显示全部楼层
Andyhon 发表于 2014-9-2 20:40
(setq ss (ssget "x" (List (cons 1  "#") '(8  . "排序"))))
即得 如样图之 包含了序号 1 - 6 的选集
依 ...

非常谢谢。我试了一下,上面这个语句可以选择0-9之内的选择集,大于10的无法选到。不过还是要感谢热心帮助。

点评

check WcMatch 函数  发表于 2014-9-3 09:30
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 05:00 , Processed in 0.395588 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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