求教!使用lisp重定义复制命令无法连续执行怎么搞
(defun c:CCC()(command "copy")
)求教一下各位大神!
我想用lisp来设置CAD本身的快捷键
但是给复制命令设置快捷键以后,
不能连续执行、不知道什么鬼
想请教一下大家有没有办法可以保证,
重定义以后的快捷键和改pgp文件是一样的效果
kozmosovia 发表于 2025-5-5 23:26
copy多次复制好像有copymode的系统变量控制。
(defun c:CCC ()
(vl-load-com)
(vla-sendcommand
(vla-get-ActiveDocument (vlax-get-acad-object))
"COPY "
)
(princ)
)
搞定了、用这种方式就可以了 寒潮大冬瓜 发表于 2025-5-5 21:48
(defun c:CCC ()
(while T; 添加循环实现连续执行
(command "_.copy" pause "")
我可能没表达清楚、我不是要写连续复制的功能、是想用lisp直接给copy设置一个快捷键、这个快捷键的执行效果和直接输入copy是一样的 本帖最后由 寒潮大冬瓜 于 2025-5-6 01:00 编辑
(defun c:CCC ()
(princ "kjj内COPY(CAD拷贝复制)")
;(os2024)
(command "COPY")
(princ)
;(princ)
) ;COPY(CAD拷贝复制)
我自己就是这样用的快捷键!楼主自己的不成功→估计是cad哪个设置的出了问题? 本帖最后由 kozmosovia 于 2025-5-5 21:27 编辑
不能连续执行什么意思? (defun c:CCC ()
(while T; 添加循环实现连续执行
(command "_.copy" pause "")
(princ "\n继续复制或按ESC退出..."); 提示信息
)
(princ)
) ; 连续复制
(defun c:C (/ ent)
(setq ent (ssget))
(Command-s ".copy" ent "" "m")
) kozmosovia 发表于 2025-5-5 21:18
不能连续执行什么意思?
就是复制一个后命令直接终止了、不像直接执行copy一样可以复制多个 你试用过→效果就是输入ccc就实现copy的功能哟! 牛仔key 发表于 2025-5-5 22:02
; 连续复制
(defun c:C (/ ent)
(setq ent (ssget))
我是想用lisp给CAD本身命令设置快捷键、其他命令可以直接重定义、但是copy命令设置后、不能连续复制图形 寒潮大冬瓜 发表于 2025-5-5 22:30
你试用过→效果就是输入ccc就实现copy的功能哟!
谢谢!但是你没明白我的问题、连续复制我自己会写代码、我的问题是重定义CAD本身的copy后不能连续复制、复制一个命令就结束了
页:
[1]
2