Vla-put-activeucs
- 構文
- (vla-put-activeucs vla-object)
- 機能
- 図面のアクティブな UCS を取得する。
- 引数
-
- vla-object … document の VLA オブジェクト
- ucs … UCSの VLAオブジェクト
- 戻り値
- nil
- memo:注記: 現在のアクティブな UCS への変更は、UCS がアクティブな UCS としてリセットされた後にのみ反映される。現在の UCS が保存されていない場合にアクティブな UCS を取得しようとすると、エラーが発生するため、アクティブな UCS 値を取得する前に、UCSNAME システム変数の値が空でないことを確認することが推奨される。
- 新しい UCS オブジェクトを追加し、それをアクティブにしてからアクティブな UCS 値を取得することもできる。
- サンプル
(command "_ucs" "na" "s" "test") (command "_ucs" "na" "r" "test") (setq *ActDoc* (vla-get-ActiveDocument (vlax-get-Acad-Object))) (setq *ActUcs* (vla-get-activeucs *actdoc*)) (vl-load-com) (defun c:Example_ActiveUCS() ;; UCSを保存して、現在の設定を返し、変更後に元に戻すサンプル (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq UCSs (vla-get-UserCoordinateSystems doc)) ;; 現在の UCSを保存。なければ作成して追加 (if (= (vlax-variant-value (vla-GetVariable doc "UCSNAME")) "") (progn (setq utility (vla-get-Utility doc)) (setq currUCS (vla-Add UCSs (vla-GetVariable doc "UCSORG") (vla-TranslateCoordinates utility (vla-GetVariable doc "UCSXDIR") acUCS acWorld :vlax-false) (vla-TranslateCoordinates utility (vla-GetVariable doc "UCSYDIR") acUCS acWorld :vlax-false) "OriginalUCS" ) ) ) (setq currUCS (vla-get-ActiveUCS doc)) ;; 現在のUCSをを保存 ) (alert (strcat "現在の UCS は " (vla-get-Name currUCS))) ;; UCSを作成して変更 (setq origin (vlax-3d-point 0 0 0) xAxis (vlax-3d-point 1 1 0) yAxis (vlax-3d-point -1 1 0)) (setq newUCS (vla-Add UCSs origin xAxis yAxis "TestUCS")) (vla-put-ActiveUCS doc newUCS) (alert (strcat "新しい UCS は " (vla-get-Name newUCS))) ;; 元に戻す (vla-put-ActiveUCS doc currUCS) (alert (strcat "UCS を元に戻す " (vla-get-Name currUCS))) )
関連事項