明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6791|回复: 36

变量设置

    [复制链接]
发表于 2012-8-7 13:15:03 | 显示全部楼层 |阅读模式
本帖最后由 自贡黄明儒 于 2012-8-21 13:46 编辑

;;;对于系统变量,有的改变后点击几下鼠标,就很容易找回来;有些系统变量,却不容易.
;;;我列举了向个变量,做成如图界面,你可以根据自己的需要修改
[replyview]
;;;witten by 自贡运机集团 自贡黄明儒2012.8.7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;变量设置
;;;osmodetog1 全局
(defun HH:setvar (/ strin CMDDIATOG1
    CMDECHOTOG1  CTRLV1  DCLID
    DIMASSOCTOG1  FN  FNAME
    GRIDMODETOG1  ISAVEBAKTOG1 LIN
    MIRRTEXTOG1  MOUSEEDIT1 RETURN#
    TOOLTIPSTOG1  TRAYICONSTOG1 TRAYNOTIFYTOG1
    UCSICONTOG1
   )
  (defun setdata ()
    ;;鼠标滑轮
    (set_tile "mouseMove" (itoa (getvar "ZOOMFACTOR")))
    (set_tile "mouseEdit" (itoa (getvar "ZOOMFACTOR")))
    ;;ctrl+V
    (if (and (= (getvar "pickfirst") 1)
      (= (getvar "qaflags") 0)
)
      (progn (set_tile "ctrlV" "1") (mode_tile "ctrlV" 1))
      (progn (set_tile "ctrlV" "0") (mode_tile "ctrlV" 0))
    )
    ;;关闭栅格
    (if (= (getvar "GRIDMODE") 0)
      (progn (set_tile "GRIDMODEtog" "0")
      (mode_tile "GRIDMODEtog" 1)
      )
      (progn (set_tile "GRIDMODEtog" "1")
      (mode_tile "GRIDMODEtog" 0)
      )
    )
    ;;工具栏提示
    (if (= (getvar "TOOLTIPS") 1)
      (set_tile "TOOLTIPStog" "1")
      (set_tile "TOOLTIPStog" "0")
    )
    ;;系统托盘
    (if (= (getvar "TRAYICONS") 0)
      (set_tile "TRAYICONStog" "0")
      (set_tile "TRAYICONStog" "1")
    )
    ;;服务通知
    (if (= (getvar "TRAYNOTIFY") 0)
      (set_tile "TRAYNOTIFYtog" "0")
      (set_tile "TRAYNOTIFYtog" "1")
    )
    ;;备份文件
    (if (= (getvar "ISAVEBAK") 1)
      (set_tile "ISAVEBAKtog" "1")
      (set_tile "ISAVEBAKtog" "0")
    )
    ;;命令回显
    (if (= (getvar "cmdecho") 0)
      (set_tile "cmdechotog" "0")
      (set_tile "cmdechotog" "1")
    )
    ;;UCS图标
    (if (= (getvar "UCSICON") 1)
      (set_tile "UCSICONtog" "1")
      (set_tile "UCSICONtog" "0")
    )
    ;;文字镜向
    (if (/= (getvar "mirrtext") 0)
      (set_tile "mirrtextog" "1")
      (set_tile "mirrtextog" "0")
    )
    ;;尺寸爆破
    (if (/= (getvar "DIMASSOC") 0)
      (set_tile "DIMASSOCtog" "0")
      (set_tile "DIMASSOCtog" "1")
    )
    ;;对话框
    (if (= (getvar "CMDDIA") 1)
      (set_tile "CMDDIAtog" "1")
      (set_tile "CMDDIAtog" "0")
    )
    ;;常用捕捉
    (if (or (= osmodetog1 nil) (= osmodetog1 "1"))
      (set_tile "osmodetog" "1")
      (set_tile "osmodetog" "0")
    )
  )
    (defun mouseMovedo ()
    (set_tile "mouseEdit" $value)
  )
  (defun mouseEditdo ()
    (set_tile "mouseMove" $value)
  )
  (defun MYsetvar ()
    ;;(setvar "SHORTCUTMENU" 0)
    (setvar "dimtix" 1)   ;强制文本在尺寸界线内
    (setvar "dimtofl" 0)  ;箭头在外时,内部无直线
    (setvar "snaptype" 1)  ;极坐标  
    (setvar "dimdsep" ".")  ;小数用.表示
    (setvar "dimcen" -3.0)  ;圆心标记线
    (setvar "dimunit" 2)  ;十进制
    (setvar "dimtmove" 0)  ;尺寸线随文字移动
    (setvar "dimsoxd" 0)  ;太小时仍画简头
    (setvar "dimtix" 0)   ;文字箭头合适
    (setvar "dimexo" 1.25)  ;离测点距
    (setvar "dimdli" 6)   ;连续标注距离
    (setvar "dimtxt" 3.5)  ;文字高
    (setvar "dimtoh" 0)   ;文字定位
    (setvar "osnapcoord" 1)  ;禁止自动扑捉
    (setvar "osmode" 6311)  ;扑捉中点等F3
    (setvar "autosnap" 63)  ;启用极轴对象追踪F10,F11
    (setvar "polarmode" 2)  ;极轴追踪
    (setvar "polarang" (* 15 (/ PI 180))) ;15度极轴角
    (setvar "polardist" 5)  ;极轴间距5
    (setvar "snaptype" 1)  ;极轴时捕捉
    ;;(setvar "snapmode" 0)   ;取消启用捕捉F9
  )
  (defun getdo ()
    (setvar "ZOOMFACTOR" (atoi mouseEdit1)) ;鼠标滑轮
    (if (equal ctrlV1 "1")
      (progn (setvar "pickfirst" 1) (setvar "qaflags" 0))
    )     ;ctrl+V
    (if (equal GRIDMODEtog1 "1")
      (setvar "GRIDMODE" 0)
    )     ;网格
    (if (equal TOOLTIPStog1 "1")
      (setvar "TOOLTIPS" 1)
      (setvar "TOOLTIPS" 0)
    )     ;工具栏提示
    (if (equal TRAYICONStog1 "1")
      (setvar "TRAYICONS" 1)
      (setvar "TRAYICONS" 0)
    )     ;系统托盘
    (if (equal TRAYNOTIFYtog1 "1")
      (setvar "TRAYNOTIFY" 1)
      (setvar "TRAYNOTIFY" 0)
    )     ;服务通知
    (if (equal ISAVEBAKtog1 "1")
      (setvar "ISAVEBAK" 1)
      (setvar "ISAVEBAK" 0)
    )     ;备份文件
    (if (equal cmdechotog1 "1")
      (setvar "cmdecho" 1)
      (setvar "cmdecho" 0)
    )     ;命令回显
    (if (equal UCSICONtog1 "1")
      (setvar "UCSICON" 1)
      (setvar "UCSICON" 0)
    )     ;UCS图标
    (if (equal mirrtextog1 "1")
      (setvar "mirrtext" 1)
      (setvar "mirrtext" 0)
    )     ;文字镜向
    (if (equal DIMASSOCtog1 "1")
      (setvar "DIMASSOC" 0)
      (setvar "DIMASSOC" 2)
    )     ;尺寸爆破
    (if (equal CMDDIAtog1 "1")
      (setvar "CMDDIA" 1)
      (setvar "CMDDIA" 0)
    )     ;对话框
    (if (equal osmodetog1 "1")
      (MYsetvar)
      (vl-propagate 'osmodetog1)
    )     ;常用捕捉
  )
  (initget "S  ")   ;关键字“C”及空格
  (setq strin (getstring "\n [设置S]<执行>"))
  (if (or (equal strin "S")(equal strin "s"))
    (progn
      (setq fname (vl-filename-mktemp nil nil ".dcl"))
      (setq fn (open fname "w"))
      (write-line "MyOptionDCL : dialog { " fn)
      (write-line "    label = \"常用选项\";" fn)
      (write-line "    :row{" fn)
      (write-line
"     :edit_box{label=\"滑轮增量\";key=\"mouseEdit\";value=60;}"
fn
      )
      (write-line
"     :slider{key=\"mouseMove\";min_value=0;max_value=100;small_increment=5;value=60;}"
fn
      )
      (write-line "    }" fn)
      (write-line "    :row{" fn)
      (write-line "    :column{" fn)
      (write-line
"    :toggle{label=\"Ctrl+V有效\";key=\"ctrlV\";value=1;}"
fn
      )
      (write-line
"    :toggle{label=\"关闭栅格\";key=\"GRIDMODEtog\";value=1;}"
fn
      )
      (write-line
"    :toggle{label=\"工具栏提示\";key=\"TOOLTIPStog\";value=1;}"
fn
      )
      (write-line
"    :toggle{label=\"系统托盘\";key=\"TRAYICONStog\";value=0;}"
fn
      )
      (write-line
"    :toggle{label=\"服务通知\";key=\"TRAYNOTIFYtog\";value=0;}    "
fn
      )
      (write-line
"    :toggle{label=\"创建备份文件\";key=\"ISAVEBAKtog\";value=1;}"
fn
      )
      (write-line "    }" fn)
      (write-line "    :column{" fn)
      (write-line
"    :toggle{label=\"命令回显\";key=\"cmdechotog\";value=0;}"
fn
      )
      (write-line
"    :toggle{label=\"UCS图标固定\";key=\"UCSICONtog\";value=1;}"
fn
      )
      (write-line
"    :toggle{label=\"文字镜向\";key=\"mirrtextog\";}"
fn
      )
      (write-line
"    :toggle{label=\"尺寸爆破\";key=\"DIMASSOCtog\";value=0;}"
fn
      )
      (write-line
"    :toggle{label=\"使用对话框\";key=\"CMDDIAtog\";value=1;}"
fn
      )
      (write-line
"    :toggle{label=\"常用捕捉\";key=\"osmodetog\";value=1;}    "
fn
      )
      (write-line "    }" fn)
      (write-line "    }" fn)
      (write-line "    ok_only;" fn)
      (write-line "}" fn)
      (close fn)
      (setq fn (open fname "r"))
      (setq dclid (load_dialog fname))
      (while
(or (eq (substr (setq lin
          (vl-string-right-trim
     "\" fn)"
     (vl-string-left-trim "(write-line \"" (read-line fn))
          )
   )
   1
   2
  )
  "//"
     )
     (eq (substr lin 1 (vl-string-search " " lin)) "")
     (not (eq (substr lin (+ (vl-string-search " " lin) 1) 9)
       " : dialog"
   )
     )
)
      )
      (new_dialog (substr lin 1 (vl-string-search " " lin)) dclid)
      (setdata)
      (action_tile "mouseMove" "(mouseMovedo)")
      (action_tile "mouseEdit" "(mouseEditdo)")
      (action_tile "accept" "(getdata)(done_dialog 1)")
      (setq return# (start_dialog))
      (if (= return# 1)
(getdo)
      )
      (unload_dialog dclid)
      (close fn)
      (vl-file-delete fname)
    )
    (progn
      (setvar "GRIDMODE" 0)
      (if (or (= osmodetog1 nil) (= osmodetog1 "1"))
(MYsetvar)
      )
    )
  )
  (princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;变量设置
[/replyview]


本帖子中包含更多资源

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

x

评分

参与人数 6明经币 +7 金钱 +5 收起 理由
bzhjl + 1 赞一个!
xiaxiang + 2 谢谢分享!
Gu_xl + 2 赞一个!
xyp1964 + 5 有点意思
raimo + 1 赞一个!这个想法挺好的
1993063 + 1 顶一下先

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2012-8-7 18:35:36 来自手机 | 显示全部楼层
本帖最后由 smartstar 于 2012-8-7 18:36 编辑

沙发,支持楼主!
发表于 2012-8-7 22:01:38 | 显示全部楼层
我也来占个位置,支持楼主
发表于 2012-8-7 23:38:12 | 显示全部楼层
没币买光顶一下

评分

参与人数 1明经币 +1 收起 理由
自贡黄明儒 + 1 送你一个币

查看全部评分

发表于 2012-8-8 02:50:43 | 显示全部楼层
请问,右键出来的那个有“设置”项的菜单是怎么做的?
 楼主| 发表于 2012-8-8 09:08:28 | 显示全部楼层
artken 发表于 2012-8-8 02:50
请问,右键出来的那个有“设置”项的菜单是怎么做的?

(setvar "shortcutmenu" 11);必须有这一句,右键回车时才能出现菜单选择项
(initget "Single Horizonal Vertical")
(setq sele(getkword "\n填写方式[水平多项(H)/垂直多项(V)/单一序号(S)]<单一序号>:"))
发表于 2012-8-8 09:30:58 | 显示全部楼层
支持楼主
发表于 2012-8-8 11:33:34 | 显示全部楼层
想法不错,支持楼主
发表于 2012-8-8 12:13:03 | 显示全部楼层
你都贴出来了,还卖啥 钱

点评

贴出来的,你要动一手。  发表于 2012-8-8 12:16
发表于 2012-8-8 12:33:09 | 显示全部楼层
老黄就免费了吧
你的钱很多了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-11 10:45 , Processed in 0.193813 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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