gao051525 发表于 2013-5-9 17:55:56

一键选中复制,阵列等产生的新对象

经常碰到这样的问题:
修改 阵列、复制后所有新图元的特性什么的。如果能一次全部选中复制后产生的新对象就好了。
简单的说就是编一个函数实现,选择的‘P’那样的功能。输入一个字母就能选中新产生的对象。
请高手赐教!!!!
龙龙仔大侠好像有一个j的透明命令,但是找不到了。希望有的朋友献上一个,在下不胜感激!
另外我在论坛里面搜索了相关的内容一并附上。
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=66461&page=1#pid352340

Andyhon 发表于 2013-5-9 17:55:57

Ref:
http://bbs.mjtd.com/thread-4956-2-1.html

gao051525 发表于 2013-5-9 17:57:06

自己先顶一下

gao051525 发表于 2013-5-9 18:01:16

这个问题好久没解决了,高手们,是你们大显身手的时候了

gao051525 发表于 2013-5-9 20:16:40

Andyhon 发表于 2013-5-9 19:42 static/image/common/back.gif
Ref:
http://bbs.mjtd.com/thread-4956-2-1.html

多谢大侠出手,如果后面没有更给力的回答,币就给你了

gao051525 发表于 2013-5-9 20:21:15

Andyhon 发表于 2013-5-9 19:42 static/image/common/back.gif
Ref:
http://bbs.mjtd.com/thread-4956-2-1.html

对了,大侠能否想办法,把那个该死的 ’ 去掉,每次输入它很烦的

masterlong 发表于 2013-5-9 20:57:47

去掉'是不可能的
因为是透明调用

你可以更改你的菜单文件
在ctrl/shift+鼠标右键菜单里
加上一个选项----定义宏为'j
当你要使用'j的时候
在菜单中选

或者添加一个按钮菜单
同样将宏设为'j

jicqj 发表于 2013-5-9 21:35:21

本帖最后由 jicqj 于 2013-5-9 21:37 编辑

;;曾经写了个模拟复制程序稍微修改一下 也可以实现镜像、或者其他。
;;by明经通道 jicqj2013.5.9   感谢caoin版主的关键程序
(defun c:ccp( / a b ss ss1 pt1 pt2 n)
(defun ->lastent ( / aa bb)
    (if (setq aa (entlast));可获取最后一个主图元
      (progn
      (while (setq bb (entnext aa));检查其后是否有子图元   
         (setq aa bb); 设定循环直到无子图元为止
            )
       );end progn
    );end if
   aa;返回真正最后一个主图元
    )

(setq a (->lastent)
      n 0)
(princ "请选择复制对象")
(if(setq ss1 (ssget ))   ;if100
(progn ;;progn100
       (setvar "cmdecho" 0);;关闭cad应答信息
(if (setq pt1 (getpoint "\n请指定基点:")) ;if200
(progn
      (while (and
            (setq n (1+ n))
            (setq pt2 (getpoint (strcat "\n请指定终点" (itoa n) ":") pt1))
            ss1
      )
(command "copy" SS1 "" pt1pt2 )
);;end while
);end progn
);end if200
(setq ss (ssadd))
    (while (setq b (entnext a));检查其后是否有子图元
         (setq ss (ssadd b ss)   
            a b)
    );end whie

(sssetfirst gripset ss)
(princ (strcat "\n共复制" (itoa (- n 1)) "次"))
(setvar "cmdecho" 1)
(princ)
);progn100
   );end if100



)

gao051525 发表于 2013-5-10 09:09:17

masterlong 发表于 2013-5-9 20:57 static/image/common/back.gif
去掉'是不可能的
因为是透明调用



多谢!我知道了

gao051525 发表于 2013-5-10 09:11:30

jicqj 发表于 2013-5-9 21:35 static/image/common/back.gif
;;曾经写了个模拟复制程序稍微修改一下 也可以实现镜像、或者其他。
;;by明经通道 jicqj2013.5.9   感谢 ...

多谢!楼主辛苦了,很好用
页: [1] 2
查看完整版本: 一键选中复制,阵列等产生的新对象