明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 515|回复: 4

[函数] entsel任何时候都返回坐标

[复制链接]
发表于 2024-9-4 16:35:48 | 显示全部楼层 |阅读模式
  1. (defun $entsel$  (s / pick msg init)
  2.           ;entsel函数在用户点击空白的时候返回nil,无法知道用户点击的坐标,所以特写此函数
  3.           ;($entsel$ "请点选文字")自定义entsel
  4.   (cond  ((= (type s) 'str)
  5.    (progn
  6.      (setq msg s)
  7.      (if (not msg)
  8.        (setq msg "请按下鼠标左键点选对象")
  9.      )
  10.      (SETQ S (GRREAD (GRREAD 15 2)))
  11.      (COND ((= (CAR S) 5)
  12.       (setq pick (ENTSEL msg))
  13.       (if (not pick)
  14.         (progn (setq pt (cadr (grread t)))
  15.          (setq pick (list nil pt))
  16.         )
  17.       )
  18.      )
  19.      )
  20.    )
  21.   )
  22.   ((= (type s) 'list)
  23.    (or (setq msg (cdr (assoc "提示语" s)))
  24.        (setq msg "请按下鼠标左键点选对象")
  25.    )
  26.    (setq init (cdr (assoc "关键字" s)))
  27.    (SETQ S (GRREAD (GRREAD 15 2)))
  28.    (COND ((= (CAR S) 5)
  29.     (if init
  30.       (initget 128 init)
  31.     )
  32.     (setq pick (ENTSEL msg))
  33.     (if (not pick)
  34.       (progn (setq pt (cadr (grread t)))
  35.        (setq pick (list nil pt))
  36.       )
  37.     )
  38.     (IF pick
  39.       (SETQ XUNH T)
  40.     )
  41.          )
  42.    )
  43.   )
  44.   )
  45.   pick
  46. )

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-9-7 11:05:10 | 显示全部楼层
  1. (defun tt (msg / ent)
  2.   (or
  3.     (setq ent (entsel msg))
  4.     (setq ent (list nil (cadr (grread T 1))))
  5.   )
  6.   ent
  7. )
  8. (tt "选择对象:")
我是这样写的
回复 支持 1 反对 0

使用道具 举报

发表于 2024-9-4 20:54:31 | 显示全部楼层
(if pick (setq xunh t))
哪来的xunh?
发表于 2024-9-6 06:31:33 来自手机 | 显示全部楼层
收藏备用,感谢无私分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 20:37 , Processed in 0.155262 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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