[已解決][問題] 請問等高線圖,如何依比例縮放,而不改變其高程值呢?
3 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 2D討論
第1頁(共1頁)
darktonny- 一般會員
- 文章總數 : 26
年齡 : 40
來自 : 台中市
職業 : 繪圖小弟
愛好 : 電動
個性 : 隨和
使用年資 : 10年
使用版本 : 2023
經驗值 : 3846
威望值 : 6
注冊日期 : 2014-07-23
回復: [已解決][問題] 請問等高線圖,如何依比例縮放,而不改變其高程值呢?
2個辦法
1.)全選轉圖塊改圖塊XY比例炸開 (剛剛測試。這個好像不行)
2.)縮放比例。寫LISP將所有高程換算比例更改 (剛剛測試。這個好像也不一定對,有些高程不一定跟著比例倍數增加,還須測試看看)
供您參考
1.)全選轉圖塊改圖塊XY比例炸開 (剛剛測試。這個好像不行)
2.)縮放比例。寫LISP將所有高程換算比例更改 (剛剛測試。這個好像也不一定對,有些高程不一定跟著比例倍數增加,還須測試看看)
供您參考
masao_8- 初級會員
- 文章總數 : 70
年齡 : 31
來自 : 台中
職業 : 製圖
愛好 : 動漫
個性 : 內向
使用年資 : 4年
使用版本 : 2012
積分 : 1
經驗值 : 1312
威望值 : 126
注冊日期 : 2022-06-03
darktonny likes this post
回復: [已解決][問題] 請問等高線圖,如何依比例縮放,而不改變其高程值呢?
感謝回覆~雖然都不行..XDmasao_8 寫到:2個辦法
1.)全選轉圖塊改圖塊XY比例炸開 (剛剛測試。這個好像不行)
2.)縮放比例。寫LISP將所有高程換算比例更改 (剛剛測試。這個好像也不一定對,有些高程不一定跟著比例倍數增加,還須測試看看)
供您參考
darktonny- 一般會員
- 文章總數 : 26
年齡 : 40
來自 : 台中市
職業 : 繪圖小弟
愛好 : 電動
個性 : 隨和
使用年資 : 10年
使用版本 : 2023
經驗值 : 3846
威望值 : 6
注冊日期 : 2014-07-23
回復: [已解決][問題] 請問等高線圖,如何依比例縮放,而不改變其高程值呢?
第2個行得通,上次測試點錯高程,若是由高程0做縮放是可以的
但若不是高程0,就須看基準點高程為多少,例如基準點高程為20 縮放2倍後 原本在0會變-20 求原高程 新高程除以縮放尺寸+基準高程除以縮放尺寸=原高程 -20除以2+(20除以2)=0
原高程為40 以高程20為基準會變為高程60 60/2+(20/2)=40
以上
但若不是高程0,就須看基準點高程為多少,例如基準點高程為20 縮放2倍後 原本在0會變-20 求原高程 新高程除以縮放尺寸+基準高程除以縮放尺寸=原高程 -20除以2+(20除以2)=0
原高程為40 以高程20為基準會變為高程60 60/2+(20/2)=40
以上
masao_8- 初級會員
- 文章總數 : 70
年齡 : 31
來自 : 台中
職業 : 製圖
愛好 : 動漫
個性 : 內向
使用年資 : 4年
使用版本 : 2012
積分 : 1
經驗值 : 1312
威望值 : 126
注冊日期 : 2022-06-03
回復: [已解決][問題] 請問等高線圖,如何依比例縮放,而不改變其高程值呢?
(defun c:test()
(setvar "cmdecho" 0)
(setq osm (getvar "osmode"));記錄物件鎖點
(princ "\n->請選擇需縮放物件或 <退出>:")
(setq ss1 (ssget '((0 . "lwpolyline,SPLINE"))))
(if ss1
(progn
(vl-cmdf "_.undo" "_begin")
(if (= (setq ucs_key (getvar 'worlducs)) 0) (vl-cmdf "_.ucs" "_world"))
(setvar "osmode" 0)
(setq gpoint (getpoint "\n->請點選基準點:"))
(setq sc (getreal "\n->請輸入縮放比例:"))
(vl-cmdf "_.scale" ss1 "" gpoint sc)
(setq i 0)
(repeat (sslength ss1)
(setq ssn (ssname ss1 i))
(setq ssdata (entget ssn))
(setq old_high (cdr (assoc 38 ssdata)))
(setq new_ent (entget ssn))
(setq new_ent (subst (cons 38 (/ old_high sc)) (assoc 38 (entget ssn)) new_ent))
(entmod new_ent)
(setq i (1+ i))
);repeat
(setvar "osmode" osm) ;將系統變數恢復
(vl-cmdf "_.undo" "_end")
);progn
);if
)
供參考,可自行修改您要的功能,我只更改聚合線,若有雲形線就要改Z值
(setvar "cmdecho" 0)
(setq osm (getvar "osmode"));記錄物件鎖點
(princ "\n->請選擇需縮放物件或 <退出>:")
(setq ss1 (ssget '((0 . "lwpolyline,SPLINE"))))
(if ss1
(progn
(vl-cmdf "_.undo" "_begin")
(if (= (setq ucs_key (getvar 'worlducs)) 0) (vl-cmdf "_.ucs" "_world"))
(setvar "osmode" 0)
(setq gpoint (getpoint "\n->請點選基準點:"))
(setq sc (getreal "\n->請輸入縮放比例:"))
(vl-cmdf "_.scale" ss1 "" gpoint sc)
(setq i 0)
(repeat (sslength ss1)
(setq ssn (ssname ss1 i))
(setq ssdata (entget ssn))
(setq old_high (cdr (assoc 38 ssdata)))
(setq new_ent (entget ssn))
(setq new_ent (subst (cons 38 (/ old_high sc)) (assoc 38 (entget ssn)) new_ent))
(entmod new_ent)
(setq i (1+ i))
);repeat
(setvar "osmode" osm) ;將系統變數恢復
(vl-cmdf "_.undo" "_end")
);progn
);if
)
供參考,可自行修改您要的功能,我只更改聚合線,若有雲形線就要改Z值
masao_8- 初級會員
- 文章總數 : 70
年齡 : 31
來自 : 台中
職業 : 製圖
愛好 : 動漫
個性 : 內向
使用年資 : 4年
使用版本 : 2012
積分 : 1
經驗值 : 1312
威望值 : 126
注冊日期 : 2022-06-03
Atsai- 中級會員
- 文章總數 : 167
年齡 : 49
來自 : 台中
職業 : 工程
愛好 : 看漫畫
個性 : 樂天
使用年資 : 10
使用版本 : 2010
AutoCAD基礎篇等級 : 10星級
積分 : 8
經驗值 : 5855
威望值 : 524
注冊日期 : 2012-04-06
darktonny likes this post
回復: [已解決][問題] 請問等高線圖,如何依比例縮放,而不改變其高程值呢?
masao_8 寫到:第2個行得通,上次測試點錯高程,若是由高程0做縮放是可以的
但若不是高程0,就須看基準點高程為多少,例如基準點高程為20 縮放2倍後 原本在0會變-20 求原高程 新高程除以縮放尺寸+基準高程除以縮放尺寸=原高程 -20除以2+(20除以2)=0
原高程為40 以高程20為基準會變為高程60 60/2+(20/2)=40
以上
感謝教學,上次第1個方法,轉成圖塊 我剛剛試有成功了,上次可能鎖點誤鎖跑掉,
剛剛重試有成功~
至於第2個方法,您說的若是雲形線要改Z值,是改下面這行嗎?
(setq ss1 (ssget '((0 . "lwpolyline,SPLINE"))))
我只會加入lisp不懂語法..
![頭暈目眩](/users/3215/23/55/09/smiles/712308.gif)
darktonny- 一般會員
- 文章總數 : 26
年齡 : 40
來自 : 台中市
職業 : 繪圖小弟
愛好 : 電動
個性 : 隨和
使用年資 : 10年
使用版本 : 2023
經驗值 : 3846
威望值 : 6
注冊日期 : 2014-07-23
回復: [已解決][問題] 請問等高線圖,如何依比例縮放,而不改變其高程值呢?
Atsai 寫到:
1.等高線做成圖塊
2.調整建好的圖塊x、y比例,z比例為1.0,假設放大10倍,則x、y比例=10,z比例=1
3.炸掉圖塊,等高線成為直線=>利用pedit,多重,接合即可
這樣應該也可以
這方法剛測試有成功,非常感謝~
darktonny- 一般會員
- 文章總數 : 26
年齡 : 40
來自 : 台中市
職業 : 繪圖小弟
愛好 : 電動
個性 : 隨和
使用年資 : 10年
使用版本 : 2023
經驗值 : 3846
威望值 : 6
注冊日期 : 2014-07-23
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 2D討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章