打造一个适合自己的运行环境(系统变量设置)
本帖最后由 ㄘ丶转裑ㄧ灬 于 2022-7-19 08:26 编辑如题。。
加载下面的代码后,可用命令“4”循环切换两种环境,
可自行修改为习惯的方式,后面都有注释(注释中有些没有变量值标示,自行百度)。
几年工作中慢慢完善的,希望能帮到大家。
2016.06.10:新增自动恢复捕捉
;;;;;;;;;;;***********************自动恢复捕捉(不管程序自身出错或手动取消,均自动恢复为设定的值)
;;;bbs.mjtd.com/thread-107586-1-1.html
(defun resetosmode (v1 v2 /)
(if (/= (getvar "osmode") 4775)
(setvar "osmode" 2183);;;;如果要“最近点”,改为2695;;;建议:平常不要用最近点,要用时输nea或设组合按键
)
(princ)
)
;;;;;构造编辑器反应器对象;;如果没有数据则为 nil
(vlr-editor-reactor
nil
'(
(:vlr-lispEnded . ResetOsmode) ;;;已完成对 AutoLISP 表达式的求值;;;可把此项删除
(:vlr-lispCancelled . ResetOsmode) ;;;已取消对 AutoLISP 表达式的求值
;;;(:vlr-commandEnded . ResetOsmode);;;已完成某 AutoCAD 命令
;;;(:vlr-commandCancelled . ResetOsmode) ;;; 已取消某 AutoCAD 命令
;;;(:vlr-commandFailed . ResetOsmode);;; 无法完成某 AutoCAD 命令
)
)
;;;;;;;***************************打造一个适合自己的运行环境(即设置自己需要的系统变量)
(defun c:4 ()
(if (= 4_tt 0)
(progn
(c:qht_01)
(setq 4_tt 1)
)
(progn
(c:qht_02)
(setq 4_tt 0)
)
)
(princ)
)
(defun c:qht_01 ()
(setvar "osmode" 2183);;;;对象捕捉方式1(如果要“最近点”,把数字改为2695)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;建议:平常不要用最近点,要用时输nea或设组合快捷键
(setvar "selectionpreview" 0);;;;选择集预览模式
(setvar "previewfilter" 31);;;;选择集预览模式
(setvar "autosnap" 63);;;;自动捕捉设置
(setvar "xclipframe" 0);;;;块剪裁边界不显示(若原图参数不为0,执行时会重生成)
;;;(setvar "frameselection" 0);;;;块剪裁边界不会被选中(即无夹点显示)
(setvar "pickfirst" 1);;;;选择集模式(先选择后执行)
(setvar "qaflags" 0);;;;选择执行方式
(setvar "edgemode" 0);;;;修剪和延伸时,其边不假想延伸
(setvar "vtenable" 2);;;;动态视图动画关闭
(setvar "plinewid" 0);;;;多段线宽度
(setvar "blipmode" 0);;;;控制点回显
(setvar "AUPREC" 4);;;;角度精度
(setvar "LUNITS" 2);;;; 线性单位
(setvar "LUPREC" 4);;;;线性精度
(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" 1);;;;使用当前标高替换z值;;因替换后在三维操作时不好捕捉,故取消此项
(setvar "dimassoc" 1);;;;新标注可关联:否
(setvar "osnapoverride" 0);;;;组合按键控制(用于组合按键用过后框选不了的情况)
(setvar "snapmode" 0);;;;捕捉间距:否
(setvar "dynmode" -2);;;;动态输入(无)
(setvar "coords" 2);;;;图形坐标显示(极值)
(setvar "shortcutmenu" 0);;;;自定义右键单击(右键均为确认)
(setvar "pickbox" 6);;;;拾取框大小:6
(setvar "GRIDMODE" 0);;;; 显示点栅格:否
(setvar "LISPINIT" 1);;;;AutoLISP 函数和变量只在当前绘图任务中有效
(setvar "PSLTSCALE" 0);;;;1:视口比例决定线型比例
(setvar "DIMZIN" 8);;;; 控制是否对主单位值作消零处理, 8:消除后续零
(setvar "cursorsize" 100);;;;十字光标大小:100
(setvar "zoomfactor" 85);;;;鼠标滑轮缩放比例(默认为60)
;;;(setvar "layernotify" 0);;;;如果找到未协调的新图层,不显示警告;;打印时好像出现过问题,故取消此项
(setvar "re-init" 16);;;;重新加载pgp
(setvar "qpmode" -1);;;;不显示快捷特性面板
(setvar "tooltips" 0);;;;显示工具提示:否
(setvar "rollovertips" 0);;;;显示鼠标悬停提示:否(适用于CAD2009及更高版本)
(setvar "hpmaxlines" 200000);;;;图案填充线的最大数目(CAD2006无效)
(setvar "ucsdetect" 0);;;;动态UCS关闭(适用于CAD2010及更高版本)
(setvar "hpquickpreview" 0);;;;控制在指定填充区域时是否显示填充图案的预览,设为0会加快填充速度(适用于CAD2010及更高版本)
(setvar "menubar" 0);;;;关闭菜单栏(适用于CAD2010及更高版本)*****以此区分当前设置的变量状态及捕捉方式
(setvar "gripmultifunctional" 1);;;;动态夹点菜单关闭(适用于CAD2010及更高版本)
(setvar "statusbar" 1);;;;状态栏控制:不隐藏(适用于CAD2010及更高版本)
(setvar "navbardisplay" 0);;;关闭三维小控制栏
(setvar "proxyshow" 1);;;显示代理图形
(setvar "proxynotice" 0);;;代理图形对话框(不显示)
(setenv "DefaultFormatForSave" "24");;;设置CAD默认保存文件格式2004(24-2004,36-2007,48-2010,60-2013)
(setvar "ISAVEBAK" 0);;;控制备份文件 (BAK) 的创建。1-创建, 0-不创建
(setvar "cmdecho" 0)
(command "_.Cecolor" "Bylayer")
(princ)
)
(defun c:qht_02 ()
(setvar "osmode" 4775);;;;对象捕捉方式2
(setvar "shortcutmenu" 0);;;;自定义右键单击(0.右键均为确认)
;;;(setvar "frameselection" 1);;;;块剪裁边界有夹点显示
(setvar "dynmode" 3);;;;动态输入(显示)
(setvar "edgemode" 1);;;;修剪和延伸时,其边假想延伸
(setvar "qpmode" 1);;;;显示快捷特性面板
(setvar "tooltips" 1);;;;显示工具提示:是
(setvar "rollovertips" 1);;;;显示鼠标悬停提示:是(适用于CAD2009及更高版本)
(setvar "menubar" 1);;;;显示菜单栏(适用于CAD2010及更高版本)*****以此区分当前设置的变量状态及捕捉方式
(setvar "gripmultifunctional" 3);;;;动态夹点菜单显示(适用于CAD2010及更高版本)
(setvar "statusbar" 1);;;;状态栏控制:不隐藏(适用于CAD2010及更高版本) ;;还是不要隐藏的好,省不了多少屏幕空间,所以两个程序都改为了1
(setenv "DefaultFormatForSave" "60");;;设置CAD默认保存文件格式2013(24-2004,36-2007,48-2010,60-2013)
(setvar "cmdecho" 0)
(princ)
)
;;打印样式.ctb与.stb互转命令:Convertpstyles;;此条仅为记录此命令
;;;;;
;;;;;
06.20:稍微更新下(恢复动态、插入单位)
;;;;;;;;;;;*********************自动恢复捕捉(不管程序自身出错或手动取消,均自动恢复为设定的值)
;;;;http://bbs.mjtd.com/thread-107586-1-1.html
;;;;http://bbs.xdcad.net/forum.php?m ... =670615&pid=3485091
(vl-load-com)
(defun ResetOSmode (v1 v2 /)
(if (/= (getvar 'Osmode) 4775)
(progn
(setvar 'Osmode 2183)
(setvar 'DYNmode 2)
(setvar 'DYNprompt 0)
)
)
(princ)
)
;;;构造编辑器反应器对象
(vlr-editor-reactor
nil
'(
;(:vlr-lispEnded . ResetOsmode) ;;;已完成对 AutoLISP 表达式的求值
(:vlr-lispCancelled . ResetOsmode) ;;;已取消对 AutoLISP 表达式的求值
;(:vlr-commandEnded . ResetOsmode);;;已完成某 AutoCAD 命令
;(:vlr-commandCancelled . ResetOsmode) ;;; 已取消某 AutoCAD 命令
;(:vlr-commandFailed . ResetOsmode);;; 无法完成某 AutoCAD 命令
)
)
;;;;;;;*************************************打造一个适合自己的运行环境(即设置自己需要的系统变量)
(defun c:4 ()
(if (= 4_tt 0)
(progn (c:qht_01) (setq 4_tt 1))
(progn (c:qht_02) (setq 4_tt 0))
)
(princ)
)
(defun c:qht_01 ()
(setvar "osmode" 2183);;;;对象捕捉方式1(如果要“最近点”,把数字改为2695)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;建议:平常不要用最近点,要用时输nea或设组合按键
(setvar "selectionpreview" 0);;;;选择集预览模式
(setvar "previewfilter" 31);;;;选择集预览模式
(setvar "autosnap" 63);;;;自动捕捉设置
(setvar "xclipframe" 0);;;;块剪裁边界不显示(若原图参数不为0,执行时会重生成)
;;;(setvar "frameselection" 0);;;;块剪裁边界不会被选中(即无夹点显示)
(setvar "pickfirst" 1);;;;选择集模式(先选择后执行)
(setvar "qaflags" 0);;;;选择执行方式
(setvar "edgemode" 0);;;;修剪和延伸时,其边不假想延伸
(setvar "vtenable" 2);;;;动态视图动画关闭
(setvar "plinewid" 0);;;;多段线宽度
(setvar "blipmode" 0);;;;控制点回显
(setvar "AUPREC" 4);;;;角度精度:小数点后4位
(setvar "LUNITS" 2);;;; 线性长度类型:小数
(setvar "LUPREC" 4);;;;线性长度精度:小数点后4位
(setvar "insunits" 4);;;;插入时缩放单位:毫米
(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" 1);;;;使用当前标高替换z值;;因替换后在三维操作时不好捕捉,故取消此项
(setvar "dimassoc" 1);;;;新标注可关联:否
(setvar "osnapoverride" 0);;;;组合按键控制(用于组合按键用过后框选不了的情况)
(setvar "snapmode" 0);;;;捕捉间距:否
(setvar 'DYNmode 2);;;;动态输入(无)
(setvar 'DYNprompt 0);;;不显示动态输入中的提示
(setvar "DYNPIFORMAT" 0);;;动态输入格式:极轴格式
(setvar "DYNPICOORDS" 0);;;动态输入格式:相对坐标
(setvar "DYNPIVIS" 1);;;动态输入可见性:需要一个点时
(setvar "coords" 2);;;;图形坐标显示(极值)
(setvar "shortcutmenu" 0);;;;自定义右键单击(右键均为确认)
(setvar "pickbox" 6);;;;拾取框大小:6
(setvar "GRIDMODE" 0);;;; 显示点栅格:否
(setvar "LISPINIT" 1);;;;AutoLISP 函数和变量只在当前绘图任务中有效
(setvar "PSLTSCALE" 0);;;;1:视口比例决定线型比例
(setvar "DIMZIN" 8);;;; 控制是否对主单位值作消零处理, 8:消除后续零
(setvar "cursorsize" 100);;;;十字光标大小:100
(setvar "zoomfactor" 85);;;;鼠标滑轮缩放比例(默认为60)
;;(setvar "FONTALT" "hztxt.shx");;;默认用此字体替换没有的字体;;;还是用默认的simplex.shx,用其它的会出现形未定义
;;;(setvar "layernotify" 0);;;;如果找到未协调的新图层,不显示警告;;打印时好像出现过问题,故取消此项
(setvar "re-init" 16);;;;重新加载pgp
(setvar "qpmode" 2);;;;不显示快捷特性面板;;-1不显示,2有限制的显示
(setvar "tooltips" 0);;;;显示工具提示:否
(setvar "rollovertips" 0);;;;显示鼠标悬停提示:否(适用于CAD2009及更高版本)
(setvar "HPASSOC" 1);;;填充图案是否关联:是
(setvar "hpmaxlines" 200000);;;;图案填充线的最大数目(CAD2006无效)
(setvar "ucsdetect" 0);;;;动态UCS关闭(适用于CAD2010及更高版本)
(setvar "hpquickpreview" 0);;;;控制在指定填充区域时是否显示填充图案的预览,设为0会加快填充速度(适用于CAD2010及更高版本)
(setvar "menubar" 0);;;;关闭菜单栏(适用于CAD2010及更高版本)*****以此区分当前设置的变量状态及捕捉方式>>>>>>>>>>>>>>>
(setvar "gripmultifunctional" 1);;;;动态夹点菜单关闭(适用于CAD2010及更高版本)
(setvar "statusbar" 1);;;;状态栏控制:不隐藏(适用于CAD2010及更高版本)
(setvar "navbardisplay" 0);;;关闭三维小控制栏
(setvar "proxyshow" 1);;;显示代理图形
(setvar "proxynotice" 0);;;代理图形对话框(不显示)
(setenv "DefaultFormatForSave" "48");;;设置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 "cmdecho" 0)
(command "_.Cecolor" "Bylayer")
(princ)
)
(defun c:qht_02 ()
(setvar "osmode" 4775);;;;对象捕捉方式2
(setvar "shortcutmenu" 2);;;;自定义右键单击(2.选定对象,单击右键为菜单)
;;;(setvar "frameselection" 1);;;;块剪裁边界有夹点显示
(setvar 'DYNmode 3);;;;动态输入(显示)
(setvar "edgemode" 1);;;;修剪和延伸时,其边假想延伸
(setvar "qpmode" 2);;;;显示快捷特性面板
(setvar "tooltips" 1);;;;显示工具提示:是
(setvar "rollovertips" 1);;;;显示鼠标悬停提示:是(适用于CAD2009及更高版本)
(setvar "menubar" 1);;;;显示菜单栏(适用于CAD2010及更高版本)*****以此区分当前设置的变量状态及捕捉方式>>>>>>>>>>>>>>>
(setvar "gripmultifunctional" 3);;;;动态夹点菜单显示(适用于CAD2010及更高版本)
(setvar "statusbar" 1);;;;状态栏控制:不隐藏(适用于CAD2010及更高版本) ;;还是不要隐藏的好,省不了多少屏幕空间,所以两个程序都改为了1
;;(setenv "DefaultFormatForSave" "60");;;设置CAD默认保存文件格式(24-2004,36-2007,48-2010,60-2013)
(setvar "cmdecho" 1)
(princ)
)
;;;;;
2022.07.19更新
(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 "POLARMODE" 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 "PROJMODE" 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 "PSLTSCALE" 0);;;;1:视口比例决定线型比例
(setvar "PLINEGEN" 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 "PICKADD" 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 "PICKAUTO" 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 "PLINEGEN" 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)
)
yangchao2005090 发表于 2018-7-22 09:38
请问布局背景颜色怎么改呀
;;程式預設背景為黑色,每次執行程式指令:BackGround會依序 黑/灰/白 循環更換。
(if (null BackGround) (setq BackGround 1)) ;; 預設背景黑色
(defun C:BackGround (/ acadobject acadpref acaddisp)
(setq scm (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq acadobject (vlax-get-acad-object))
(setq acadpref (vlax-get-property acadobject 'preferences))
(setq acaddisp (vlax-get-property acadpref 'display))
(cond
((= BackGround 0) ;; 背景白色
(vlax-put-property acaddisp 'GraphicsWinModelBackgrndColor 16777215)
(vlax-put-property acaddisp 'ModelCrosshairColor 0) ;; 設定模型空間游標顏色
(setq BackGround 1) )
((= BackGround 1) ;; 背景黑色
(vlax-put-property acaddisp 'GraphicsWinModelBackgrndColor 0) ;; 設定模型空間背景顏色
(vlax-put-property acaddisp 'ModelCrosshairColor 16777215)
(setq BackGround 0) )
; ((= BackGround 2) ;; 背景灰色
; (vlax-put-property acaddisp 'GraphicsWinModelBackgrndColor 5987163)
; (vlax-put-property acaddisp 'ModelCrosshairColor 16777215)
; (setq BackGround 0))
)
(princ "\n****** 切換 AutoCAD 背景色完成 ******")
(setvar "cmdecho" scm)
(princ)
)
(prompt "\n****** Load << 切換 AutoCAD 背景(黑/白)色 >> Successful ******")
(prin1)
1050503750 发表于 2022-8-27 12:49
可以把这个lsp文件直接发我吗我复制代码粘贴加载 连命令都是都是未知命令 感觉我没定义起 感谢
去我另一个帖子下载,工具箱里有 ㄘ丶转裑ㄧ灬 发表于 2022-8-26 18:07
看命令行提示什么,然后去解决
可以把这个lsp文件直接发我吗我复制代码粘贴加载 连命令都是都是未知命令 感觉我没定义起 感谢 学习了,谢谢楼主! 非常好!
其中的好多系统变量之前不知道的,或没有把其联系起来。
谢谢楼主!
很好,谢谢楼主 学习了 学习了 ~~~厉害...... 多谢分享.....
学习了 ~~~厉害...... 谢谢楼主分享