*<已解決>AutoCAD有沒有快速的方法能計算地形圖上小方格的交點?
4 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
*<已解決>AutoCAD有沒有快速的方法能計算地形圖上小方格的交點?
目前小弟我尚有一個非常困擾的問題,就是AutoCAD地形圖上的小方格與地形等高線的交點,有沒有快速方法可以算出地形圖上每一格方格上交點,如果有,請告訴我,謝謝!!
Tiger&蘋果爸,檔案我有寄給您!
Tiger&蘋果爸,檔案我有寄給您!
ilan0312- 新手(尚未報到升等一般會員)
- 文章總數 : 9
年齡 : 38
來自 : 台灣台北
職業 : 學生
愛好 : 漫畫、美食、美女
經驗值 : 5926
威望值 : 0
注冊日期 : 2008-09-12
回復: *<已解決>AutoCAD有沒有快速的方法能計算地形圖上小方格的交點?
最快的方式是透過AutoLISP程式來滿足,若沒有程式基礎倒是可以透過 資料萃取 DATAEXTRACTION指令(2008以上版本)。
進行 萃取座標值 時,直接過濾出 點 的座標值即可,資料萃取完畢後可以直接插入AutoCAD表格或是輸出成外部檔案(*.xls)
PS:參考步驟說明可以參考 F1 使用者說明。
※測完請回報,這是禮貌喔~問題若順利解決,請編輯該主題在前面加入<已解決>。
進行 萃取座標值 時,直接過濾出 點 的座標值即可,資料萃取完畢後可以直接插入AutoCAD表格或是輸出成外部檔案(*.xls)
PS:參考步驟說明可以參考 F1 使用者說明。
※測完請回報,這是禮貌喔~問題若順利解決,請編輯該主題在前面加入<已解決>。
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: *<已解決>AutoCAD有沒有快速的方法能計算地形圖上小方格的交點?
Tiger&蘋果爸 寫到:最快的方式是透過AutoLISP程式來滿足,若沒有程式基礎倒是可以透過 資料萃取 DATAEXTRACTION指令(2008以上版本)。
進行 萃取座標值 時,直接過濾出 點 的座標值即可,資料萃取完畢後可以直接插入AutoCAD表格或是輸出成外部檔案(*.xls)
PS:參考步驟說明可以參考 F1 使用者說明。
※測完請回報,這是禮貌喔~問題若順利解決,請編輯該主題在前面加入<已解決>。
謝謝蘋果爸您的熱心解說,最快的方法果然還是要用AutoLISP來解決,可惜我沒有程式的基礎,只好用DATAEXTRACTION指令試試看,不過還是要謝謝您提供的方法!
ilan0312- 新手(尚未報到升等一般會員)
- 文章總數 : 9
年齡 : 38
來自 : 台灣台北
職業 : 學生
愛好 : 漫畫、美食、美女
經驗值 : 5926
威望值 : 0
注冊日期 : 2008-09-12
回復: *<已解決>AutoCAD有沒有快速的方法能計算地形圖上小方格的交點?
不客氣~有問題請再提出來討論喔!!ilan0312 寫到:
謝謝蘋果爸您的熱心解說,最快的方法果然還是要用AutoLISP來解決,可惜我沒有程式的基礎,只好用DATAEXTRACTION指令試試看,不過還是要謝謝您提供的方法!
※測完請回報,這是禮貌喔~問題若順利解決,請編輯該主題在前面加入<已解決>。
※我會持續追蹤您的問題,不管有沒有解決要做個處理回應喔!
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: *<已解決>AutoCAD有沒有快速的方法能計算地形圖上小方格的交點?
用lisp就可以很快,順利處理
以下提供你lsp 及dcl檔
以下為dcl檔
以下提供你lsp 及dcl檔
- 代碼:
(defun c:exp14()
(setq dcl_id (load_dialog "exp14"))
(if (< dcl_id 0) (exit))
(setq chk_dd 10 area_sum 0 txt_num 0)
(setq txt "共選取: 0 物件")
(while (> chk_dd 1)
(new_dialog "exp14" dcl_id)
(set_tile "sel_num" txt)
(set_tile "area_sum" (rtos area_sum 2))
(action_tile "sel_key" "(sel_obj)")
(action_tile "pick_key" "(pick_obj)")
(action_tile "clear_key" "(set_tile \"area_sum\" \"0\")")
(action_tile "accept" "(ok_exp18)")
(setq chk_dd (start_dialog))
(cond ((= chk_dd 1) (draw_exp18))
((= chk_dd 2) (sel_obj2))
((= chk_dd 3) (pick_obj2))
)
)
(unload_dialog dcl_id)
)
(defun sel_obj()
(setq area_sum (atof (get_tile "area_sum")))
(done_dialog 2)
)
(defun sel_obj2()
(princ "\n選取封閉物件....")
(setq ss (ssget))
(setq i 0)
(repeat (sslength ss)
(setq ssn (ssname ss i))
(command "area" "o" ssn)
(setq s_area (getvar "area"))
(setq area_sum (+ area_sum s_area))
(setq i (1+ i))
)
(setq txt_num (+ txt_num (sslength ss)))
(setq txt (strcat "共選取: " (itoa txt_num) " 物件"))
)
(defun pick_obj()
(setq area_sum (atof (get_tile "area_sum")))
(done_dialog 3)
)
(defun pick_obj2()
(setq ss (ssadd))
(setq pt (getpoint "\選取內部點:"))
(while (/= pt nil)
(setvar "cecolor" "1")
(command "bpoly" pt "")
(command "area" "o" (entlast))
(setq ss (ssadd (entlast) ss))
(setq s_area (getvar "area"))
(setq area_sum (+ area_sum s_area))
(setq pt (getpoint "\選取內部點:"))
(setq txt_num (1+ txt_num))
)
(command "erase" ss "")
(setq txt (strcat "共選取: " (itoa txt_num) " 物件"))
(setvar "cecolor" "bylayer")
)
(defun ok_exp18()
(setq area_sum (get_tile "area_sum"))
(setq ww_key (get_tile "ww_key"))
(done_dialog 1)
)
(defun draw_exp18()
(if (= ww_key "1")
(progn
(setq pt (getpoint "\n插入點:"))
;(setq hh_1 (getvar "textsize"))
(setq hh (getvar "textsize"))
;(setq hh (getdist pt (strcat "\n字高<" (rtos hh_1 2) ">:")))
;(if (= hh nil) (setq hh hh1))
;(setq ang (getangle pt "\n旋轉角<0>:"))
;(if (= ang nil) (setq ang 0))
(setq ang 0)
(command "text" pt hh ang area_sum)
)
(progn
(princ (strcat "\n面積總和=" area_sum ))
(prin1)
)
)
)
(princ "\n< C:EXP14 >----面積計算")
(prin1)
以下為dcl檔
- 代碼:
exp14:dialog {
label="面積計算";
:boxed_column {
label="面積總和";
:edit_box {
key="area_sum";
}
}
:row {
:button {
label="選取物件";
key="sel_key";
}
:button {
label="點選點";
key="pick_key";
}
:button {
label="清除";
key="clear_key";
}
}
:text {
key="sel_num";
}
spacer_1;
:row {
:toggle {
label="寫入圖面";
key="ww_key";
value="1";
}
ok_cancel;
}
}
歐土- 新手(尚未報到升等一般會員)
- 文章總數 : 2
年齡 : 62
來自 : 台灣桃園縣
職業 : 無
經驗值 : 5889
威望值 : 0
注冊日期 : 2008-10-07
請問這個lsp只能寫出面積嗎
請問這個lsp只能寫出面積有可以寫出有幾條線通過格網嗎??
謝謝
謝謝
hung- 一般會員
- 文章總數 : 58
年齡 : 52
來自 : 台北
職業 : 電腦繪圖
愛好 : 看電影
個性 : 樂觀
使用年資 : 15
使用版本 : 2014
經驗值 : 6113
威望值 : 0
注冊日期 : 2008-10-08
回復: *<已解決>AutoCAD有沒有快速的方法能計算地形圖上小方格的交點?
謝謝程式分享~< 貢獻 +1>歐土 寫到:用lisp就可以很快,順利處理
以下提供你lsp 及dcl檔
[公告]關於團隊成員的回文及貢獻
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章