[求助]解锁dim标注数值,怎么编写?
<p>以下是锁定dim标注数值的lsp,可作参考?</p><p>(defun C:TT1 (/ ENT ENTT OBJ)<br/> (setq ENT (nentselp "\n选取标註: "))<br/> (if (and ENT<br/> (= "DIMENSION"<br/> (cdr (assoc 0 (entget (setq ENTT (last (last ENT))))))<br/> )<br/> )<br/> (progn<br/> (vlax-for OBJ<br/> (vla-item<br/> (vla-get-blocks<br/> (vla-get-activedocument (vlax-get-acad-object))<br/> )<br/> (cdr (assoc 2 (entget ENTT)))<br/> )<br/> (if (equal (vla-get-objectname OBJ) "AcDbMText")<br/> (setq TXT (vla-get-textstring OBJ))<br/> )<br/> )<br/> (vla-put-textoverride<br/> (vlax-ename->vla-object ENTT)<br/> TXT<br/> )<br/> )<br/> )<br/> (princ)<br/>) <br/></p> <p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana">(defun c:TRDIM (/ ent pt1 pt2 pt3 pt9 ent1)<br/> (setq ent (entget (car (entsel))))<br/> ;選擇線段圖元,將其描述串列置於ent<br/> (setq pt1 (cdr (assoc 42 ent)))<br/> ;取尺寸線標註長度(描述串列)置於pt1<br/>; (setq pt2 (cdr (assoc 1 ent)))<br/> ;取尺寸線標註長度修改後(描述串列)置於pt2<br/>; (setq pt3 (cdr (assoc 3 ent)))<br/> ;取尺寸線標註長度修改後(描述串列)置於pt3<br/> (setq pt9 "")<br/> (setq ent1 (subst (cons 1 pt9) (assoc 1 ent) ent))<br/> ;以新終點座標點對(dotted pair)替換ent中的舊終點座標點對<br/> (entmod ent1) ;更新圖形資料庫中該線段的資料<br/>(princ)<br/>)<br/> (prompt " ------ <<c:TRDIM>>------")<br/> (prin1)</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana"></font> </p> <font style="BACKGROUND-COLOR: #ffffff" face="Verdana">(defun C:TT2 (/ ENT ENTT OBJ) <br/> (setq ENT (nentselp "\n选取标注: ")) <br/> (if (and ENT <br/> (= "DIMENSION" <br/> (cdr (assoc 0 (entget (setq ENTT (last (last ENT)))))) <br/> ) <br/> ) <br/> (progn <br/> (vlax-for OBJ <br/> (vla-item <br/> (vla-get-blocks <br/> (vla-get-activedocument (vlax-get-acad-object)) <br/> ) <br/> (cdr (assoc 2 (entget ENTT))) <br/> ) <br/> (if (equal (vla-get-objectname OBJ) "AcDbMText") <br/> (setq TXT (vla-get-textstring OBJ)) <br/> ) <br/> ) <br/> (vla-put-textoverride <br/> (vlax-ename->vla-object ENTT) <br/><font color="#ff0000">; TXT 将TXT改成"" <br/> "" </font> <br/> ) <br/> ) <br/> ) <br/> (princ) <br/>) </font> <p>ok了,感谢楼上的热心!</p> 两位的都是经典的好程序,不知能否改成多选呢?
用于局部放大!
页:
[1]