[討論]想依倍數統一改變標註數值......哪位高手幫幫忙...
2 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[討論]想依倍數統一改變標註數值......哪位高手幫幫忙...
哪位高手幫幫忙...
我在圖面上某個部分.以圓圈框起來....再把圓圈及其內的所有物件.拷貝搬移後.再放大數倍...標上尺寸後跟實際尺寸不一樣..
所以想寫一程式......框選放大祥圖(含標註)...在選原位置圓圈..程式算出倍數..在依倍數改正標註數值..........這是我想做的.....
可是功力不夠....... .....
(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)
指令:
我在圖面上某個部分.以圓圈框起來....再把圓圈及其內的所有物件.拷貝搬移後.再放大數倍...標上尺寸後跟實際尺寸不一樣..
所以想寫一程式......框選放大祥圖(含標註)...在選原位置圓圈..程式算出倍數..在依倍數改正標註數值..........這是我想做的.....
可是功力不夠....... .....
(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)
指令:
yenbl- 一般會員
- 文章總數 : 89
年齡 : 68
來自 : 中壢市
職業 : 室內設計
愛好 : 繪圖..AutoLisp
個性 : 老實
使用年資 : 31年
使用版本 : 2005
經驗值 : 5531
威望值 : 111
注冊日期 : 2011-04-06
回復: [討論]想依倍數統一改變標註數值......哪位高手幫幫忙...
以上的省略…
;; (setq nh (/ (cdr dh) r_sca))
;;上面這一句改成下面這一句
(setq nh (rtos (/ (cdr dh) r_sca) 2 2))
...…
(entmod en)
)
)
(setq i (+ 1 i))
)
;;建議這裡可以再加個
(princ)
)
;; (setq nh (/ (cdr dh) r_sca))
;;上面這一句改成下面這一句
(setq nh (rtos (/ (cdr dh) r_sca) 2 2))
...…
(entmod en)
)
)
(setq i (+ 1 i))
)
;;建議這裡可以再加個
(princ)
)
Tiger&蘋果爸 寫到: 謝謝熱心回覆~< 積分 +1>
[公告]關於團隊成員的回文及貢獻
Atsai- 中級會員
- 文章總數 : 167
年齡 : 49
來自 : 台中
職業 : 工程
愛好 : 看漫畫
個性 : 樂天
使用年資 : 10
使用版本 : 2010
AutoCAD基礎篇等級 : 10星級
積分 : 8
經驗值 : 5947
威望值 : 524
注冊日期 : 2012-04-06
回復: [討論]想依倍數統一改變標註數值......哪位高手幫幫忙...
謝謝.......噯呀........看了老半天...原來.......太棒了....感恩...
yenbl- 一般會員
- 文章總數 : 89
年齡 : 68
來自 : 中壢市
職業 : 室內設計
愛好 : 繪圖..AutoLisp
個性 : 老實
使用年資 : 31年
使用版本 : 2005
經驗值 : 5531
威望值 : 111
注冊日期 : 2011-04-06
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章