在240厚墙上画门的程序
<FONT face=宋体 size=2>编了一个在240厚墙上画门的程序:<BR>(DEFUN C:DOOR1 (/ P1 P2 pt1 pt2 pt3 pt4 ) (SETQ P1 (GETPOINT "\nSelect door hinge point : ")<BR>P2 (GETPOINT P1 "\nSelect door second point : ")<BR>DIST_1 (getdist "\n门宽:")<BR>PT_SIDE (GETPOINT "\nSelect door open side : ")<BR>ANGE_1 (ANGLE P1 P2) ANGE_2 (/ PI 2)<BR>P2 (polar P1 ANGE_1 DIST_1))<BR>(SETvar "OSMODE" 0)<BR>(setq pt1 (polar P1 (+ ANGE_1 (* 0.5 pi)) 120))<BR>(setq pt2 (polar P1 (+ ANGE_1 (* 1.5 pi)) 120))<BR>(setq pt3 (polar P2 (+ ANGE_1 (* 0.5 pi)) 120))<BR>(setq pt4 (polar P2 (+ ANGE_1 (* 1.5 pi)) 120))<BR>(COMMAND "BREAK" pt1 "F" pt1 pt3)<BR>(COMMAND "BREAK" pt2 "F" pt2 pt4)<BR>(command "line" pt1 pt2 "")<BR>(command "line" pt3 pt4 "")<BR>(SETQ PT_TMP2 (POLAR P1 (+ ANGE_1 ANGE_2) 1000)<BR>PT_TMP3 (POLAR P1 (- ANGE_1 ANGE_2) 1000))<BR>(IF (< (DISTANCE PT_SIDE PT_TMP2) (DISTANCE PT_SIDE PT_TMP3))<BR>(SETQ ANGE_3 (+ ANGE_1 ANGE_2) ANGE_4 (+ ANGE_1 (/ PI 4)))<BR>(SETQ ANGE_3 (- ANGE_1 ANGE_2) ANGE_4 (- ANGE_1 (/ PI 4))))<BR>(SETQ PT_TMP2 (POLAR P1 ANGE_3 DIST_1)<BR>PT_TMP3 (POLAR P1 ANGE_4 DIST_1))<BR>(COMMAND "PLINE" P1 PT_TMP2 "A" "S" PT_TMP3 P2 "")<BR>) ;关闭PROGN及IF<BR>;(setvar "osmode" 32)<BR>(princ)<BR>有一点小问题,请高手指点<BR>如作一条辅助(方便定位门位置)穿过PT1,P1 ,PT2,程序执行后打断的不是PT1~PT3,而是PTI~PT2。(如没有辅助线,程序能正常执行)<BR></FONT> 好用,楼主还在吗
页:
[1]