my_autocad 发表于 2007-9-30 10:37:00

[求助]选择填充图案后,直接加角度,更新图案

本帖最后由 作者 于 2007-10-2 22:22:49 编辑 <br /><br /> <p>填充图案加角度</p><p>做铺装图时常常要修改填充图案的角度以适合需要,如要为图案的角度为12。3356456,加45度,通常要复制角度到计算器里去,加上45度后,再复制到角度框里去,非常麻烦,能不能先选择填充图案后,输入要加的角度值,图案自动更新啊,LSP程序是怎么样的呢?</p><p>(defun c:ok ()<br/>(setq a (entget(car(entsel))))<br/>(setq b (assoc 52 a))<br/>(setq d (cdr b))<br/>(setq c (getint "\n请输入角度:"))<br/>(setq e (cons 52 (+ d c)))<br/>(setq a (subst e b a))<br/>(entmod a)<br/>)</p><p>这个程序有问题</p><p>1、角度值不对,如0度变到45度,对话框的里值,不正确</p><p>2、图案不能自动更新,要双击才能手动更新</p>

ZZXXQQ 发表于 2007-10-2 22:33:00

本帖最后由 作者 于 2007-10-3 10:03:00 编辑



;明经 ZZXXQQ 填充转角
(DEFUN C:TT ()
(SETVAR "CMDECHO" 0)
(IF (AND (PRINC "\nSelect A Hatch 选择填充 :") (SETQ SS (SSGET '((0 . "HATCH")))))
(IF (SETQ AN (GETREAL "\nRotate Angle 旋转角度 <DEG> :")) (PROGN
   (SETQ I -1)
   (REPEAT (SSLENGTH SS)
    (SETQ EN (SSNAME SS (SETQ I (1+ I)))
               ENT (ENTGET EN)
               ANG (+ (/ (* (CDR (ASSOC 52 ENT)) 180) PI) AN))
    (IF (= (SUBSTR (CDR (ASSOC 2 ENT)) 1 2) "_U")
   (COMMAND "-HATCHEDIT" EN "" "" ANG "" "")
   (COMMAND "-HATCHEDIT" EN "" "" "" ANG)
    )
   )
))
)
(SETVAR "CMDECHO" 1)
(PRINC)
)

my_autocad 发表于 2007-10-2 22:52:00

<p>Rotate Angle 旋转角度 &lt;DEG&gt; :30<br/>未知命令“TT”。按 F1 查看帮助。</p><p>程序完全能用,但有上面的提示,估计是commnad影响的</p><p>一次选择多个图案,只会改变最后一个图案,</p><p>要么选多个都变化,要么,只允许选择一个图案</p><p>呵呵,谢谢<strong><font face="Verdana" color="#da2549">ZZXXQQ这么晚还在看贴</font></strong></p>

ZZXXQQ 发表于 2007-10-3 10:04:00

2楼已改

dkj0322 发表于 2010-10-11 11:59:00

<p><font face="Verdana"><font face="Verdana">谢谢楼上的分享,参考下,很感激</font></font></p>

depgfdepgf 发表于 2014-1-8 08:30:17

谢谢分享,支持!

sunfj 发表于 2022-4-30 01:44:56

ZZXXQQ 发表于 2007-10-2 22:33


太棒了,你。收了。
页: [1]
查看完整版本: [求助]选择填充图案后,直接加角度,更新图案