samshs 发表于 2009-5-20 02:48:00

请求高手解决(批量修改填充图案名称)

<p>请高手帮我修改一下 看下那里错啦!程序结果是想:输入命令ED 选择多个填充物体后回车,把刚选择的填充图案名称都改名“ANSI31”。十分感谢!</p><p>(defun C:ED(/ ha n e e1)<br/>&nbsp; (setq ha (ssget '((0 . "HATCH"))))<br/>&nbsp; (setq n 0)<br/>&nbsp; (repeat (sslength ha)<br/>&nbsp;&nbsp;&nbsp; (setq e (ssname ha n))<br/>&nbsp; (setq e1 (entget e))<br/>&nbsp;&nbsp;&nbsp; (if (="HATCH" (cdr (assoc 0 e1))<br/>&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp; (setq e1 (subst (cons 2 "ANSI31") (assoc 2 e1) e1))<br/>&nbsp;&nbsp;&nbsp; (entmod e1)<br/>&nbsp;&nbsp;&nbsp; ))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq n (1+n))))<br/>&nbsp; <br/>&nbsp; (command "-hatchedit" ha "p" e1 ))<br/></p>

ZZXXQQ 发表于 2009-5-20 12:12:00

有时候空格是必须的。先试试看。
(defun C:ED (/ ha n e1)
(if (setq ha (ssget '((0 . "HATCH")))) (progn
(setq n 0)
(repeat (sslength ha)
   (setq e1 (entget (ssname ha n)))
   (setq e1 (subst (cons 2 "ANSI31") (assoc 2 e1) e1))
   (entmod e1)
   (setq n (1+ n))
)
))
(princ)
)

samshs 发表于 2009-5-21 13:58:00

<p>可以用啦 非常感謝!ZZXXQQ</p>

happyboy75 发表于 2009-6-7 10:54:00

<p>不错 收集</p><p></p>

894560869 发表于 2009-10-20 20:44:00

请问如果A,B,C种图案呢?
页: [1]
查看完整版本: 请求高手解决(批量修改填充图案名称)