[求助]选择填充图案后,直接加角度,更新图案
本帖最后由 作者 于 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> 本帖最后由 作者 于 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)
)
<p>Rotate Angle 旋转角度 <DEG> :30<br/>未知命令“TT”。按 F1 查看帮助。</p><p>程序完全能用,但有上面的提示,估计是commnad影响的</p><p>一次选择多个图案,只会改变最后一个图案,</p><p>要么选多个都变化,要么,只允许选择一个图案</p><p>呵呵,谢谢<strong><font face="Verdana" color="#da2549">ZZXXQQ这么晚还在看贴</font></strong></p> 2楼已改 <p><font face="Verdana"><font face="Verdana">谢谢楼上的分享,参考下,很感激</font></font></p> 谢谢分享,支持! ZZXXQQ 发表于 2007-10-2 22:33
太棒了,你。收了。
页:
[1]