1真及时呀,是第二个if,谢了,2另外我写了个小程序,程序的功能对所选对象多重偏移可以往内偏移也可以往外偏多次,基本可以达目的,但感觉不太好,请帮忙简化一点,程序如下: ;选择1往外偏移(对象无内外之分的也选此项)/选择2往内偏移 ;命令为qq (defun c:qq (/ ss JL FX n nw col cs jll) (princ "\n★多对象偏移★\n选择偏移对象...") (and (setq ss (ssget)) (> (setq jl (getdist "\n输入偏移距离:")) 0) (> (setq cs (getint"\n请输入偏移次数<黪认为1>:")))) (initget "1 2") (setq nw (getkword"\n 请选择偏移方式:1-往外/2-往内:"));--------------------------这里如何设置默认值为1呀 (setq col (getint"\n请选择偏移颜色号:1红-2黄-3绿-4青-5蓝-6紫-7白:")) (if (not cs ) (setq cs 1)) (setq n 0 ) (cond ((= nw "1") (setq fx (getpoint "\n请点选偏移的外侧:")) (repeat (sslength ss) (setq jll jl) (setq dx (ssname ss n)) (repeat cs (command "offset" jll dx fx "") (vl-cmdf "chprop" (entlast) "" "c" col "") (setq jll (+ jll jl))) (setq n (1+ n)) )) ((= nw "2") (repeat (sslength ss) (setq jll jl) (setq dx (ssname ss n)) (setq p1 (car(acet-ent-geomextents dx)) p1 (list (car p1) (cadr p1)) p2 (cadr(acet-ent-geomextents dx)) p2 (list (car p2) (cadr p2)) fx (polar p1 (angle p1 p2) (/ (distance p1 p2) 2))) (repeat cs (command "offset" jll dx fx "") (vl-cmdf "chprop" (entlast) "" "c" col "") (setq jll (+ jll jl))) (setq n (1+ n)) )) ) (princ "\n★成功完成!!" ) (princ) ) |