Ciaran_mccreary 发表于 2022-7-6 06:25:13

从cui宏移动到l

有史以来第一次Lisp程序!!!!我正在尝试将下面的cui宏转换为LISP
我的问题是CADworx命令“\u sbomcut”我无法让lisp在停止后输入命令。。。。。。有什么想法吗?
 
 
^C^CTEXTSIZE;2;^C^C_UnIsolateObjects;^C^CDIMLFAC;1;^C^C_model;^C^Cloman;^C^C_.MSPACE;^C^CCVPORT;4;^C^CZ;O;P;;_IsolateObjects;P;;^C^C_.PSPACE;_SBOMCUT;A;403,267;P;;^C^C
 
(defun c:automaticbracket ()

               (command"textsize""2")

               (command"_UnIsolateObjects")

               (command"DIMLFAC""1")

               (command"_model")

               (command"select")

               (while (> (getvar "CMDACTIVE") 0) (command pause))

               (c:loman)

               (command"_.MSPACE")

               (command "CVPORT""4")

               (command "_ZOOM""O""P""")

               (command "IsolateObjects""p""")

               (command "_.PSPACE")

               (c:sbomcut "")

)

BlackBox 发表于 2022-7-6 07:12:56

考虑SETVAR函数。
 
[编辑]-抱歉,这只是我对您代码的观察,并没有回答您的问题。我根本无法对CADWorx发表评论。

LISP2LEARN 发表于 2022-7-6 07:28:15

不知道函数“loman and sbomcut”是什么,但请尝试一下。
(defun C:test ()
(setvar 'textsize 2) ;; ^C^CTEXTSIZE;2;
(command ".UnIsolateObjects") ;;^C^C_UnIsolateObjects;
(setvar 'dimlfac 1) ;; ^C^CDIMLFAC;1;
(if (not (eq (getvar 'ctab) "Model")) (command "_.model")) ;; ^C^C_model;
(command "select" ) ;; selection to be precess by zoom and isolate
(while (> (getvar "CMDACTIVE") 0) (command pause))
(C:loman) ;; ^C^Cloman;
(command "_.mspace") ;;^C^C_.MSPACE;
(setvar 'cvport 4) ;; ^C^CCVPORT;4;
(command "_.zoom" "_o" "_p" "") ;; ^C^CZ;O;P;;
(command "_.isolateobjects" "_p" "") ;; _IsolateObjects;P;;
(command "_.pspace") ;; ^C^C_.PSPACE;
(C:SBOMCUT) ;; _SBOMCUT;A;403,267;P;;^C^C
(while (> (getvar "CMDACTIVE") 0) (command pause))
(princ)
)
页: [1]
查看完整版本: 从cui宏移动到l