![]() |
请帮我查一下这段lisp问题出在哪(图),在线等!
请帮我查一下这段lisp问题出在哪(图),在线等!
www.dimcax.com 请帮我查一下这段lisp问题出在哪(图),在线等! 请教高手: 我想要做到附件中图片(左)侧的要求,但是只做到图中(右)侧的程序,帮我分析一下问题到底出在哪?谢谢! (defun c:t12() (setq cen1 (getpoint "\n中心点: ")) (setq rr1 (getdist cen1 "\n大圆半径: ")) (command "circle" cen1 rr1) (setq en1 (entlast)) (command "circle" cen1 "d" rr1) (setq cen2 (polar cen1 0 rr1)) (setq rr2 (getdist cen2 "\n小圆半径: ")) (setq nn (getint "\n重复几次 <8>: ")) (if (null nn) (setq nn 8)) (setq ang 0 ) (setq angdd (/ (* pi 2) nn)) (repeat nn (command "circle" cen2 rr2) (setq en2 (entlast)) (command "trim" en1 en2 "" (list en2 (polar cen1 ang (- rr1 rr2))) (list en1 cen2) "") (setq ang (+ ang angdd)) (setq cen2 (polar cen1 ang rr1)) ) (prin1) ) d (defun c:t12 () (setvar "osmode" 0) (setq cen1 (getpoint "\n中心點: ")) (setq rr1 (getdist cen1 "\n大圓半徑: ")) (command "circle" cen1 rr1) (setq en1 (entlast)) (command "circle" cen1 "d" rr1) (setq cen2 (polar cen1 0 rr1)) (setq rr2 (getdist cen2 "\n小圓半徑: ")) (setq nn (getint "\n重複幾次 <8>: ")) (if (null nn) (setq nn 8) ) (setq ang 0) (setq angdd (/ (* pi 2) nn)) (repeat nn (command "circle" cen2 rr2) (setq en2 (entlast)) (command "trim" en1 en2 "" (list en2 (polar cen1 ang (- rr1 rr2))) (list en1 cen2) "" ) (setq ang (- ang angdd)) (setq cen2 (polar cen1 ang rr1)) ) (prin1) ) 要努力学习,不进则退 网络u盘: 谢谢版主,可是为什么循环里 (setq ang (- ang angdd))是用减而不是用加呢?我的是按按顺时针画的,按道理来说不是一样的啊?? d 當然不一樣,因trim的關係,保留下來的en1會有所改變 要努力学习,不进则退 网络u盘: 我明白了,trim后,cad是默认保留顺时钟方向的弧吗?谢谢版主~~ d |
| 所有的时间均为北京时间。 现在的时间是 04:17 PM. |