[原创] 对比较乱的座标式标注进行对齐式标注
对比较乱的座标式标注进行对齐式标注,但只执行了一次循环,后面的不能执行,请各位多指教.(defun c:p_dim()<BR>(setvar "cmdecho" 0)<BR>(setq old_la (getvar "clayer"))<BR>(setvar "clayer" "尺寸线层")<BR>(prompt "\n选择基准尺寸")<BR>(setq ent1 (entsel))<BR> (while (= nil ent1)<BR> (prompt "\n选择基准尺寸")<BR> (setq ent1 (entsel))<BR> )<BR>(setq en1 (entget (car ent1)))<BR>(setq uc1 (trans (cdr (assoc 10 en1))0 1))<BR>(command "ucs" "o" uc1)<BR>(setq po1 (trans (cdr (assoc 13 en1)) 0 1))<BR>(setq po2 (trans (cdr (assoc 14 en1)) 0 1))<BR>(prompt "\n选择更新尺寸")<BR>(setq i 0)<BR>(setq ent2 (ssget '((0 . "DIMENSION"))))<BR> (while (= nil ent2)<BR> (prompt "\n选择更新尺寸")<BR> (setq ent2 (ssget '((0 . "DIMENSION"))))<BR> )<BR> (repeat (sslength ent2)<BR> (progn<BR> (setq en2 (entget (ssname ent2 i)))<BR> (setq uc2 (trans (cdr (assoc 10 en2)) 0 1))<BR> (setq e3 (trans (cdr (assoc 13 en2)) 0 1))<BR> (setq e4 (trans (cdr (assoc 14 en2)) 0 1))<BR> (command "erase" ent1 "")<BR> (command "erase" ent2 "")<BR> (command "DIMORDINATE" po1 po2)<BR> (command "DIMCONTINUE" e3 "" "")<BR> )<BR> (setq i (1+ i))<BR> )<BR>(setvar "clayer" old_la)<BR>(princ)<BR>) (repeat (sslength ent2)<BR> (progn<BR> (setq en2 (entget (ssname ent2 i)))<BR> (setq uc2 (trans (cdr (assoc 10 en2)) 0 1))<BR> (setq e3 (trans (cdr (assoc 13 en2)) 0 1))<BR> (setq e4 (trans (cdr (assoc 14 en2)) 0 1))<BR> (command "DIMORDINATE" po1 po2)<BR> (command "DIMCONTINUE" e3 "" "")<BR> )<BR> (setq i (1+ i))<BR> )<BR> (command "erase" ent1 "");move<BR> (command "erase" ent2 "");move
页:
[1]