找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6855|回复: 51

[求助] 求 框选并自动过滤掉已被锁定对象 lsp

[复制链接]

已领礼包: 1077个

财富等级: 财源广进

发表于 2013-8-18 17:44:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 hardthinking 于 2013-8-18 17:48 编辑

      找了一圈,只找到了调节锁定图层淡显的变量“LAYLOCKFADECTL”,请问有无控制锁定图层对象无法被选中的变量?要是没有,请大侠们帮我做一个框选并自动过滤掉 已被锁定对象 的lsp吧!{:soso_e100:}感谢...
     就是框选 只能选中 未锁定图层 对象,,

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-8-18 17:54:12 | 显示全部楼层
实体没锁定吧,只有图层才有锁定,楼主,过滤掉锁定的层就行了。

点评

是啊,,这个怎么写啊,怎么过滤掉锁定的图层啊,不会...  详情 回复 发表于 2013-8-18 17:58
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-8-18 17:56:17 | 显示全部楼层
论坛上有过代码和讨论,给你个CAD附带的
  1. (setq ss (ai_ssget (ssget)))

点评

;;; -------------------------(D)框选非锁定对象----------------------------------------------- (defun c () (sssetfirst nil (ssget '((ai_ssget (ssget))))) (princ) ) 我找了相关的,看不大懂。您  详情 回复 发表于 2013-8-18 18:03
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1077个

财富等级: 财源广进

 楼主| 发表于 2013-8-18 17:58:25 | 显示全部楼层
Lisphk 发表于 2013-8-18 17:54
实体没锁定吧,只有图层才有锁定,楼主,过滤掉锁定的层就行了。

是啊,,这个怎么写啊,怎么过滤掉锁定的图层啊,不会...

点评

锁定前,锁定后的图层0的 ENTGT数据定义,你看下,哪个地方不一样了?  详情 回复 发表于 2013-8-18 18:04
图层锁定后,标志存在哪个组码上了,值是多少你知道吗,看看DXF的帮助手册。  详情 回复 发表于 2013-8-18 18:01
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-8-18 18:01:41 | 显示全部楼层
hardthinking 发表于 2013-8-18 17:58
是啊,,这个怎么写啊,怎么过滤掉锁定的图层啊,不会...

图层锁定后,标志存在哪个组码上了,值是多少你知道吗,看看DXF的帮助手册。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1077个

财富等级: 财源广进

 楼主| 发表于 2013-8-18 18:03:47 | 显示全部楼层
本帖最后由 hardthinking 于 2013-8-18 19:32 编辑
eachy 发表于 2013-8-18 17:56
论坛上有过代码和讨论,给你个CAD附带的

;;; -------------------------(D)框选非锁定对象-----------------------------------------------
(defun c:D ()
(sssetfirst nil (ssget '((ai_ssget (ssget)))))  
  (princ)
)
我找了相关的,看不大懂。您看我上面写的这个哪里有问题?CAD提示“列表错误”。我想实现,按D,然后框选,只能框到非锁定图层上的东西。

点评

不要加 '  详情 回复 发表于 2013-8-18 18:09
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-8-18 18:04:30 | 显示全部楼层
hardthinking 发表于 2013-8-18 17:58
是啊,,这个怎么写啊,怎么过滤掉锁定的图层啊,不会...

锁定前,锁定后的图层0的 ENTGT数据定义,你看下,哪个地方不一样了?

  1. 命令: (setq a (xdrx_object_get "layer" "0"))
  2. <图元名: 7ef01c80>

  3. 命令: (entget a)
  4. ((-1 . <图元名: 7ef01c80>) (0 . "LAYER") (5 . "10") (102 . "{ACAD_XDICTIONARY") (360 . <图元名: 7ef03120>) (102 . "}") (330 . <图元名: 7ef01c10>) (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "0") (70 . 0) (62 . 7) (6 . "Continuous") (290 . 1) (370 . -3) (390 . <图元名: 7ef01c78>) (347 . <图元名: 7ef01f70>) (348 . <图元名: 0>))

  5. 命令: (entget a)
  6. ((-1 . <图元名: 7ef01c80>) (0 . "LAYER") (5 . "10") (102 . "{ACAD_XDICTIONARY") (360 . <图元名: 7ef03120>) (102 . "}") (330 . <图元名: 7ef01c10>) (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "0") (70 . 4) (62 . 7) (6 . "Continuous") (290 . 1) (370 . -3) (390 . <图元名: 7ef01c78>) (347 . <图元名: 7ef01f70>) (348 . <图元名: 0>))

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-8-18 18:09:07 | 显示全部楼层
hardthinking 发表于 2013-8-18 18:03
;;; -------------------------(D)框选非锁定对象-----------------------------------------------
(de ...

不要加 '
  1. (defun c:tt () (sssetfirst nil (ai_ssget (ssget))) (princ))

点评

eachy大侠,这正是我想要的,感谢...  详情 回复 发表于 2013-8-18 18:29
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-8-18 18:10:48 | 显示全部楼层
本帖最后由 newer 于 2013-8-18 18:12 编辑

图层锁定时候的数据:

  1. 命令: (entget a)
  2. ((-1 . <图元名: 7ef03698>) (0 . "LAYER") (330 . <图元名: 7ef01c10>) (5 . "24B") (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "1") (70 . 4) (62 . 7) (6 . "Continuous") (290 . 1) (370 . -3) (390 . <图元名: 7ef01c78>) (347 . <图元名: 7ef01f70>) (348 . <图元名: 0>))
复制代码
图层冻结,没锁定时候的数据

  1. 命令: (entget a)
  2. ((-1 . <图元名: 7ef03698>) (0 . "LAYER") (330 . <图元名: 7ef01c10>) (5 . "24B") (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "1") (70 . 1) (62 . 7) (6 . "Continuous") (290 . 1) (370 . -3) (390 . <图元名: 7ef01c78>) (347 . <图元名: 7ef01f70>) (348 . <图元名: 0>))
复制代码
图层即冻结又锁定时候的数据

  1. 命令: (entget a)
  2. ((-1 . <图元名: 7ef03698>) (0 . "LAYER") (330 . <图元名: 7ef01c10>) (5 . "24B") (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "1") (70 . 5) (62 . 7) (6 . "Continuous") (290 . 1) (370 . -3) (390 . <图元名: 7ef01c78>) (347 . <图元名: 7ef01f70>) (348 . <图元名: 0>))
复制代码

点评

newer大侠,我看出来了,70是对应图层状态的,我试了下,(ssget '((8 . "0")))这个没问题,可以返回选择值,换成(ssget '((70 . "4")))CAD就提示“错误: ssget 列表值错误”..怎么回事啊?  详情 回复 发表于 2013-8-18 18:32
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-8-18 18:12:41 | 显示全部楼层
SSGET 除了 X 选项只能选择可见对象,冻结后的不可见自然也选不到
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1077个

财富等级: 财源广进

 楼主| 发表于 2013-8-18 18:29:17 | 显示全部楼层

eachy大侠,这正是我想要的,感谢...
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-8-18 18:32:38 | 显示全部楼层
滤掉锁定图层:
(ssget ":L")
这是基础的知识!

点评

这个是可以过滤的,只是 Ssget 这几个 : 选项和其它的怎么配合一直没有搞明白 命令: (ssget "" "F" (list (getpoint) (getpoint))) ; 错误: 错误的点参数 命令: (ssget "" "F" (getpoint) (getpoint)) ;  详情 回复 发表于 2013-8-18 18:40
牢固 版主,不好意思总是问这些初级问题,,,  详情 回复 发表于 2013-8-18 18:34
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1077个

财富等级: 财源广进

 楼主| 发表于 2013-8-18 18:32:39 | 显示全部楼层
newer 发表于 2013-8-18 18:10
图层锁定时候的数据:图层冻结,没锁定时候的数据图层即冻结又锁定时候的数据

       newer大侠,我看出来了,70是对应图层状态的,我试了下,(ssget '((8 . "0")))这个没问题,可以返回选择值,换成(ssget '((70 . "4")))CAD就提示“错误: ssget 列表值错误”..怎么回事啊?

点评

ssget 是对实体操作的,它过滤的是实体的组码,它选的是实体内部有的数据。 而保存在实体内部有关层的信息只有 组吗 8, 图层名。  详情 回复 发表于 2013-8-18 20:07
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1077个

财富等级: 财源广进

 楼主| 发表于 2013-8-18 18:34:40 | 显示全部楼层
牢固 发表于 2013-8-18 18:32
滤掉锁定图层:
(ssget "")
这是基础的知识!

牢固 版主,不好意思总是问这些初级问题,,,

点评

可以看看这个帖子学习下! http://bbs.xdcad.net/forum.php?mod=viewthread&tid=659040&extra=page%3D1%26filter%3Ddigest%26digest%3D1%26digest%3D1  详情 回复 发表于 2013-8-18 18:39
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-8-18 18:39:53 | 显示全部楼层
hardthinking 发表于 2013-8-18 18:34
牢固 版主,不好意思总是问这些初级问题,,,

可以看看这个帖子学习下!
http://bbs.xdcad.net/forum.php?m ... st%3D1%26digest%3D1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-25 08:30 , Processed in 0.429516 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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