一键选中复制,阵列等产生的新对象
经常碰到这样的问题:修改 阵列、复制后所有新图元的特性什么的。如果能一次全部选中复制后产生的新对象就好了。
简单的说就是编一个函数实现,选择的‘P’那样的功能。输入一个字母就能选中新产生的对象。
请高手赐教!!!!
龙龙仔大侠好像有一个j的透明命令,但是找不到了。希望有的朋友献上一个,在下不胜感激!
另外我在论坛里面搜索了相关的内容一并附上。
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=66461&page=1#pid352340
Ref:
http://bbs.mjtd.com/thread-4956-2-1.html 自己先顶一下 这个问题好久没解决了,高手们,是你们大显身手的时候了 Andyhon 发表于 2013-5-9 19:42 static/image/common/back.gif
Ref:
http://bbs.mjtd.com/thread-4956-2-1.html
多谢大侠出手,如果后面没有更给力的回答,币就给你了 Andyhon 发表于 2013-5-9 19:42 static/image/common/back.gif
Ref:
http://bbs.mjtd.com/thread-4956-2-1.html
对了,大侠能否想办法,把那个该死的 ’ 去掉,每次输入它很烦的 去掉'是不可能的
因为是透明调用
你可以更改你的菜单文件
在ctrl/shift+鼠标右键菜单里
加上一个选项----定义宏为'j
当你要使用'j的时候
在菜单中选
或者添加一个按钮菜单
同样将宏设为'j 本帖最后由 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
)
masterlong 发表于 2013-5-9 20:57 static/image/common/back.gif
去掉'是不可能的
因为是透明调用
多谢!我知道了 jicqj 发表于 2013-5-9 21:35 static/image/common/back.gif
;;曾经写了个模拟复制程序稍微修改一下 也可以实现镜像、或者其他。
;;by明经通道 jicqj2013.5.9 感谢 ...
多谢!楼主辛苦了,很好用
页:
[1]
2