明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2046|回复: 6

[求助]:[0417]initget命令连结程序问题?

[复制链接]
发表于 2006-4-17 11:28:00 | 显示全部楼层 |阅读模式


[求助]:[0417]initget命令连结程序问题?
;;;+++++++++++++++++++++++++++++++
问题程序如下:
(setq gs (getvar "users2"))
(initget "1 2 3")
(setq ph (getkword (strcat "\n (1)程序A/(2)程序B/(3)程序C:<"gs">:" ) ) )
(setvar "users2" ph )

(cond
((= ph A)(c:TT001)) ;呼叫使用程序A
((= ph B)(c:TT002)) ;呼叫使用程序B
((= ph C)(c:TT003)) ;呼叫使用程序C
(t nil)
)
(princ ph)

小弟想将手边的程序整理一下,
可以使用关键字来呼叫使用,
但却发生呼叫不出来的问题,
该怎样处里呢?
另外若是想要设定按下空白键时,
是呼叫上次以记忆在其中的关键代码,
该怎样处里呢?

烦请各位高手解答一下~
谢谢~

发表于 2006-4-17 11:41:00 | 显示全部楼层

initget应该设置关键字为A,B,C。

至于你想用空格代表上次的值,自已通过程序来解决。

发表于 2006-4-17 11:48:00 | 显示全部楼层

看来楼主看不懂!有空再写个例子给你!

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=48765

发表于 2006-4-17 16:32:00 | 显示全部楼层
  1. ;;程式如下:
  2. ;;BY LUCAS(龙龙仔)
  3. (defun C:TT (/ PH DO_IT)
  4.   (vl-load-com)
  5.   (defun DO_IT (PROGRAM)
  6.     (vla-sendcommand
  7.       (vla-get-activedocument (vlax-get-acad-object))
  8.       PROGRAM
  9.     )
  10.   )
  11.   (initget "A B C ")
  12.   (setq PH (getkword (strcat "\n程式(A)/程式(B)/程式<C>: ")))
  13.   (cond
  14.     ((= PH "A") (DO_IT "TT001 ")) ;呼叫使用程式A
  15.     ((= PH "B") (DO_IT "TT002 ")) ;呼叫使用程式B
  16.     (t (DO_IT "TT003 "))  ;呼叫使用程式C
  17.   )
  18.   (princ)
  19. )
  20. (defun C:TT001 ()
  21.   (alert "TT001!!")
  22.   (princ)
  23. )
  24. (defun C:TT002 ()
  25.   (alert "TT002!!")
  26.   (princ)
  27. )
  28. (defun C:TT003 ()
  29.   (alert "TT003!!")
  30.   (princ)
  31. )
  32. (princ)
 楼主| 发表于 2006-4-19 07:56:00 | 显示全部楼层

谢谢龙版大的解答

另外请问 (initget "A B C ")
(initget "1 2 3 ")

有何差异呢,是否在 a b c 之后要空格呢?

发表于 2006-4-19 13:05:00 | 显示全部楼层
与cond要对应
发表于 2022-5-26 20:20:06 | 显示全部楼层
感谢大佬分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 15:25 , Processed in 0.168601 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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