明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 592|回复: 0

[讨论] 想依倍數統一改變標註數值......哪位高手幫幫忙...

[复制链接]
发表于 2013-8-16 16:47 | 显示全部楼层 |阅读模式
哪位高手幫幫忙...

我在圖面上某個部分.以圓圈框起來....再把圓圈及其內的所有物件.拷貝搬移後.再放大數倍...標上尺寸後跟實際尺寸不一樣..
所以想寫一程式......框選放大祥圖(含標註)...在選原位置圓圈..程式算出倍數..在依倍數改正標註數值..........這是我想做的.....

可是功力不夠....... .....

(defun c:dim_sca()                                                                 
(setq ss (ssget))                                                               
(setq i 0 cir nil)                                                               
(setq nn (sslength ss))                                                         
(repeat nn                                                                       
   (setq ename (ssname ss i))                                                     
   (setq en (entget ename))                                                      
   (setq enf (cdr (assoc 0 en)))                                                  
   (if (= enf "CIRCLE")                                                           
     (progn                                                                       
       (setq r1 (cdr (assoc 40 en)))                                             
       (if cir                                                                    
         (if (> r1 cir) (setq cir r1))                                            
         (setq cir r1)                                                            
       )                                                                          
     )                                                                           
   )                                                                              
   (setq i (+ 1 i))                                                               
)                                                                                
(setq en2 (entsel "\n選擇原位置外框圓 : "))                                      
(setq dxf (entget (car en2)))                                                   
(setq nam (cdr (assoc 0 dxf)))                                                   
(if (= nam "CIRCLE")                                                            
   (progn                                                                        
     (setq cir2 (cdr (assoc 40 dxf)))                                             

     (setq r_sca (fix (/ cir cir2)))                                             
   )                                                                              
)                                                                                
(setq i 0)                                                                       
(repeat nn                                                                       
   (setq ename (ssname ss i))                                                     
   (setq en (entget ename))                                                      
   (setq enf (cdr (assoc 0 en)))                                                  
   (if (= enf "DIMENSION")                                                        
     (progn                                                                       
       (setq dh (assoc 42 en))                                                   
       (setq oldh (assoc 1 en))                                                   
       (setq nh (/ (cdr dh) r_sca))                                               
       (setq newh (cons 1 nh))                                                   
       (setq en (subst newh oldh en))                                             
       (entmod en)                                                               
     )                                                                           
   )                                                                              
   (setq i (+ 1 i))                                                               
)                                                                                
)                                                                                 

=====================================
AutoCAD顯示錯誤

選擇原位置外框圓 : ; 錯誤: 損壞的 DXF 群組: (1 . 3.6)

指令:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-20 09:37 , Processed in 0.254801 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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