关于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 "")
) (ssget "X" (LiSt(List—3"south")(cons1ooodd十))))试一下这样写 自贡黄明儒 发表于 2013-8-19 18:44 static/image/common/back.gif
(ssget "X" (LiSt(List—3"south")(cons1ooodd十))))试一下这样写
关键是我用这句格式可以选中其他地物,比如围墙,但是就是选不中这个,还有好些也选不中的,比如地物代码中间有带横杠的,144301-1这个选不中,不知道CASS里面是做了什么处理了。 ;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: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 "")
) 你说好使,传个图 ,如果手动框选,去掉 "x"
即可 本帖最后由 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-27 17:28 编辑
我也曾遇到过LZ的问题,建议LZ学习ARX,ARX有提贡选择过虑的反应器,那样你想怎么过虑就可以怎么过虑。
页:
[1]