BIGAL 发表于 2022-7-5 23:28:16

你预装了所有的defuns吗?如果没有

(load "ccv")(load "hhj") (load "ffk")
(c:ccv)
(c:hhj)
(c:ffk)

hosyn 发表于 2022-7-5 23:30:25

是的,先生
当然

asos2000 发表于 2022-7-5 23:34:22

有能力上传lisps吗
 
无论如何,试试这个
 
旧Lisp程序
(defun c:AAA ( / A1 )
(setq A1 (getpoint))
)

(defun c:BBB ( / B1 )
(setq B1 (getpoint))
)

(defun c:CCC ( / C1 )
(setq C1 (getpoint))
)


(defun c:DDD ( / D1 )
(setq D1 (getpoint))
))
 
新建Lisp
(defun c:XXX ( / A1 B1 C1 D1 )
(setq A1 (getpoint))
(setq B1 (getpoint))
(setq C1 (getpoint))
(setq D1 (getpoint))
)

MSasu 发表于 2022-7-5 23:40:47

Hosyn,正如您在下面的示例中所看到的,所需的函数连续工作(请不要错过,如果您以结束擦除过程,则无法实现第二个函数)。
(defun c:ccv()
(command "_.ERASE")
(while (> (getvar "CMDACTIVE") 0)
(command pause)
)
)

(defun c:hhj( / p1 )
(alert "I'm here!")
(if (setq p1 (cadr (ssgetfirst)))
(progn
(sssetfirst)
(command "chprop" p1 "" "C" 1 "")
)
)
)

(defun c:test()
(prompt "\nStart")
(c:ccv)
(prompt "\nMiddle")
(c:hhj)
(prompt "\nEnd")
(princ)
)
还请注意,第二个函数(HHJ)中的代码是无用的;当到达SSGETFIRST语句时,无法预先选择某些内容,任何先前选择的实体都已通过ERASE调用删除。
我添加了一个警报调用,以证明HHJ函数按预期调用。
 
 
顺便说一句,如果你将讨论集中在一个线程上,以避免分散注意力,那就更好了!

hosyn 发表于 2022-7-5 23:42:12

MSasu公司
您的修改代码显示第二个函数“hhj”实现并显示警报:)但我不知道如何在警报后连续执行chprop命令,当我在cad中运行自己时,该命令不起作用,运行非常好,但在警报切割过程和中断后的例程中,是否有必要在例程和o中修改命令chprop:)如何??

MSasu 发表于 2022-7-5 23:47:30

如前所述,第二个函数不可能触发CHPROP命令。
 
只是猜测,但也许你是故意这么做的?
(defun c:hhj( / p1 )
(if (setq p1 (ssget))
(command "chprop" p1 "" "C" 1 "")
)
(princ)
)
页: 1 [2]
查看完整版本: 帮助创建新功能