找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 957|回复: 4

[编程申请]:如何用反应器禁止对某些实体进行编辑?

[复制链接]
发表于 2006-7-17 22:23:56 | 显示全部楼层 |阅读模式

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

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

×
如何用反应器禁止对某些实体进行编辑?
包括move,copy,del,等。
想做个签名懒得签字,但又不想给别人乱用签名。
想法是和工程名称时间等关联在一起,禁止他人在未授权的情况下随意编辑。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-7-21 09:54:47 | 显示全部楼层
做了一个以下的模拟程序,但不理想,因为当第一次对该实体进行修改时,并不能被禁止,而修改完后,对象所在的图层才被锁定,但为时已晚,图层的锁定动作并不及时.而且即使锁定及时,还要加一个反应器,以便将该对象所在图层恢复带原始状态.经过试验,发现图层干脆就锁不上了.如果能把使回调函数实现取消comand命令的功能就好了j就好象按了取消键),但又不能用(command).再则,如果用命令反应器来判断用户执行的命令,然后再判断选中的对象中有无特定对象,再将特定图层锁上(估计还是不能及时响应),再说为一个小小签名,而要监视所有命令的执行,太浪费了
  还找不到好的办法.
(defun c:fff()
  (command "text" "100,50" 10 0 "姓名")
  (setq env (vlax-ename->vla-object (entlast)))
  (VLR-Object-Reactor (list env) (vla-get-layer env) '((:VLR-openedForModify . hd1)))                                               
)
(defun hd1(a b c / enla enlav)
  (setq enla (tblobjname "layer" (vlr-data b)))
  (setq enlav (vlax-ename->vla-object enla))
  (vla-put-lock enlav :vlax-true)
  (alert "不能修改")
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-22 23:56:14 | 显示全部楼层
还有个很大的问题,先打开所在图层,再利用(entmod)就可以成功修改。
利用cad的替换工具也能成功修改。

可否设想:
用户修改后就自动复原。
可以考虑签名和工程名称、日期等联系在一起,所以,仅仅需要考虑不可修改内容就可以,也就是说仅仅监视该组对象的文本内容、点、大小、角度、颜色。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2006-7-25 08:21:44 | 显示全部楼层
楼上说得对,即使反应器没问题,当图形离开了本机,就找不到反应器程序了,所以它至多只限在本机有效.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 15:35 , Processed in 0.178721 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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