ppfkue 发表于 2010-1-19 15:44:00

求助:在自定义函数中如何加入command laymrg语句啊?

<p>我想用laymrg命令来完成图层合并操作,但是不希望根据系统提示一个一个输入,而是通过函数直接完成。比如:</p><p>(Defun C:lm ();合并层&nbsp; <br/>(setvar "CMDECHO" 0)<br/>&nbsp;(Command "laymrg" -----------------)<br/>&nbsp;(princ)<br/>)</p><p>我写了一个command语句为&nbsp;&nbsp;(Command "laymrg" "N" 5 "" "N" 1 "Y")&nbsp;&nbsp; 实现5层和1层合并,但是出不来我要的效果,请高手赐教。</p>

Andyhon 发表于 2010-1-19 16:19:00

要的效果...上传两个*.dwg文件加以解说分别如何?

xhq1954425 发表于 2010-1-19 17:49:00

<p>&nbsp;</p>

jaminth 发表于 2011-4-17 23:57:40

同样求助高手

lenlenq 发表于 2011-4-18 20:13:49


来写一个:
(defun c:lam (/ en1 en2 la)
(setq en1 (car (entsel "\n选择要合并的图层上的对象:")))
(redraw en1 3)
(setq en2 (car (entsel "\n选择目标图层上的对象:")))
(redraw en2 3)
(setq la (cdr (assoc 8 (entget en1))))
(if (/= la (getvar "clayer"))
    (command "laymrg" en1 "" en2 "y")
    (progn
      (mapcar 'redraw (list en1 en2) '(4 4))
      (alert "无法合并当前图层!")
    )
)
(princ)
)

jaminth 发表于 2011-4-24 16:49:09

楼上没有解决实际的问题!没有调用Name的参数!
比如:(Command "laymrg" "Name" 5 "" "Name" 1 "Y")   

669423907 发表于 2011-12-22 13:10:18

lenlenq 发表于 2011-4-18 20:13 static/image/common/back.gif
来写一个:
(defun c:lam (/ en1 en2 la)
(setq en1 (car (entsel "\n选择要合并的图层上的对象:"))) ...

请问lenlenq 大师,放不方便把他改成多选呢?谢谢!
页: [1]
查看完整版本: 求助:在自定义函数中如何加入command laymrg语句啊?