你想過在 AutoCAD 一個個繪出的圖元,是怎樣記錄在 AutoCAD 檔案內的嗎? 如果你在 AutoCAD 中寫下一個字,就 TEST 吧,我問你如何描述這的圖元,你會說這個包含有
1. 文字的位置
2. 文字的內容 (是 TEST)
3. 文字的圖層 (假設是在 0 層)
4. 文字的字形 ….
是的,AutoCAD 也是這麼記錄下來的,而且比你想像的資料還要多, 那如何知道這些資訊,用 LIST 指令 !! 現在應該沒有人會用這種老古董指令,用性質 _properties指令就可以將文字性質一覽無遺, 不過這是經過包裝的,在 AutoCAD LISP 內要有更嚴謹的作法
(entget(car(entsel)))
這是三個指令串起來的指令 (不愧為 LISP),在命令列中執行它,CAD會要求你選取一個圖元, 然後將圖元的資料傾瀉而出,不廢話就取選取 "TEST" 這個文字,然後 ….
((-1
. <圖元名稱:
7ef62298>) (0 . "TEXT") (330 . <圖元名稱:
7efddcc0>)
(5 . "1373") (100 . "AcDbEntity") (67 . 0) (410 . "Model")
(8 . "0")
(100
. "AcDbText") (10 352.068 167.112 0.0) (40 . 90.0) (1 . "TEST")
(50 . 0.0)
(41
. 0.8) (51 . 0.0) (7 . "C") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0
0.0
1.0)
(100 . "AcDbText") (73 . 0))
是的,這是 "TEST" 的本尊,其中組成元件有圖元名稱 (編號),圖元分類 (TEXT),圖元所在圖層(8 . "0"),文字基準點 (10 352.068 167.112 0.0) …,接下來就是如何取出資料,運算,修改更新的動作了。
沒有留言:
張貼留言