明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2930|回复: 4

[讨论] 你见过这么复杂的多重复制吗?(源码)

[复制链接]
发表于 2009-12-13 17:08 | 显示全部楼层 |阅读模式

多重复制可以一行代码就搞定,不过本人吃饱了没事做,搞个不是一行代码的(我用了蛮久还没发现有BUG的).

(defun c:copym(/ a b) ;主函数开始
(setq a(cadr(ssgetfirst)));判断当前图形是否有既被夹取又被选取的,如果有则把这个选择集赋予变量a。
 (if(= a nil) ;如果变量a为空时
  (progn
  (setq b(ssget));创建一选择集,并将选择集名字赋予变量B

    (if(= b nil);####IF开始
      (progn
       (princ);静默退出
      )
     (progn;####progn开始

  (command "copy" b "" "m" )
   )
   )
   );调用COPY命令,其中B为选择集
  (progn
  (command "copy" a "" "m" ));调用COPY命令,其中A为选择集名字
 );IF结束
(princ);静默退出
);主函数结束

发表于 2010-6-7 00:18 | 显示全部楼层
我觉得多重复制,应该以前一个复制的位置为基准点复制下一个图元,依次类推
比如我选择原图元(0物体)复制一个1物体,距离100;那么我再输入300的时候,这个300是从1物体开始计算,而不是从0物体开始计算

点评

看来你也是常绘图,你的这个建议很实用。用lisp可能容易办到 1、将300加100后复制第二个对象 2、用entlast获取第条一个复制的对象,再copy  发表于 2010-12-14 10:57
发表于 2010-6-7 01:46 | 显示全部楼层

作为一个范例程序还是不错的

发表于 2010-12-13 21:58 | 显示全部楼层
这个功能还是蛮有用的
发表于 2010-12-13 23:46 | 显示全部楼层
值得学习
谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 13:20 , Processed in 0.348388 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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