明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3469|回复: 13

ssget函数选择语句的过滤条件问题

  [复制链接]
发表于 2006-8-22 11:48:00 | 显示全部楼层 |阅读模式

最近我再编一个程序

其中需要选择图形中所有线型为DASHDOT的直线。

其中我选择了两种写法如下:

第一种:

(setq sv (ssget "X" '((0 . "line")(-4 . "=")(6 . "dashdot"))))

第二种

(setq sv (ssget "X" '((-4 . "<AND")(0 . "line")(6 . "dashdot")(-4 . "AND>"))))

但是两种写法在随后的

(setq lens (sslength sv))

中均出现了提示错误: 参数类型错误: lselsetp nil。

请问:

两种写法有错吗?错在哪里?正确的应该是什么?

发表于 2006-8-22 12:28:00 | 显示全部楼层
(setq SV (ssget "X" '((0 . "line") (6 . "dashdot"))))
 楼主| 发表于 2006-8-22 15:14:00 | 显示全部楼层

多谢二楼解答,用这个方法

(setq sv (ssget "X" '((0 . "line") (6 . "dashdot"))))

   (setq lens (sslength sv))

运行到第二行还是有错误呀。

发表于 2006-8-22 15:21:00 | 显示全部楼层

那是图中没有"dashdot"的线,注意:bylayer线型为"dashdot"的不会被选上

 楼主| 发表于 2006-8-22 16:23:00 | 显示全部楼层

实在调试不出来了。超级版主辛苦一下下。看看是怎么回事?

本帖子中包含更多资源

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

x
发表于 2006-8-22 16:37:00 | 显示全部楼层

(setq sv (ssget "X" '((0 . "line") (6 . "DASHDOT"))))

try ===>
(setq sv (ssget "X" '((0 . "*line") (6 . "DASHDOT"))))
or
(setq sv (ssget "X" '((0 . "LwPolyLine") (6 . "DASHDOT"))))

 

 楼主| 发表于 2006-8-22 17:00:00 | 显示全部楼层
本帖最后由 作者 于 2006-8-22 17:42:53 编辑

嗯,试过了,

try ===>
(setq sv (ssget "X" '((0 . "*line") (6 . "DASHDOT"))))
or
(setq sv (ssget "X" '((0 . "LwPolyLine") (6 . "DASHDOT"))))

 两个都可以找到SV。

可能原来定义的条件太苛刻了

多谢6楼

 楼主| 发表于 2006-8-24 10:55:00 | 显示全部楼层

不好意思,新问题出现了,上述程序中

(setq ent
           (
subst
             (cons 6 "center")
             (
assoc 6 ent)
             ent
           )
;subst end
        );setq end 更改对象线型属性
  
        (
setq ent
           (
subst
             (cons 48 "0.4")
             (
assoc 48 ent)
             ent
           )
;subst end
        );setq end 更改对象线型比例属性

上述程序段第一部分是更改线型名称,成功实现,

第二部分是更改线型比例,却没有实现功能。我找了DXF的帮助里面线型比例的组码就是48。不知道是不是我理解的有问题?

发表于 2006-8-24 15:49:00 | 显示全部楼层
ENT中没有的DXF码只能增加,不能替换
发表于 2006-8-24 16:08:00 | 显示全部楼层
(defun c:temp ()
    (setq sv (ssget "X" '((0 . "*line") (6 . "DASHDOT"))))
    (command "chprop" sv "" "lt" "center" "s" "0.4" "")
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-1 06:05 , Processed in 0.172552 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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