找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2696|回复: 14

[研讨] 正交模式下的 记忆复制(用心回帖有奖)

[复制链接]

已领礼包: 1742个

财富等级: 堆金积玉

发表于 2013-7-4 16:29:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 炫翔 于 2013-7-4 16:31 编辑

下面是记忆复制的源代码,现在出现的问题是:
在开启正交的时候,用捕捉点进行复制时,复制不到捕捉点


程序要实现的要求:重点,要求还原程序执行前的设置,如已经打开的正交,对象捕捉等
选取对象 移动鼠标
没有捕捉点时,空格可以进行方向复制
有捕捉点时,复制到捕捉点
  1. ;记忆复制
  2. (defun c:xx ( / aa pt)
  3.   (command ".copy" (ssget) "" "m")
  4.   (command (setq pt (getpoint "\n指定基点:")))
  5.   
  6.   (IF (NULL *aa*)
  7.     (setq *aa* 100)
  8.   )
  9.   (setq aa (getdist pt (strcat "\n值<" (rtos *aa* 2 2) ">:")))
  10.   (if (NULL aa)
  11.     (setq aa *aa*)
  12.     (SETQ *aa* aa)
  13.   )
  14.   (command aa)
  15. )



评分

参与人数 1D豆 +10 收起 理由
XDSoft + 10 好主题奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 685个

财富等级: 财运亨通

发表于 2013-7-4 18:42:19 | 显示全部楼层
这个很实用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-7-4 19:22:20 | 显示全部楼层
炫翔斑竹,没太明白这个程序的意思,加载使用了下,那个值100,起什么作用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-4 23:24:38 | 显示全部楼层
就是原CAD复制命令增加个记忆功能(能记住上次输入的距离):  命令有以下两种常见使用方式;1 选择物体  鼠标给个方向然后 空格即选中的物体就复制到方向上的位置了 距离是上次输入的距离 (这种情况是使用了记忆功能)2是 选择物体直接复制到捕捉点上即可(正交还是非正交的情况下都能复制到捕捉点)这种情况是没有使用记忆功能就是原CAD的复制命令(有些人会说既然第一种情况已经可以了,第二种情况使用原CAD的复制命令不就行了吗,   如果那样的话一个复制命令就有俩快捷键意义也就不大了   版主的代码在正交开的情况下 复制不到第一个捕捉点上,继续点第二个捕捉点 第三.....都能复制上去 。。很遗憾我也不会,期待高手出现:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 685个

财富等级: 财运亨通

发表于 2013-7-5 00:01:40 | 显示全部楼层
楼上解释得很清楚...只是文字有点乱~~~

点评

这样描述就清楚点: 在 Copy 命令选择基点后,增加一个默认距离提示,其他和标准 Copy 一样  详情 回复 发表于 2013-7-5 14:08
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-5 00:07:22 | 显示全部楼层
这个复制命令很实用,无须增加多重复制(多重复制还直接用阵列的一些工具就行了)就是增加个记忆的功能   此代码在没开正交的情况下是可以的。  网上相关的帖子也很多,不过还没找到相关的解决方法 ,我语文学的差   哈哈
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-5 13:36:57 | 显示全部楼层
嗯感谢eachy大侠的帮忙, 帮了我不少,画图效率提高更快了 我在这里感谢他  下面是他写的代码真的是解决了上面的问题
  1. (defun c:xx (/ aa pt)
  2.   (IF (NULL *aa*)
  3.     (setq *aa* 100)
  4.   )
  5.   (vl-cmdf ".copy" (ssget) "")
  6.   ;;"m")
  7.   (command (setq pt (getpoint "\n指定基点:")))
  8.   (setq aa (getpoint pt (strcat "\n值<" (rtos *aa* 2 2) ">:")))
  9.   (if (NULL aa)
  10.     (setq aa *aa*)
  11.     (SETQ *aa* (distance pt aa))
  12.   )
  13.   (command aa)
  14. )

点评

08的CAD用上面代码就不能连续复制了。 eachy大侠做了修改 能连续复制了 现在应经很完美了 我再次感谢下eachy大侠。 (defun c:xx (/ aa pt)[/backcolor] (IF (NULL *aa*)[/backcolor] (set  详情 回复 发表于 2013-7-5 22:07
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-7-5 13:58:22 | 显示全部楼层
注意 Copy 命令有些变化,低版本的 多重复制要每次输入 M
  1. (vl-cmdf ".copy" (ssget) "" "m")

高版本是 O 选项
  1. (vl-cmdf ".copy" (ssget) "" "o" "m" "")

评分

参与人数 1D豆 +5 收起 理由
炫翔 + 5 技术引导讨论和指点奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-7-5 14:08:19 | 显示全部楼层
ysq101 发表于 2013-7-5 00:01
楼上解释得很清楚...只是文字有点乱~~~

这样描述就清楚点:
在 Copy 命令选择基点后,增加一个默认距离提示,其他和标准 Copy 一样

点评

这个默认的提示有什么作用?  详情 回复 发表于 2013-7-6 12:58
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-5 22:07:21 | 显示全部楼层
--@----- 发表于 2013-7-5 13:36
嗯感谢eachy大侠的帮忙, 帮了我不少,画图效率提高更快了 我在这里感谢他  下面是他写的代码真的是解决了 ...

08的CAD用上面代码就不能连续复制了。  eachy大侠做了修改 能连续复制了  现在已经很完美了  我再次感谢下eachy大侠。 {:soso_e112:}
  1. (defun c:xx (/ aa pt)
  2.   (IF (NULL *aa*)
  3.     (setq *aa* 100)
  4.   )
  5.   (vl-cmdf ".copy" (ssget) "" "m")
  6.   (command (setq pt (getpoint "\n指定基点:")))
  7.   (setq aa (getpoint pt (strcat "\n值<" (rtos *aa* 2 2) ">:")))
  8.   (if (NULL aa)
  9.     (setq aa *aa*)
  10.     (SETQ *aa* (distance pt aa))
  11.   )
  12.   (command aa)
  13. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 918个

财富等级: 财运亨通

发表于 2013-7-6 10:20:29 | 显示全部楼层
还是不能连续复制啊

点评

看cad版本,注意 一个有 m 一个没 m  详情 回复 发表于 2013-7-6 12:30
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-7-6 12:30:33 来自手机 | 显示全部楼层
NET-JOB 发表于 2013-7-6 10:20
还是不能连续复制啊

看cad版本,注意 一个有 m 一个没 m
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-7-6 12:58:13 | 显示全部楼层
eachy 发表于 2013-7-5 14:08
这样描述就清楚点:
在 Copy 命令选择基点后,增加一个默认距离提示,其他和标准 Copy 一样

这个默认的提示有什么作用?

点评

画图习惯不一样  详情 回复 发表于 2013-7-6 13:02
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-7-6 13:02:41 来自手机 | 显示全部楼层
newer 发表于 2013-7-6 12:58
这个默认的提示有什么作用?

画图习惯不一样
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-6 22:40:56 | 显示全部楼层
你想说的是复制阵列那种吧  那种实际不咋用的  用的话也有其他命令的  你要是按空格 一直整列上去  那咋结束呢  难道要按esc  那你平时的一般不阵列的复制呢 都用esc吗  esc种没有空格键好用吧 :)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-5-1 06:42 , Processed in 0.547926 second(s), 70 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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