找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 931|回复: 21

[已解决] 【已解决】怎么实时获得选择图元的属性

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

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

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

×
本帖最后由 8142556 于 2018-2-20 18:12 编辑

我想在鼠标每点击一个图元的时候,获得该图元的图层颜色线型....之类的属性字符串,需要运用哪些函数来实现

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

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-2-19 22:07:18 | 显示全部楼层

回帖奖励 +10 D豆

1、鼠标点击,那就用 entsel函数获得实体,然后用vla函数或者entget得到你需要的属性
2、已经选中的,是指夹点已经显示出来的? 选择实体就是entsel和ssget,夹点显示出来的,直接选中,你设置下系统变量先选择后执行就行了,然后用 entsel获取。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-19 22:16:53 | 显示全部楼层

我想每选择一个图元就得到他的属性,类似特性对话框这样子,需要用到反应器来实现吗
微信图片_20180219221416.png

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-2-19 22:25:24 | 显示全部楼层

你要是交互,点一个就获取一个,不用反应器,直接选实体,然后你处理就行了
你在下面 (....)改为自己想获得的属性就行了。


  1. (defun c:tt ()
  2.   (if (setq e (car (entsel "\n选择实体<退出>:")))
  3.     (progn (setq o   (vlax-ename->vla-object e)
  4.                  typ (vla-get-ObjectName o)
  5.            )
  6.       (cond
  7.         ((= typ "AcDbPolyline")
  8.          (........)
  9.         )
  10.         ((= typ "AcDbLine")
  11.          (........)
  12.         )
  13.         ((= typ "AcDArc")
  14.          (........)
  15.         )
  16.         ((= typ "AcDbCircle")
  17.          (........)
  18.         )
  19.      )
  20.        
  21.     )
  22.   )
  23.   (princ)
  24. )



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

使用道具 举报

 楼主| 发表于 2018-2-19 22:38:32 | 显示全部楼层

嗯,这个片段不错,学习了

我是想实现  不是执行一次命令才去获得图元的属性,
而是在文档里每次只要选择图元的时候就获得它的属性

要怎么才能实现这种交互

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-2-19 22:45:07 | 显示全部楼层
本帖最后由 marting 于 2018-2-19 22:46 编辑

1、你是想怎么选择呢? 鼠标移动上去就显示,还是要左键点击实体?2、你需要用一个命令去执行,还是只要鼠标点击实体就显示? 显示到哪?
3、你想每次选择的时候,都显示实体的属性,想做其他的事情的时候怎么办?

去每日插件论坛看看相关的插件。
你也许想要的是这个


                               
登录/注册后可看大图



鼠标指示窗口动态显示实体信息插件(支持扩展实体、扩展词典显示)
126 个回复 - 5708 次查看
XDRX API 点监视器函数的应用 **** 本内容被作者隐藏 ****
2013-10-28 23:18 - XDSoft - 每日插件


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

使用道具 举报

 楼主| 发表于 2018-2-19 22:55:29 | 显示全部楼层
我想点击或者框选选中的时候,获得这些对象的四个通用属性  图层、线型、线宽、颜色,然后设置显示到OPENDCL的窗体控件上去。
这样我就可以用OPENDCL的框体来更改和显示这些属性,就不要CAD自带的工具条了,占地方

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2018-2-19 23:01:44 | 显示全部楼层

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-2-19 23:05:49 | 显示全部楼层

那就用反应器,监视pickfirst系统变量,亮显实体后,捕获实体,然后你取出想要的属性写到ODCL里面。
装一个二次开发必备的工具,ARXDBG,论坛置顶有下载。你可以知道系统是怎么变化的

看下面图片,你亮显实体后,系统变量 pickfirst 会变化,你就写反应器,监视这个系统变量

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-2-19 23:11:00 | 显示全部楼层

CAD除了特性对话框,还有快捷特性对话框啊,就是修改你要的四个基本属性的,直接调用它不就行了,不用写ODCL

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

使用道具 举报

 楼主| 发表于 2018-2-19 23:14:18 | 显示全部楼层

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-2-19 23:19:51 | 显示全部楼层

看看这个,就是点选实体后,调出ODCL对话框,根据属性快速选择实体的


                               
登录/注册后可看大图


http://bbs.xdcad.net/thread-668256-1-1.html


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

使用道具 举报

 楼主| 发表于 2018-2-20 09:37:30 | 显示全部楼层

大神 监视Pickfirs 我这个反应器的data该写什么,这个每选择一个物体就print十几次,哪里不对

(defun WF_K(reactor-object parameter-list)
(print "监视")
)
(vlr-editor-reactor "Pickfirst Modified" '((:vlr-sysVarChanged . WF_K)))

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

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

发表于 2018-2-20 12:07:56 | 显示全部楼层

回帖奖励 +10 D豆

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 23:54 , Processed in 0.193311 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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