明经CAD社区

 找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 122|回复: 5

[提问] 求一个锁定系统变量“HIGHLIGHT”的数值为“1”的代码。

[复制链接]
发表于 2018-10-10 20:38 | 显示全部楼层 |阅读模式
求一个锁定系统变量“HIGHLIGHT”的数值为“1”的代码。
发表于 2018-10-10 20:42 | 显示全部楼层
     (setvar "HIGHLIGHT" 1)
发表于 2018-10-11 09:11 | 显示全部楼层
只要你能改,就无法锁定,不能禁止别人改。在每次你需要这个变量之前,强行设置一下。
 楼主| 发表于 2018-10-11 15:59 | 显示全部楼层
mikewolf2k 发表于 2018-10-11 09:11
只要你能改,就无法锁定,不能禁止别人改。在每次你需要这个变量之前,强行设置一下。

我用飞诗的平法移动的时候,飞诗就会给我改了,每用一次改一次,很麻烦的,我就想写个锁定变量的LSP文件来是它自己变成1
发表于 2018-10-11 16:25 | 显示全部楼层
既然人家改了,就说明人家需要改,不改就不能运行。lsp执行完了就结束了,不会贮存内存持续改。要么你可以跟开发者提建议,程序执行完后恢复原值。要么自己在自己的程序前面修改为自己需要的值,满足自己程序的需要(跟所谓的飞诗做法一样)。
发表于 2018-10-12 12:47 | 显示全部楼层
(or *sysvarchanged* (setq *sysvarchanged* (vlr-sysvar-reactor nil '((:vlr-sysvarchanged . sysvarchanged_do)))))
(defun sysvarchanged_do (a b)
  (if (and (= "HIGHLIGHT" (car b)) (/= (getvar (car b)) 1))
    (setvar 'highlight 1)
  )
  (princ)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2018-10-16 19:16 , Processed in 0.216148 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2013 Comsenz Inc.

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