明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8348|回复: 37

自定义osmode设置

    [复制链接]
发表于 2011-11-7 17:13:02 | 显示全部楼层 |阅读模式
网络上很多程序出错处理写的不好.很容易造成捕捉丢失,
自己用dcl写了一个osmode捕捉设置.
增加三种方案可以选择.快速恢复捕捉设置
数据保存在注册表中.


本帖子中包含更多资源

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

x

点评

建议数据不要存到注册表中,最好放在INI文件,这样可以自己手动修改3种方案。  发表于 2011-11-10 08:32
:popup_list建议改用三个:button或三个:radio_button, 数量不多的用按扭比选项下拉速度快多了哦!  发表于 2011-11-7 20:59

评分

参与人数 5明经币 +3 金钱 +30 收起 理由
hhh454 + 1 + 20 赞一个!
duotu007 + 1 赞一个!
lohas1118 + 5 赞一个!
飞诗(fsxm) + 1 很给力!
santalin + 5 很给力!

查看全部评分

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

本帖被以下淘专辑推荐:

发表于 2011-11-9 21:51:09 | 显示全部楼层
(defun c:os1();;捕捉端点
   (setvar "cmdecho" 0)
   (setvar "osmode" 1)
  )

(defun c:os2();;捕捉中点
   (setvar "cmdecho" 0)
   (setvar "osmode" 2)
  )

(defun c:os3();;捕捉端点,中点
   (setvar "cmdecho" 0)
   (setvar "osmode" 3)
  )

(defun c:os4();;捕捉端点,中点,圆心,延长点
   (setvar "cmdecho" 0)
   (setvar "osmode" 4135)
  )

(defun c:os5();;捕捉端点,中点,圆心,延长点,垂直点
   (setvar "cmdecho" 0)
   (setvar "osmode" 4263)
  )
(defun c:os6();;捕捉中点,垂直点
   (setvar "cmdecho" 0)
   (setvar "osmode" 130)
  )
回复 支持 1 反对 0

使用道具 举报

发表于 2022-7-2 17:54:15 | 显示全部楼层
raimo 发表于 2011-11-7 23:21
在哪里可以查到每一种捕捉的代码? 全选的又是多少?

类型:整数
保存位置:注册表
初始值: 4133

使用下列位码设置“对象捕捉”的运行模式:

0 NON(无)

1 END(端点)

2 MID(中点)

4 CEN(圆心)

8 NOD(节点)

16 QUA(象限点)

32 INT(交点)

64 INS(插入点)

128 PER(垂足)

256 TAN(切点)

512 NEA(最近点)

1024 QUI(快速)

2048 APP(外观交点)

4096 EXT(尺寸线)

8192 PAR(平行)

要指定多个对象捕捉方式,请输入各个位码值之和。例如,输入 3 指定“端点”(位码 1) 和“中点”(位码 2) 对象捕捉。输入 16383 指定全部对象捕捉方式。

使用状态行的“对象捕捉”按钮关闭对象捕捉模式,除了返回 OSMODE 的普通值,还将返回位码 16384 (0x4000)。这个附加值有助于开发人员编写 AutoCAD 应用程序并将此模式与“绘图设置”对话框关闭的对象捕捉模式区别开来。设置此位码值将关闭对象捕捉。在该位码值关闭时将 OSMODE 设置为其他值可以打开对象捕捉。
发表于 2011-11-7 17:16:55 | 显示全部楼层
沙发。问题是能自定义设置吗?能否告知保存在注册表中的位置?
发表于 2011-11-7 17:27:38 | 显示全部楼层
我还是喜欢用自己的命令解决,想要什么捕捉就设什么
发表于 2011-11-7 18:29:45 | 显示全部楼层
dear sir
can't download
bad request

点评

dear sir can I help you  发表于 2011-11-11 21:50
发表于 2011-11-7 18:48:34 | 显示全部楼层
sachindkini 发表于 2011-11-7 18:29
dear sir
can't download
bad request

may be yours problem
check network
 楼主| 发表于 2011-11-7 19:35:39 | 显示全部楼层
注册表位置
保存
(setenv "xzj\\osmode0" "695")
读取
(getenv "xzj\\osmode0")
发表于 2011-11-7 19:51:47 | 显示全部楼层
无法下载,请检查链接
发表于 2011-11-7 20:11:03 | 显示全部楼层
我宁愿自定义命令
  1. (defun c:ff() (setvar "osmode" 0))
  2. (defun c:ww() (setvar "osmode" 111))
想要调对话框ff一下再F3就齐活了
发表于 2011-11-7 23:21:57 | 显示全部楼层
在哪里可以查到每一种捕捉的代码? 全选的又是多少?
发表于 2011-11-8 13:14:05 | 显示全部楼层
本帖最后由 VBALISPER 于 2011-11-8 13:15 编辑
vormittag 发表于 2011-11-7 20:11
我宁愿自定义命令想要调对话框ff一下再F3就齐活了

我用的和你一样,两行LISP对应两个自定义按钮,一个常用,一个全部.
设为0没意义啊,F3就关闭了,就相当于0了.是吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 10:43 , Processed in 0.209247 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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