zhb236623 发表于 2013-8-19 18:20:42

关于SSGET 选不中地物的问题

本帖最后由 zhb236623 于 2013-8-20 11:54 编辑

为什么选不中地物呢。附上测试文件了。
(setq ss (ssget "x" (list (list -3 ( list "south" (cons 1000 ddf))))))

实在不行,没人能够解决我就能这样子了。
(setq ss (ssget'((0 . "TEXT")(8 . "JZD")(1 . "000????"))))

因为在JZD层下面的有七位整数的,开头是000的只有编码为302002"的了(defun c:tt()
(vl-load-com)

(setq ddf "302002")
(setq ss (ssget "x" (list (list -3 ( list "south" (cons 1000 ddf))))))


(command "erase" ss "")
)

自贡黄明儒 发表于 2013-8-19 18:44:59

(ssget "X" (LiSt(List—3"south")(cons1ooodd十))))试一下这样写

zhb236623 发表于 2013-8-20 10:25:20

自贡黄明儒 发表于 2013-8-19 18:44 static/image/common/back.gif
(ssget "X" (LiSt(List—3"south")(cons1ooodd十))))试一下这样写

关键是我用这句格式可以选中其他地物,比如围墙,但是就是选不中这个,还有好些也选不中的,比如地物代码中间有带横杠的,144301-1这个选不中,不知道CASS里面是做了什么处理了。

namezg 发表于 2013-8-20 23:31:01

;ssget只能过滤appid,扩展数据里面的数据是不能过滤选择的,只能把先通过(setq ss (ssget "x" '((0 . "TEXT") (-3 ("SOUTH")))))选择后再经过分析过滤,故下面的代码是错误的。
(setq ss (ssget "x" '((0 . "TEXT") (-3 ("SOUTH" (1000 . "302002"))))))

zhb236623 发表于 2013-8-23 11:27:23

本帖最后由 zhb236623 于 2013-8-23 11:29 编辑

namezg 发表于 2013-8-20 23:31 http://bbs.mjtd.com/static/image/common/back.gif
;ssget只能过滤appid,扩展数据里面的数据是不能过滤选择的,只能把先通过(setq ss (ssget "x" '((0 . "TEX ...appid,是什么东西呢?

那为啥我这个程序又可以呢。批量修改围墙的宽度

如果要手动框选的话
(setq bd (ssget "x" (list (list -3 ( list "south" (cons 1000 df))))))
这句要怎么写呢? "x" 要用哪个替换?(defun c:wqk()
(setq df "144301")
(setq bd (ssget "x" (list (list -3 ( list "south" (cons 1000 df))))))
(command "WALLWIDTH" bd "")
)

namezg 发表于 2013-8-23 18:24:40

你说好使,传个图 ,如果手动框选,去掉 "x"
即可

zhb236623 发表于 2013-8-26 16:53:33

本帖最后由 zhb236623 于 2013-8-26 16:55 编辑

namezg 发表于 2013-8-23 18:24 http://bbs.mjtd.com/static/image/common/back.gif
你说好使,传个图 ,如果手动框选,去掉 "x"
即可

这个可以选中啊。这个144301-1也可以选中,但是要选带144301-3 就选不中了

wwwliuyu 发表于 2013-8-26 17:36:47

本帖最后由 wwwliuyu 于 2013-8-27 17:28 编辑

我也曾遇到过LZ的问题,建议LZ学习ARX,ARX有提贡选择过虑的反应器,那样你想怎么过虑就可以怎么过虑。
页: [1]
查看完整版本: 关于SSGET 选不中地物的问题