明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 我看

[求助]重新制作中点捕捉

  [复制链接]
发表于 2007-9-25 14:15:00 | 显示全部楼层
mid简化成'm倒可以,不要单引号似乎不可能
发表于 2007-9-25 15:19:00 | 显示全部楼层

楼主不妨试下shift+M(按下)快捷键。你可以参考临时替代的快捷键设置和宏命令。

想要在lisp中而不用',似乎不太可能.

用CAL函数能代替你需要的点,例如下面函数可以帮你找到你点取的两个点的中点。

最:(defun c:k() (cal "(cur+cur)/2"))

发表于 2007-9-25 19:37:00 | 显示全部楼层

可以通过设置snap值来重新设定中点捕捉,具体设置为多少,我记不清楚了,你自己试一下就知道了

发表于 2007-9-30 01:31:00 | 显示全部楼层
本帖最后由 作者 于 2007-9-30 1:32:57 编辑

 

find实用

发表于 2007-10-2 13:01:00 | 显示全部楼层

你这个M是指什么地方的中间点?如一个新档,你这个M怎么用?

 楼主| 发表于 2007-10-8 19:15:00 | 显示全部楼层

大家好:

这个问题如何解决呢?

发表于 2007-10-8 20:55:00 | 显示全部楼层

这你可能要自己定义一下LINE的命令了,下面是一个示例,其它的可以类推。

 

本帖子中包含更多资源

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

x
发表于 2007-10-9 10:59:00 | 显示全部楼层
(cal "(cur+cur)/2")
很有意思,学习了。。。

发表于 2007-10-9 11:27:00 | 显示全部楼层

) ;|end cond|;
    (
initget "m e c t p n")
这地方有点错误,应为

) ;|end cond|;
    (initget "m e c i t p n")

发表于 2007-10-9 12:16:00 | 显示全部楼层
本帖最后由 作者 于 2007-10-9 19:14:00 编辑

;|;;需求:
将中点捕捉方式“MID”方式更改为“M”方式。
这样,比如输入“LINE”命令后,直接输入“M”不包含双引号,
也不包含透明命令的’,就可以替代输入“MID”,以达到输入简化的目的。
;;|;

(DEFUN C:TT (/ LST LST_OS OS_OLD TEST TMP INT PT)
    (SETQ LST_OS '(("" 0 "NON" "无")
           ("E" 1 "END" "端点")
           ("M" 2 "MID" "中点")
           ("C" 4 "CEN" "圆心")
           ("D" 8 "NOD" "节点")
           ("Q" 16 "QUA" "象限点")
           ("I" 32 "INT" "交点")
           ("S" 64 "INS" "插入点")
           ("P" 128 "PER" "垂足")
           ("T" 256 "TAN" "切点")
           ("N" 512 "NEA" "最近点")
           ("" 1024 "QUI" "快速")
           ("A" 2048 "APP" "外观交点")
           ("X" 4096 "EXT" "尺寸线")
           ("L" 8192 "PAR" "平行")
 ;         )
 ;   )
    (SETQ OS_OLD (GETVAR "osmode"))
 ;   ;;
    (COMMAND "_.line")
 ;   (SETQ TEST T)
 ;   (WHILE TEST
 ;   (SETQ TMP (GRREAD T 2 0))
 ;   (COND
 ;       ;;1、击鼠标右键
 ;       ((= (CAR TMP) 12)
 ;        (SETQ TEST NIL)
 ;        (COMMAND)
 ;       )
 ;       ;;2、击左键
 ;       ((= (CAR TMP) 3)
 ;        (SETQ PT (CADR TMP))
 ;        (COMMAND PT)
 ;       )
 ;       ;;3、按下键盘键
 ;       ((= (CAR TMP) 2)
 ;        (SETQ INT (CADR TMP))
 ;        (COND
 ;        ;;回车或者空格键,则退出
 ;        ((OR (= INT 13)
 ;             (= INT 32)
 ;         )
 ;         (SETQ TEST NIL)
 ;         (COMMAND)
 ;        )
 ;        ;;
 ;        ((OR (SETQ LST (ASSOC (CHR INT) LST_OS))
 ;             (SETQ LST (ASSOC (CHR (+ INT 32)) LST_OS))
 ;             (SETQ LST (ASSOC (CHR (- INT 32)) LST_OS))
 ;         )
 ;         ;;(princ  (chr INT))
 ;         (COMMAND (CADDR LST))
          (SETVAR "osmode" (CADR LST))
 ;        )
 ;        )
 ;       )
 ;   ) ;_结束 cond
 ;   ) ;_结束 while
    (SETVAR "osmode" OS_OLD)
 ;   (PRINC)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-12 05:44 , Processed in 0.200158 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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