明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 838|回复: 8

[提问] 如何输入一个命令,比如命令tt,执行我已经有的三个程序aa,bb,cc

[复制链接]
发表于 2016-4-26 14:08:08 | 显示全部楼层 |阅读模式
如何输入一个命令,比如命令tt,执行我已经有的三个程序aa,bb,cc,或者用空格键依次执行
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2016-4-26 15:31:27 | 显示全部楼层
(defun tt()
(aa)
(bb)
(cc)
)
(tt);执行
 楼主| 发表于 2016-4-26 16:19:37 | 显示全部楼层
自贡黄明儒 发表于 2016-4-26 15:31
(defun tt()
(aa)
(bb)

老师你帮我看下

(DEFUN C:tt ( / SS)


(SETQ SS (SSGET '((0 . "*text")(1 . "*%%130*,*%%131*,*%%132*"))))
(command "erase" ss "")


(SETQ SS (SSGET '((0 . "*text")(1 . "*L*),*L*)"))))
(COMMAND "CHPROP" SS "" "C" "1" "") (SETVAR "CMDECHO" 1)



(SETQ SS (SSGET '((0 . "*text")(1 . "???X???,???x???,(*)"))))
(COMMAND "CHPROP" SS "" "C" "6" "") (SETVAR "CMDECHO" 6)

)
 楼主| 发表于 2016-4-26 16:20:34 | 显示全部楼层
664571221 发表于 2016-4-26 16:19
老师你帮我看下

(DEFUN C:tt ( / SS)

老师你好 , 你看下 tt中间的句子 有三段分别是三个功能,如何让他们依次执行
发表于 2016-4-26 17:10:22 | 显示全部楼层
  1. (defun c:tt ( / ss)
  2.         (initget 128 "aa bb cc")
  3.         (setq        key (getkword
  4.                 "\n>>>请选择:[aa/bb/cc]"
  5.         )
  6.         )
  7.         (if (not key)
  8.                 (setq key "aa")
  9.         )
  10.         (cond
  11.                 ((= key "aa")
  12.                         (while
  13.                                 (if
  14.                                         (null (setq ss (ssget '((0 . "*text")(1 . "*%%130*,*%%131*,*%%132*")))))
  15.                                         (progn
  16.                                                 (alert "\n没有选择到任何对象!")
  17.                                                 t
  18.                                         )
  19.                                         (progn
  20.                                                 (command "erase" ss "")
  21.                                                 nil
  22.                                         )
  23.                                 )
  24.                         )
  25.                 )
  26.                 ((= key "bb")
  27.                         (while
  28.                                 (if
  29.                                         (null (setq ss (ssget '((0 . "*text")(1 . "*l*),*l*)")))))
  30.                                         (progn
  31.                                                 (alert "\n没有选择到任何对象!")
  32.                                                 t
  33.                                         )
  34.                                         (progn
  35.                                                 (command "chprop" ss "" "c" "1" "")
  36.                                                 (setvar "cmdecho" 1)
  37.                                                 nil
  38.                                         )
  39.                                 )
  40.                         )
  41.                 )
  42.                 ((= key "cc")
  43.                         (while
  44.                                 (if
  45.                                         (null (setq ss (ssget '((0 . "*text")(1 . "???x???,???x???,(*)")))))
  46.                                         (progn
  47.                                                 (alert "\n没有选择到任何对象!")
  48.                                                 t
  49.                                         )
  50.                                         (progn
  51.                                                 (command "chprop" ss "" "c" "6" "")
  52.                                                 (setvar "cmdecho" 6)
  53.                                                 nil
  54.                                         )
  55.                                 )
  56.                         )
  57.                 )
  58.                 (t  nil)   
  59.         )
  60.         (princ)
  61. )                                                                                       
 楼主| 发表于 2016-4-27 09:22:20 | 显示全部楼层
lucas_3333 发表于 2016-4-26 17:10

老师怎么都是在执行aa的功能

点评

不是依次执行你说的三个功能的,输入TT后,要再次输入aa或bb或cc去选择执行哪个功能  发表于 2016-4-27 10:08
发表于 2016-4-27 09:38:02 来自手机 | 显示全部楼层
initgt后面字首大写
 楼主| 发表于 2016-4-27 10:50:45 | 显示全部楼层
自贡黄明儒 发表于 2016-4-27 09:38
initgt后面字首大写

老师是什么意思
发表于 2016-4-27 14:26:45 | 显示全部楼层
(DEFUN C:tt( / SS s)
(SETQ Ss (SSGET))

(SETQ S (SSGET "_P" '((0 . "*text"))))
(command "erase" s "")

(command "_.select" Ss "")
(SETQ S (SSGET "_P" '((0 . "*line"))))
(COMMAND "CHPROP" S "" "C" "1" "")

(command "_.select" Ss "")
(SETQ S (SSGET "_P" '((0 . "CIRCLE"))))
(COMMAND "CHPROP" S "" "C" "6" "")

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

本版积分规则

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

GMT+8, 2025-5-20 13:38 , Processed in 0.193576 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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