本帖最后由 作者 于 2008-8-19 18:24:41 编辑
(SETVAR "CMDECHO" 0) (SETQ TR1 (STRCAT "\n请输入偏移距离:<" (ITOA (FIX (GETVAR "OFFSETDIST"))) "> ")) (SETQ D1 (GETREAL TR1)) (IF (= D1 NIL) (SETQ D1 (GETVAR "OFFSETDIST")) ) (SETVAR "OFFSETDIST" D1) (PROMPT "\n请选择偏移对象:") (SETQ S1 (SSGET)) (IF (= S1 NIL) (QUIT) ) (SETQ P1 (GETPOINT "\n请指定方向第一点:")) (SETQ P2 (GETPOINT P1 "\n请指定方向第二点:")) (SETQ D2 (GETDIST P2 "\n请输入距离:")) (SETQ ANG1 (ANGLE P1 P2)) (SETQ IN1 (/ D2 D1)) (SETQ IN2 0) (WHILE (> IN1 1) (SETQ OS1 (GETVAR "OSMODE")) (SETVAR "OSMODE" 0) (SETQ IN2 (+ IN2 1)) (SETQ IN1 (- IN1 1)) (SETQ P3 (POLAR P1 ANG1 (* D1 IN2))) (vl-cmdf "COPY" S1 "" P1 P3) (SETVAR "OSMODE" OS1) ) (SETVAR "CMDECHO" 1) (PRINC) 此程序是实现同一个对象沿一个方向同距离多次复制,实现起来没有问题,但一旦发现不合适时,要重新布置时,用CAD的U命令发现要多次后退(程序调用呢COPY命令)。有没有其它办法改变一下 |