自贡黄明儒 发表于 2012-8-7 13:15:03

变量设置

本帖最后由 自贡黄明儒 于 2012-8-21 13:46 编辑

;;;对于系统变量,有的改变后点击几下鼠标,就很容易找回来;有些系统变量,却不容易.
;;;我列举了向个变量,做成如图界面,你可以根据自己的需要修改

;;;witten by 自贡运机集团 自贡黄明儒2012.8.7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;变量设置
;;;osmodetog1 全局
(defun HH:setvar (/ strin CMDDIATOG1
    CMDECHOTOG1CTRLV1DCLID
    DIMASSOCTOG1FNFNAME
    GRIDMODETOG1ISAVEBAKTOG1 LIN
    MIRRTEXTOG1MOUSEEDIT1 RETURN#
    TOOLTIPSTOG1TRAYICONSTOG1 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)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;变量设置



smartstar 发表于 2012-8-7 18:35:36

本帖最后由 smartstar 于 2012-8-7 18:36 编辑

沙发,支持楼主!

dakui 发表于 2012-8-7 22:01:38

我也来占个位置,支持楼主

xsso 发表于 2012-8-7 23:38:12

没币买光顶一下

artken 发表于 2012-8-8 02:50:43

请问,右键出来的那个有“设置”项的菜单是怎么做的?

自贡黄明儒 发表于 2012-8-8 09:08:28

artken 发表于 2012-8-8 02:50 static/image/common/back.gif
请问,右键出来的那个有“设置”项的菜单是怎么做的?

(setvar "shortcutmenu" 11);必须有这一句,右键回车时才能出现菜单选择项
(initget "Single Horizonal Vertical")
(setq sele(getkword "\n填写方式[水平多项(H)/垂直多项(V)/单一序号(S)]<单一序号>:"))

YAOSHIWEI 发表于 2012-8-8 09:30:58

支持楼主

mj0000 发表于 2012-8-8 11:33:34

想法不错,支持楼主

myjping 发表于 2012-8-8 12:13:03

你都贴出来了,还卖啥 钱

ynhh 发表于 2012-8-8 12:33:09

老黄就免费了吧
你的钱很多了
页: [1] 2 3 4
查看完整版本: 变量设置