本帖最后由 作者 于 2007-10-2 22:08:28 编辑
在没有把对象捕捉关闭前,程序运行时比如你画的文字的边框,会捕捉到一点去,画出来的四边形就变成一个点了。 你试试运行你自编的程序时,把捕捉打开,而且把CAD的窗口缩小,再执行你的命令,看看有什么效果,你就会明白的。 一般是在程序的开始就这样做(也不一定的,看你的程序的具体安排) (setq oldosmode (getvar "osmode"));读取原有的变量设置 (setvar "osmode" 0);关闭对象捕捉(可以根据需求设置不同的捕捉值) 程序的结尾一般是要把原有的变量设置恢复过来, (setvar "osmode" oldosmode) OSMODE变量设置值:(来自CAD的help文件) 设置执行的对象捕捉模式。 系统将使用下列位码值之和将该设置存储为一个位码: 0 | 无 | 1 | END(端点) | 2 | MID(中点) | 4 | CEN(圆心) | 8 | NOD(节点) | 16 | QUA(象限点) | 32 | INT(交点) | 64 | INS(插入点) | 128 | PER(垂足) | 256 | TAN(切点) | 512 | NEA(最近点) | 1024 | 清除所有对象捕捉 | 2048 | APP(外观交点) | 4096 | EXT(延伸) | 8192 | PAR(平行) |
要指定多个对象捕捉方式,请输入各位码值之和。 例如,输入 3 可指定“端点”(位码 1) 和“中点”(位码 2) 对象捕捉模式。 输入 16383 可指定所有对象捕捉模式。 使用状态行的“对象捕捉”按钮关闭对象捕捉模式,除了返回 OSMODE 的普通值,还将返回位码 16384 (0x4000)。 使用该附加值,开发人员可以将此模式与“草图设置”对话框中已关闭的对象捕捉模式区别开来。 设置此位码值将关闭对象捕捉。 在该位码值关闭时将 OSMODE 设置为其他值可以打开对象捕捉。 |