明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 270|回复: 7

[提问] 如何判断用户输入的是点选坐标还是其它关键字

[复制链接]
发表于 2024-12-14 17:23:53 | 显示全部楼层 |阅读模式
如何判断用户输入的是点选坐标还是其它关键字
比如,圆命令:CIRCLE
指定圆的圆心或 [三点(3P)/两点(2P)/切点、切点、半径(T)]:
新手小白,望不吝赐教
回复

使用道具 举报

发表于 2024-12-14 17:26:08 | 显示全部楼层
initget+getpoint
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-14 20:49:43 | 显示全部楼层

能否详细点

点评

关键字都给你了,查一下AutoLISP的帮助文档中这两个函数的参考很难吗?  发表于 2024-12-15 21:24
回复 支持 反对

使用道具 举报

发表于 2024-12-15 03:49:01 | 显示全部楼层
本帖最后由 你有种再说一遍 于 2024-12-15 03:51 编辑

让用户通过你的交互,你再根据交互输入给CAD函数或者命令,
你是无法直接判断自带命令的交互的.

虽然这里跟你说没有办法,实际上办法还是很多的,
例如键盘钩子+子类化/空闲事件+doc.CommandInProgress,
能够读取CAD命令交互的关键字...
不过你敲的是Lisp...
回复 支持 反对

使用道具 举报

发表于 2024-12-15 12:12:47 | 显示全部楼层
本帖最后由 gzcsun 于 2024-12-15 17:10 编辑

--------------------------

回复 支持 反对

使用道具 举报

发表于 2024-12-16 15:25:55 | 显示全部楼层
(initget 0 "3P 2P T")
(setq pt (getpoint "指定圆的圆心或 [三点(3P)/两点(2P)/切点、切点、半径(T)]:"))
(cond
  ((= pt "3P")(...))
  ((= pt "2P")(...))
  ((= pt "T")(...))
  (t (...))
)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-16 20:52:07 | 显示全部楼层
i小小白i 发表于 2024-12-16 15:25
(initget 0 "3P 2P T")
(setq pt (getpoint "指定圆的圆心或 [三点(3P)/两点(2P)/切点、切点、半径(T)]:") ...

多谢大佬!祝您生活愉快
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 01:36 , Processed in 0.167510 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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