明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1964|回复: 4

[求助]解锁dim标注数值,怎么编写?

[复制链接]
发表于 2010-10-28 09:15:00 | 显示全部楼层 |阅读模式

以下是锁定dim标注数值的lsp,可作参考?

(defun C:TT1 (/ ENT ENTT OBJ)
  (setq ENT (nentselp "\n选取标註: "))
  (if (and ENT
    (= "DIMENSION"
       (cdr (assoc 0 (entget (setq ENTT (last (last ENT))))))
    )
      )
    (progn
      (vlax-for OBJ
      (vla-item
        (vla-get-blocks
   (vla-get-activedocument (vlax-get-acad-object))
        )
        (cdr (assoc 2 (entget ENTT)))
      )
 (if (equal (vla-get-objectname OBJ) "AcDbMText")
   (setq TXT (vla-get-textstring OBJ))
 )
      )
      (vla-put-textoverride
 (vlax-ename->vla-object ENTT)
 TXT
      )
    )
  )
  (princ)
)

发表于 2010-10-28 22:26:00 | 显示全部楼层

(defun c:TRDIM (/ ent pt1 pt2 pt3 pt9 ent1)
 (setq ent (entget (car (entsel))))
           ;選擇線段圖元,將其描述串列置於ent
 (setq pt1 (cdr (assoc 42 ent)))
           ;取尺寸線標註長度(描述串列)置於pt1
; (setq pt2 (cdr (assoc 1 ent)))
           ;取尺寸線標註長度修改後(描述串列)置於pt2
; (setq pt3 (cdr (assoc 3 ent)))
           ;取尺寸線標註長度修改後(描述串列)置於pt3
 (setq pt9 "")
 (setq ent1 (subst (cons 1 pt9) (assoc 1 ent) ent))
         ;以新終點座標點對(dotted pair)替換ent中的舊終點座標點對
 (entmod ent1) ;更新圖形資料庫中該線段的資料
(princ)
)
 (prompt " ------ <<c:TRDIM>>------")
 (prin1)

 

发表于 2010-10-28 22:36:00 | 显示全部楼层
(defun C:TT2 (/ ENT ENTT OBJ)                                            
  (setq ENT (nentselp "\n选取标注: "))                                   
  (if (and ENT                                                           
    (= "DIMENSION"                                                       
       (cdr (assoc 0 (entget (setq ENTT (last (last ENT))))))            
    )                                                                    
      )                                                                  
    (progn                                                               
      (vlax-for OBJ                                                      
      (vla-item                                                          
        (vla-get-blocks                                                  
   (vla-get-activedocument (vlax-get-acad-object))                       
        )                                                                
        (cdr (assoc 2 (entget ENTT)))                                    
      )                                                                  
 (if (equal (vla-get-objectname OBJ) "AcDbMText")                        
   (setq TXT (vla-get-textstring OBJ))                                   
 )                                                                       
      )                                                                  
      (vla-put-textoverride                                              
 (vlax-ename->vla-object ENTT)                                           
; TXT   将TXT改成""                                                                  
  ""     
                                                                
      )                                                                  
    )                                                                    
  )                                                                      
  (princ)                                                                
)                                                                        
 楼主| 发表于 2010-10-29 09:56:00 | 显示全部楼层

ok了,感谢楼上的热心!

发表于 2011-4-7 21:57:21 | 显示全部楼层
两位的都是经典的好程序,不知能否改成多选呢?
用于局部放大!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-27 16:26 , Processed in 0.296751 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表