・ UCSの状態を控える

LISPの中で、UCS(ユーザー座標系)を設定し作図処理を行わせる場合、処理後にUCSを元の状態に戻してやらなくてはなりません。UCS管理で名前をつけたり、直前のUCSを指定して戻しても良いのですが、名前がいっぱいできてしまったり、エラー処理などで不具合があるかもしれません。
そこで、UCSを3点で指定できるように、あらかじめ、現在のUCSのUCS原点・( 1.0 , 0 , 0)・( 0 , 1.0 , 0) を WCSに変換した点を控えておきます。(UCSXDIR UCSYDIRは読取専用で、設定できない・・・(-_-;) )

現在のUCSを控える 
(setq lst_ucs_var (list (getvar "UCSORG")))
(setq lst_ucs_var (append lst_ucs_var (mapcar '(lambda (x) (trans x 1 0)) '((1.0 0 0) (0 1.0 0)))))

これを復元するには、一度WCSにしてからUCSコマンドで設定します

UCSを復元
(command "._UCS" "W")
(command "._UCS" "3" (car lst_ucs_var) (cadr lst_ucs_var) (caddr lst_ucs_var))

また、UCSICON や UCSFOLLOW の設定にも配慮する必要があることもあるので、注意が必要です