nci_將圖檔中的圓或圓圖塊的圓心座標X,Y值和直徑,依指定格式匯出至文字檔.rar
下載試用程式
如上圖所示:
此圖中共有3個圓, 目前是WCS座標系統.
在指令行輸入 CEF, 以執行 CEF.FAS 程式,
首先會出現如下圖所示的對話框:
程式設定的匯出圓孔直徑和圓心座標檔案為 d:/circle-data.txt,
藍底的位置可以更改檔案名稱,
如: 110, 990429-01, 2010-04-29-001,....
接著會提示選取圓孔,
可以選取單一圓孔, 也可以選取多個圓孔,
也可以框選全部的圖元, 包括尺寸標註.
選項內定只選取圖中的 [ 圓 ] 這種圖元, 不會選取其他類型的圖元,
如 : 線, 弧, 多邊形, 圖塊, ....等等
如上圖所示, 選取全部 3 個圓孔.
確定後, 程式會自動標示圓的直徑在圓的圓心上面,
並標註圓心的 x, y 座標值在圓孔的外側,
標註部分全都設定在固定的專屬圖層中,
關閉該圖層, 就是原圖的狀態;
只開該圖層而關閉其餘所有圖層,
則可以檢查所選的圓孔是否有遺漏.
同時, 也會匯出圓孔的資料,
並提示檔案所在的位置和檔案名稱.
可以到提示的位置開啟文字檔, 查閱內容.
下圖是在 USC 座標系統下的圖檔 :
下 cef 指令, 並指定匯出檔名如下圖所示 :
如下圖所示:
UCS 原點位於直徑 6 mm 圓孔的圓心,
3 個圓孔都標示直徑在圓心位置,
且一併標示出圓心的 x, y 座標值,
其餘在框選中包含在範圍內的尺寸標註, 矩形,
和六角形, 都不會有任何動作發生.
到 提示的資料夾, 打開匯出的檔案,
內容如下:
4 --> 圓孔直徑
X-10 --> 圓心的 X 座標值為 -10,
Y-20 -> 圓心的 Y 座標值為 -20,
直徑 6 mm, X =0, Y=0,
直徑 8 mm, X=30, Y=10
對照圖中的標註, 完全符合.
程式並且預先排序,
依孔徑大小->X值->Y值
歸類後匯出.
1X12.32Y-6.29 1X15.47Y-6.29 2.5X-7.01Y-7.51 2X-13.19Y5.63 2X-3.09Y5.63 2X0Y0 2X11Y11.14 2X14.14Y11.14 2X4.04Y11.14 2X5.36Y-6.29 2X7.57Y11.14 2X8.9Y-6.29 3X-10.04Y-3.53 3X-4.08Y-3.53 4X-6.23Y11.75 4X-9.66Y2.48 4X11.66Y0.55 4X14.58Y4.52 4X8.62Y4.52
阿貴在程式中所用的重點指令如下:
(setq exfn ( getfiled "請指定 寫出圓孔資料 的檔案名稱 :" " d:/circle-data " " txt " 1 ) )
(setq ss (ssget ' ((0 . "CIRCLE") (67 . 0)))) ;;; 指定選取圓元為模形空間中的圓,
(setq diacir (* (cdr (assoc 40 ssdata)) 2.0)) ; 圓直徑值 (setq cenpt (trans (cdr (assoc 10 ssdata)) 0 1)) ; 圓心座標
(command "_dimordinate" cenpt xcdim) (command "_dimordinate" cenpt ycdim) (setq dia-txt (rtos diacir 2 2) txth (/ diacir 4.0)) (command "._text" "j" "MC" cenpt txth "0" dia-txt) ;;; 標註直徑, 圓心座標
(setq cdal ( acad_strlsort data_list)) ;;; 圓孔資訊排序
(setq ff ( open exfn "w")) ( foreach cda cdal (excdata)) (close ff) ;;; 匯出圓孔資料到檔案
*** 更新版本 ***