明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2583|回复: 9

[提问] 这样修改copy的快捷键为何不能连续复制

[复制链接]
发表于 2019-9-30 14:58:13 | 显示全部楼层 |阅读模式
(defun c:C()
  (command "COPY" )
   (princ)
)

代码如上  按C  可以复制 但是不能连续复制  就是一次性选择  可以连续放好几个位置

发表于 2019-10-4 09:07:34 | 显示全部楼层
需要注意的是:
INITCOMMANDVERSION 是 AutoCAD 2009 新增的函数,因此支持此函数的最低版本是 17.2
回复 支持 1 反对 0

使用道具 举报

发表于 2019-10-1 00:29:54 | 显示全部楼层
AutoCAD为了兼容早期LISP使用command函数调用命令,在后台仍保留老版本的命令指令。例如早期版本的COPY命令,缺省状态下是没有多重复制的。这样确保早期的LISP代码在后续版本中不至于出错。
因此在后续的LISP版本中,增加了一个函数:initcommandversion,功能:强制使用指定版本运行下一个命令
假设你当前使用的AutoCAD版本是2018,2018的版本号是22,那么这样调用:
(initcommandversion 22)
(commad "_.copy")
这时候你会发现多重复制的可用的。。。。。。

评分

参与人数 1明经币 +1 收起 理由
taoyi0727 + 1 谢谢!还不知道有这功能!版主强大

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2019-9-30 15:39:13 | 显示全部楼层
可以用对映的方法

即 Lisp 串接命令的回应内容

先在CAD 完成 连续复制 看看使用者需回应些什么...
发表于 2019-9-30 17:57:17 | 显示全部楼层
(command "copy" (ssget) "" "m")
发表于 2019-10-1 08:55:28 | 显示全部楼层
谢谢楼上的,又学一招……
 楼主| 发表于 2019-10-2 09:52:46 | 显示全部楼层
caoyin 发表于 2019-10-1 00:29
AutoCAD为了兼容早期LISP使用command函数调用命令,在后台仍保留老版本的命令指令。例如早期版本的COPY命令 ...

谢谢 大佬 确实可以了
发表于 2019-10-4 00:05:08 | 显示全部楼层
Fillet 也是如此,如果需要再调用中使用新版功能,必须先用initcommandversion函数指定一下
发表于 2020-3-7 22:34:17 | 显示全部楼层
start4444 发表于 2019-9-30 17:57
(command "copy" (ssget) "" "m")

那我接下来想输入陈列A,然后操作数目,再然后布满F,该怎么写呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-16 16:34 , Processed in 0.239312 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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