wengsg 发表于 2005-1-21 11:04:00

[求助]修改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)

wengsg 发表于 2005-1-21 19:28:00

怎么还没人进来关心一下呢?

ccaaz 发表于 2005-1-22 08:36:00

我也很想关心你,可是俺也不懂啊       哈哈

flfcegu168 发表于 2008-4-9 23:38:00

<p>很好&nbsp;只能 顶一下&nbsp; </p>
页: [1]
查看完整版本: [求助]修改Z坐标