lincctw_ccl 发表于 2011-4-7 08:56:27

關於擴展資料寫入的問題?

各位好!!這陣子嘗試去了解了下擴展資料,下面是書中的範例
(defun c:tt()
(regapp "SAKURA")                  ;;註冊專屬應用名稱
(setq new_s (getstring "編號<A001>:"))(if (= new_s "")(setq new_s "A001"))
(setq new_v (getstring "位置<A9>:"))(if (= new_v "")(setq new_v "A9"))
(setq en (car (entsel "\n選取圖元:")))
(if en
    (progn
       ;;;******************************** 延伸資料的要求格式
       ;;;******************************** (-3 ("SAKURA" (1000 . "A001")(1000 . "A9")))
       (setq new_ext_list(list -3 (list "SAKURA"
                                       (cons 1000 new_s)   ;;群碼1000      必須是字串
                                       (cons 1000 new_v)   ;;群碼1000      必須是字串
                                       )))
       (setq endata(entget en))
       (setq entype(cdr (assoc 0 endata)))
       (if (setq old_ext_list(assoc -3 endata))
         (setq endata(subst new_ext_list old_ext_list endata))
         (setq endata(append endata (list new_ext_list)))
       )
       (entmod endata)
       ;;(alert (strcat "● " entype " ●" "加入延伸資料庫成功→ " new_s "," new_v))
    )
)
(prin1)
)


得出的擴展資料如下
(-3 (SAKURA (1000 . A001) (1000 . A9))))


我查過其它有加過擴展資料的圖元
它的資料格式如下
(1000 . NAME) (1000 . 3 GLS10   8.00040.000 5.00 7.00   2.00 .. DIE*1)

請問上述範例該如何改 才能如上面的資料一樣是(1000 . 3 GLS10   8.00040.000 5.00 7.00   2.00 .. DIE*1)格式的?

p.s 群碼1000的資料是 好幾個數據 組合而成,而書中範例只是一個數據!!

謝謝!!

luntan666 发表于 2011-4-7 09:38:52

看看........

Andyhon 发表于 2011-4-7 09:53:57

建議您先參閱 Extended data (xdata) 的規範

lincctw_ccl 发表于 2011-4-7 10:12:14

回复 Andyhon 的帖子

感謝指點!!
之前有看過了!!
不過看不太懂
我是查presscad 圖元的擴展資料
它的資料全是用1000的組碼寫的

Andyhon 发表于 2011-4-7 10:20:47

您搜尋看看,應是有中文版的
主要是規範 資料類別

lincctw_ccl 发表于 2011-4-7 10:28:33

回复 Andyhon 的帖子

我是看2002
中文的沒錯!!
我剛想了一下
(1000 . 3 GLS10   8.00040.000 5.00 7.00   2.00 .. DIE*1)
1000組碼後的一連串數字不知是不是 很多輸入項再經過重組轉換成字串後 寫入的?

Andyhon 发表于 2011-4-7 10:38:10

http://forums.autodesk.com/t5/forums/searchpage/tab/message?q=Xdata
有許多相關的討論可資參考

lincctw_ccl 发表于 2011-4-7 10:47:26

回复 Andyhon 的帖子

謝謝指點!!
我再看看你所提供的資料
页: [1]
查看完整版本: 關於擴展資料寫入的問題?