打造一个适合自己的运行环境(系统变量设置)

云墨 2022年7月26日08:29:49工具插件评论377699字阅读25分39秒阅读模式

如题。。
加载下面的代码后,可用命令“4”循环切换两种环境,
可自行修改为习惯的方式,后面都有注释(注释中有些没有变量值标示,自行百度)。
几年工作中慢慢完善的,希望能帮到大家。

(setq os_HC (getvar "osnapoverride"));;;用于另类判断是否是其它CAD,如:浩辰  (工具箱的部分功能在浩辰CAD中可能无法回车结束,影响不大)(部分三维改造命令无法使用)
(defun c:HT_901 ();;;;;;;*************打造一个适合自己的运行环境(即设置自己需要的系统变量,输入E3可循环切换,所以可以把两个模式设为自己需要的状态)
(if os_HC ;;判断CAD软件
  (if(>= (atof (getvar "ACADVER")) 18.2 );;再过几年把版本识别和最后一段if删掉吧
    (if (= (getvar "menubar") 0);;本来想用DYN的,想想还是算了
        (progn (c:qht_B)(princ "已显示菜单栏,切换为:不常用状态。重复此命令可互换状态"))
        (progn (c:qht_A)(princ "已关闭菜单栏,切换为:常用状态。重复此命令可互换状态"))
    )
    (if (= E3_tt nil)
        (progn (c:qht_B) (setq E3_tt 1)(princ "已显示菜单栏,切换为:不常用状态。重复此命令可互换状态"))
        (progn (c:qht_A) (setq E3_tt nil)(princ "已关闭菜单栏,切换为:常用状态。重复此命令可互换状态"))
    )
  )
 (progn (c:qht_A)(princ "已恢复变量常用数值"));;此条仅针对浩辰CAD,即不切换状态,仅恢复习惯
) 
(princ)
)
;;后面有★★★★★★★★★★★的是由于大家的作图习惯不同,可自行修改的部分(可在CAD中输入引号中的命令,查看自己的变量并改写本文件)
(defun c:qht_A ()
  (setvar "osmode" 2231);;;;对象捕捉方式1(如果要“最近点”,可把数字改为2695或自己的变量值)★★★★★★★★★★★
  ;                   建议:平常不要用最近点,要用时输nea、或CTRL+右键、或用组合按键
  ;                   建议CUI中设组合按键,如:最近点、两点的中点、垂足、起点
  (setvar "3dosmode" 134)
  (setvar "edgemode" 0);;;;修剪和延伸时,其边不假想延伸★★★★★★★★★★★★★★★
  (setvar "shortcutmenu" 0);;;;自定义右键单击(都为重复或确认)★★★★★★★★★★★
  ;(setvar "lwdisplay" 0);;;;是否显示线宽:否★★★★★★★★★★★
  (setvar 'DYNmode -2);;;;动态输入:关(指针输入)★★★★★★★★★★★
  (setvar 'DYNprompt 0);;;不显示动态输入中的提示★★★★★★★★★★★
  (setvar 'DYNdivis 2);;;仅显示一个动态输入框★★★★★★★★★★★ 
  (setvar 'DYNdigrip 2);;;仅显示一个动态输入框★★★★★★★★★★★  
  (setvar "pickbox" 7);;;;拾取框大小:7★★★★★★★★★★★
  (setvar "snapmode" 0);;;;捕捉间距:否★★★★★★★★★★★
  (setvar "autosnap" 55);;;;自动捕捉及极轴设置★★★★★★★★★★★
  (setvar "<img src="static/image/smiley/default/titter.gif" smilieid="9" border="0" alt="" />OLARMODE" 0);;;;极轴追踪:仅正交方向★★★★★★★★★★★
  (setvar "dimassoc" 1);;;;新标注关联:否(1:不关联,2:关联,在布局标注时须关联)★★★★★★★★★★★
  (setvar "dblclkedit" 1);;;双击可编辑
  (if os_HC (setvar "osnapoverride" 0));;;;组合按键控制(用于组合按键用过后框选不了的情况)
  (setvar "pickfirst" 1);;;;选择集模式(先选择后执行)
  (if os_HC (setvar "pickdrag" 2)(setvar "pickdrag" 0));;;;窗口选择方式
  (setvar "qaflags" 0);;;;选择执行方式
  (setvar "DYNPIFORMAT" 0);;;动态输入格式:极轴格式
  (setvar "DYNPICOORDS" 0);;;动态输入格式:相对坐标
  (setvar "DYNPIVIS" 1);;;动态输入可见性:需要一个点时
  (setvar "selectionpreview" 2);;;;选择集预览模式(激活状态时预览)
  (setvar "previewfilter" 31);;;;选择集预览模式
  ;(setvar "xclipframe" 0);;;;块剪裁边界不显示(若原图参数不为0,执行时会重生成)
  ;;;(setvar "frameselection" 0);;;;块剪裁边界不会被选中(即无夹点显示)
  (setvar "<img src="static/image/smiley/default/titter.gif" smilieid="9" border="0" alt="" />ROJMODE" 2);;;;设置当前投影模式以进行修剪或延伸(投影:视图)
  (setvar "vtenable" 2);;;;动态视图动画关闭
  (setvar "plinewid" 0);;;;多段线宽度
  (setvar "blipmode" 0);;;;控制点回显
  (setvar "AUPREC"   4);;;;角度精度:小数点后4位
  (setvar "LUNITS"   2);;;; 线性长度类型:小数
  (setvar "LUPREC"   4);;;;线性长度精度:小数点后4位
  (setvar "insunits" 0);;;;插入时缩放单位:无单位
  (setvar "CMDDIA"   1);;;;显示外部命令及plot对话框:是
  (setvar "aunits" 0);;;;角度单位:十进制度数
  (setvar "filedia" 1);;;;显示文件定位对话框
  (setvar "mirrtext" 0);;;;镜像文字:否
  (setvar "SORTENTS" 127);;;;图元排序顺序
  (setvar "CHAMFERA" 0);;;;倒角的长度A
  (setvar "CHAMFERB" 0);;;; 倒角的长度B
  (setvar "Elevation" 0);;;; 当前标高设为0
  (setvar "osnapz" 0);;;;使用当前标高替换z值(0:不替换,1:替换);;因替换后在三维操作时不好捕捉,故取消此项,改为0。(后记:平常还是替换吧,画三维时再不替换)
  (setvar "coords" 2);;;;图形坐标显示(极值)
  (setvar "GRIDMODE" 0);;;; 显示点栅格:否
  (setvar "Fillmode" 1);;;; 指定是否填充图案填充、二维实体以及宽多段线:填充对象
  (setvar "LISPINIT" 1);;;;AutoLISP 函数和变量只在当前绘图任务中有效
  ;(setvar "<img src="static/image/smiley/default/titter.gif" smilieid="9" border="0" alt="" />SLTSCALE" 0);;;;1:视口比例决定线型比例
  (setvar "<img src="static/image/smiley/default/titter.gif" smilieid="9" border="0" alt="" />LINEGEN" 0);;;;线型生成 禁用(默认)
  ;;(setvar "DIMZIN"   8);;;; 控制是否对主单位值作消零处理, ;8:消除后续零;;;标注样式里自己调吧,不然出现样式替代也是挺烦的,故取消此项
  (setvar "cursorsize" 100);;;;十字光标大小:100
  (setvar "zoomfactor" 80);;;;鼠标滑轮缩放比例(默认为60) 
  ;;;(setvar "layernotify" 0);;;;如果找到未协调的新图层,不显示警告;;打印时好像出现过问题,故取消此项
  ;;(setvar "re-init" 16);;;;重新加载pgp;;;现在不用修改PGP了,故取消此项
  (setvar "tooltips" 1);;;;显示工具提示:否
  (setvar "HPASSOC" 1);;;填充图案是否关联:是
  (setvar "proxyshow" 1);;;显示代理图形**
  (setvar "proxynotice" 0);;;代理图形对话框(不显示)**
  ;(setenv "DefaultFormatForSave" "24");;;设置CAD默认保存文件格式(24-2004,36-2007,48-2010,60-2013)(后记:按自己习惯手动设置吧,故取消此项)
  (setvar "ISAVEBAK" 0);;;控制备份文件 (BAK) 的创建。1-创建, 0-不创建
  ;;; (vla-put-displayscrollbars (vla-get-display(vla-get-preferences (vlax-get-acad-object))) 0);;;不显示窗口滚动条;;手改一次即可,故取消此项
  ;;(setvar "Draworderctl" 0);;;控制重叠对象的显示次序(0:关闭)
  (setvar 'cecolor "BYLAYER");;设置颜色随层
  (setvar 'celtype "ByLayer");;设置线型随层
  (setvar 'REGENMODE 1)
  (setvar 'celweight -1) ;;将线宽设定为“BYLAYER”
  (setvar "<img src="static/image/smiley/default/titter.gif" smilieid="9" border="0" alt="" />ICKADD" 2) ;;控制后续选择项是替换当前选择集还是添加到其中
  (if os_HC 
  (progn    
    (setq prefDisplay (vla-get-Display (vla-get-Preferences (vlax-get-acad-object))))
    (vla-put-GraphicsWinModelBackgrndColor prefDisplay (vlax-make-variant 0 vlax-vbLong));设定模型背景色:黑色
    (vla-put-GraphicsWinLayoutBackgrndColor prefDisplay (vlax-make-variant 0 vlax-vbLong));设定布局背景色:黑色
  (vl-catch-all-apply
       '(lambda ( / x )
               (setq x (vlax-get-property (vlax-get-property (vlax-get-acad-object) 'Preferences) 'Display))
               (vlax-put-property x 'DisplayScrollBars :vlax-false)                        ;关闭滚动条
               (vlax-put-property x 'LayoutDisplayMargins :vlax-false)                ;在布局不显示可打印区域
               (vlax-put-property x 'LayoutDisplayPaper :vlax-false)                        ;在布局不显示图纸背景
               (vlax-put-property x 'LayoutDisplayPaperShadow :vlax-false)                ;在布局不显示图纸阴影
        )
  )
  )
)
  
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (cond ( (>=(atof (getvar "ACADVER")) 18.2 );;判断CAD版本是否大于2012  
      
          (setvar "SELECTIONCYCLING" -2);;;选择循环:关闭★★★★★★★★★★★  
          (setvar "<img src="static/image/smiley/default/titter.gif" smilieid="9" border="0" alt="" />ICKAUTO" 1);;窗口选择方式(2:若在对象上按住左键,将启用窗口选择模式。默认为1:不可按住)★★★★★★★★★★★
          (if os_HC(command "taskbar" 0));;;任务栏仅显示一个窗口★★★★★★★★★★★
          (if os_HC(setvar "menubar" 0));;;;关闭菜单栏(CAD2010及更高版本,关闭的理由阅读下两行)★★★★★★★★★★★
      
;;关闭菜单栏后,顶部左侧保留<新建、打开、打印>(顺序不要变),这样ALT+1、2、3就可以便捷操作了,在ALT+2打开选择文件窗口后,ALT+2是上一级,ALT+1是后退
;;要是要用菜单栏里的功能,输入E3切换显示菜单栏就行了,毕竟用菜单栏里的时候少,所以还是关闭吧,便于操作
      (setvar "gripmultifunctional" 1);;;;动态夹点菜单关闭(CAD2010及更高版本);;这个必须关闭,不然选中图元时烦死你
      (setvar "qpmode" -1);;;;显示快捷特性面板;;-1不显示,2有限制的显示
      (setvar "rollovertips" 0);;;;显示鼠标悬停提示:否(CAD2009及更高版本)
      (setvar "hpmaxlines" 100000);;;;图案填充线的最大数目(CAD2006无效)
      (setvar "ucsdetect" 0);;;;动态UCS关闭(CAD2010及更高版本)
      (setvar "hpquickpreview" 0);;;;控制在指定填充区域时是否显示填充图案的预览,设为0会加快填充速度(CAD2010及更高版本)
      (setvar "cullingobj" 1);;;;控制在三维操作时是否能显示在当前视图中背后的对象(0-显示,1-不显示)(CAD2011及更高版本)
      (setvar "CULLINGOBJSELECTION" 0);;;;控制是否可以亮显或选择从视图中隐藏的三维对象:可以
      (setvar "statusbar" 0);;;;状态栏控制:隐藏(CAD2010及更高版本)★★★★★★★★★★★
      (setvar "navbardisplay" 0);;;关闭三维小控制栏
      (setvar "WHIPTHREAD" 1);控制是否使用额外的处理器来提高操作速度
      
    )
  )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (cond ( (>=(atof (getvar "ACADVER")) 19.1 );;判断CAD版本是否大于2014
        (if os_HC (setvar "INPUTSEARCHOPTIONFLAGS" 20));;;关闭命令行的输入搜索选项;;31为打开★★★★★★★★★★★
    )
  )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (cond ( (>=(atof (getvar "ACADVER")) 20.1 );;判断CAD版本是否大于2016
    (if os_HC (setvar "startmode" 0));;;;取消开始界面(忘记2015是否有开始界面了,有的话把20.1改为20)
    )
  )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (cond ( (>=(atof (getvar "ACADVER")) 22.0 );;判断CAD版本是否大于2018
    (setvar "SELECTIONOFFSCREEN" 1);;;;屏幕外的对象可以参与选择
    )
  )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (cond ( (>=(atof (getvar "ACADVER")) 23 );;判断CAD版本是否大于2020
      (if os_HC (setvar "BLOCKMRULIST" 5));;;;控制在“块”选项板的“最近使用”选项卡中显示的最近使用块的数量
      (if os_HC (setvar "FILETABTHUMBHOVER" 0));;;;将光标悬停在文件选项卡缩略图上时,是否在图形窗口中加载相应的模型或布局。
    )
  )
  (princ)
)
(defun c:qht_B ()
  (setvar "osmode" 129);;;;对象捕捉方式2(只有端点和垂足)
  (setvar "autosnap" 63);;;;极轴
  (setvar "shortcutmenu" 2);;;;自定义右键单击(2:选定对象时,单击右键为菜单)
  ;;(setvar "frameselection" 1);;;;块剪裁边界有夹点显示;;几乎用不到,故取消此项
  ;;(setvar 'DYNmode 3);;;;动态输入:开(有指针输入)
  ;;(setvar 'DYNprompt 1);;;;显示动态输入中的提示
  (setvar "<img src="static/image/smiley/default/titter.gif" smilieid="9" border="0" alt="" />LINEGEN" 1);;;;线型生成 启用(默认为禁用)
  (setvar "edgemode" 1);;;;修剪和延伸时,其边假想延伸
  ;;(setvar "tooltips" 1);;;;显示工具提示:是
  ;;(setenv "DefaultFormatForSave" "60");;;设置CAD默认保存文件格式(24-2004,36-2007,48-2010,60-2013);;用得少,故取消此项
  
  (cond ( (>=(atof (getvar "ACADVER")) 18.2 );;判断CAD版本是否大于2012
      ;;(setvar "rollovertips" 1);;;;显示鼠标悬停提示:是(CAD2009及更高版本)
      (setvar "menubar" 1);;;;显示菜单栏(CAD2010及更高版本)
      (setvar "gripmultifunctional" 3);;;;动态夹点菜单显示(CAD2010及更高版本)
      ;;(setvar "SELECTIONCYCLING" 2);;;选择循环:打开
      (setvar "cullingobj" 0);;;;控制在三维操作时是否能显示在当前视图中背后的对象(0-显示,1-不显示)(CAD2011及更高版本)
      (setvar "CULLINGOBJSELECTION" 1);;;;控制是否可以亮显或选择从视图中隐藏的三维对象:否
      (setvar "statusbar" 1);;;;状态栏控制:显示(CAD2010及更高版本)
    )
  )
    ;(cond ( (>=(atof (getvar "ACADVER")) 19.1 );;判断CAD版本是否大于2014
    ;    (setvar "INPUTSEARCHOPTIONFLAGS" 31);;;打开命令行的输入搜索选项;;20为关闭
    ;    )
    ;)
  
  (princ)
)

1. 如有链接无法下载、失效或广告,请联系QQ:3392178029 处理!
2. 本站的所有资源为购买、网络收集,或者用户投稿的资源,版权归原作者及网站所有!
3. 如若侵犯了您的权利,请及时联系站长删除!
4. 本站提供的资源,都不包含技术服务请大家谅解!
5. 此软件“仅限学习交流,不能用于商业用途”!
6. 如用于商业用途,请到官方购买正版软件,追究法律责任与“猿沐软件网”无关!
  • 老师个人微信
  • 微信扫一扫
  • weinxin
  • 设计课堂公众号
  • 微信扫一扫
  • weinxin
云墨
  • 本文由 发表于 2022年7月26日08:29:49
  • 转载请务必保留本文链接:https://www.yuanmoo.net/7695.html【猿沐软件网】
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: