[求助]修改Z坐标
如图所示,在第一次输入Z坐标高度时为用户自定200,每选一次Z坐标递增一个数,增加多少由用户输入。
这是一个Z坐标输入程序,该如何修改,请指教!
(defun c:ZQ ()<BR> (setvar "cmdecho" 0)<BR> (setq elev (getreal "输入归位的高度: "))<BR> (if (= elev nil)<BR> (setq elev 0)<BR> )<BR> (setq ss (ssget))<BR> (if (= ss nil)<BR> (princ "0 个对象被执行。")<BR> (progn<BR> (setq Num1 (sslength ss))<BR> (command "change" ss "" "p" "E" elev "")<BR> (setq i 0)<BR> (while (setq ent (ssname ss i))<BR> (setq entlist (entget ent))<BR> (setq entlist (change_point entlist 10 elev))<BR> (cond<BR> ((or (eq (cdr (assoc 0 entlist)) "3DFACE")<BR> (eq (cdr (assoc 0 entlist)) "SOLID")<BR> )<BR> (setq entlist (change_point entlist 11 elev))<BR> (setq entlist (change_point entlist 12 elev))<BR> (setq entlist (change_point entlist 13 elev))<BR> )<BR> ((eq (cdr (assoc 0 entlist)) "LINE")<BR> (setq entlist (change_point entlist 11 elev))<BR> )<BR> ((eq (cdr (assoc 0 entlist)) "POLYLINE")<BR> (cond<BR> ((eq 8 (boole 1 (cdr (assoc 70 entlist)) 8))<BR> (while<BR> (eq<BR> "VERTEX"<BR> (cdr (assoc<BR> 0<BR> (setq entlist (entget (setq ent (entnext ent))))<BR> )<BR> )<BR> )<BR> (setq entlist (change_point entlist 10 elev))
)<BR> )<BR> )<BR> )<BR> )<BR> (setq i (1+ i))<BR> )<BR> (princ Num1)<BR> (princ "个对象被执行")<BR> )<BR> )<BR> (command "regenall")<BR> (setvar "cmdecho" 1)<BR>)
(defun change_point (elist point el)<BR> (setq xyz (assoc point elist))<BR> (setq elist<BR> (subst<BR> (list point (nth 1 xyz) (nth 2 xyz) el)<BR> (assoc point elist)<BR> elist<BR> )<BR> )<BR> (entmod elist)<BR> (setq elist elist)<BR>)
(princ) 怎么还没人进来关心一下呢? 我也很想关心你,可是俺也不懂啊 哈哈 <p>很好 只能 顶一下 </p>
页:
[1]