2018年10月4日 星期四

第6章 6-4 對象屬性修改與更新技巧 - ( LISP )

===========================================================

請將上例中,圓的半徑修改為 23.8 過程如下:
指令 : !en1_data
傳回:
((-1 . <圖元名稱: 2940518>) (0 . "CIRCLE") (5 . "23")(100 . "AcDbEntity") (67 . 0) (8 .
"STR") (100 . "AcDbCircle") (10 60.0 15.0 0.0) (40 . 12.5) (210 0.0 0.0 1.0))
指令 : (setq oldr (assoc 40 en1_data))
傳回: (40 . 12.5) <==群碼 40 為索引值的子串列
指令 : (setq newr (cons 40 23.8))
傳回: (40 . 23.8)
指令 (setq en1_data (subst newr oldr en1_data))
回應:
((-1 . <圖元名稱: 2940518>) (0 . "CIRCLE") (5 . "23")(100 . "AcDbEntity") (67 . 0) (8 .
"STR")
(100 . "AcDbCircle") (10 60.0 15.0 0.0) (40 . 23.8) (210 0.0 0.0 1.0))
資料串列已被修改成功了,但是畫面上圖元並未更新???
指令: (entmod en1_data) <==大功告成,畫面上的圓也更新了!!!

沒有留言:

張貼留言