明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 487|回复: 5

[源码] 菜单式拖拽getpoint

[复制链接]
发表于 2024-5-3 14:49 | 显示全部楼层 |阅读模式
  1. (defun $getpoint-rec$ (msg1 msg2 LST / go pt1 pt2)
  2. ;调用示例 ($getpoint-rec$  NIL  NIL  NIL)
  3.   (OR msg1 (SETQ msg1 "请点击左键开始框选"))
  4.   (OR msg2 (SETQ msg2 "请拖动鼠标按下左键"))
  5.   (SETQ msg1 (strcat msg1 "\nA   菜单1\nF   菜单2\nS   设置"))
  6.   (SETQ GO T)
  7.   (while (AND GO (not pt1))
  8.     (initget 39 "a f s")
  9.     (setq
  10.       pt1 (vl-catch-all-apply
  11.       'getpoint
  12.       (list msg1)
  13.     )
  14.     )
  15.     (AND (vl-catch-all-error-p pt1) (setq pt1 nil))
  16.     (cond
  17.       ((and pt1 (= (type pt1) 'str) (member pt1 (list "a" "A")))
  18.        (alert "按下了键盘字母A,开始执行($a$)")
  19.        (SETQ PT1 NIL)
  20.       )
  21.       ((and pt1 (= (type pt1) 'str) (member pt1 (list "f" "F")))
  22.        (alert "按下了键盘字母F,开始执行($f$)")
  23.        (SETQ PT1 NIL)
  24.       )
  25.       ((and pt1 (= (type pt1) 'str) (member pt1 (list "s" "S")))
  26.        (alert "按下了键盘字母S,开始执行选项设置($sz$)")
  27.        (SETQ PT1 NIL)
  28.       )
  29.     )
  30.     (AND pt1 (SETQ GO NIL))
  31.   )
  32.   (SETQ GO T)
  33.   (while (AND GO (not pt2))
  34.     (setq
  35.       pt2 (vl-catch-all-apply
  36.       'getcorner
  37.       (list pt1 msg2)
  38.     )
  39.     )
  40.     (AND (vl-catch-all-error-p pt2) (setq pt2 nil))
  41.     (AND pt2 (SETQ GO NIL))
  42.   )
  43.   (SETQ XS (MAPCAR 'CAR (LIST PT1 PT2)))
  44.   (SETQ YS (MAPCAR 'CADR (LIST PT1 PT2)))
  45.   (SETQ PT1 (LIST (APPLY 'MIN XS) (APPLY 'MIN YS) 0))
  46.   (SETQ PT2 (LIST (APPLY 'MAX XS) (APPLY 'MAX YS) 0))
  47.   (list PT1 pt2)
  48. )


评分

参与人数 1明经币 +1 收起 理由
ssyfeng + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-5-4 13:52 | 显示全部楼层
点赞收藏,牛
发表于 2024-5-4 15:10 | 显示全部楼层
这种可以滚动的代码,
怎么上传的
发表于 2024-5-4 16:17 | 显示全部楼层
潘成祥2015 发表于 2024-5-4 15:10
这种可以滚动的代码,
怎么上传的

笑脸旁边有个<>
发表于 2024-5-6 07:39 | 显示全部楼层
谢谢分享,收藏了
发表于 2024-5-6 08:47 | 显示全部楼层

谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-18 12:32 , Processed in 0.416649 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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