・ 変更したいエンティティーデータが無い場合の注意点
・ (entmod) で図形の要素を変更する場合の注意点

(setq ed (entget en) )
等で取得したエンティティーデータを書き換えてして、色や線種を変更したい場合、bylaerで作図した場合など DXFグループコードが存在しない場合が有ります。
こういった場合には、(append) を使って、リストを追加する必要が有ります。

(if (assoc 62 old_ed)   
  (setq new_ed (subst (cons 62 new_col) (assoc 62 old_ed) old_ed))   
  (setq new_ed (append old_ed (list (cons 62 new_col))))   
  )   
(entmod new_ed)

(append) の代わりに (cons) を使っても、同様に動く場合も有りますが、マニュアルにある通り、エンティティーリストの先頭は、図形名か図形タイプにしたほうがいいみたいです。

ちなみに LWPOLYLINE の色を変えるのに、(cons) を使ったらだめでした・・・・(^^ゞ

 

参考文献:「おぉとりすぷの広場」 記事番号<16326> <16336>