「Vla-get-yvector」の版間の差分
|  (ページの作成:「{{AutoLISP}} ; 構文 : (vla-get-xvector ''vla-object'' )   ; 機能 : 所定の UCS の Y 方向を取得する。    ; 引数 :* vla-object … UCS の VLAオブジェ...」) | 細編集の要約なし | ||
| 1行目: | 1行目: | ||
| {{AutoLISP}} | {{AutoLISP}} | ||
| ; 構文 | ; 構文 | ||
| : (vla-get- | : (vla-get-yvector ''vla-object'' ) | ||
2016年1月14日 (木) 15:32時点における最新版
- 構文
- (vla-get-yvector vla-object )
- 機能
- 所定の UCS の Y 方向を取得する。
- 引数
- 
- vla-object … UCS の VLAオブジェクト
 
- 戻り値
- 所定の UCS の Y 方向を指定するベクトル。
- 注意 :アクティブな UCS で Y ベクトルの値を変更した場合は、アクティブな UCS を再設定しなければ変更結果を表示できない。アクティブな UCS を再設定するには、ActiveUCS プロパティを使用する。
- サンプル
(vl-load-com)
(defun c:Example_XVector()
    ;; UCSのXY方向を取得して変更し、元に戻すサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    ;; アクティブビューポートを取得
    (setq viewportObj (vla-get-ActiveViewport doc))
    
    ;; UCS を設定して表示
    (setq origin (vlax-3d-point 2 2 0)
          xAxisPoint (vlax-3d-point 3 2 0)
          yAxisPoint (vlax-3d-point 2 3 0))
    (setq ucsObj (vla-Add (vla-get-UserCoordinateSystems doc) origin xAxisPoint yAxisPoint "TEST"))
    (vla-put-ActiveUCS doc ucsObj)
    (vla-put-UCSIconOn viewportObj :vlax-true)
    (vla-put-UCSIconAtOrigin viewportObj :vlax-true)
    (vla-put-ActiveViewport doc viewportObj)
    
    ;; X Y 方向を表示
    (alert (strcat "現在の XY 方向: "
                   "\n" (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 0) 2) ", "
                        (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 1) 2) ", "
                        (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 2) 2)
                   "\nThe current YVector is: "
                   "\n" (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 0) 2) ", "
                        (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 1) 2) ", "
                        (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 2) 2)))
    ;; 変更
    (setq newVector (vlax-3d-point 0.7071 0.7071 0))
    (vla-put-XVector ucsObj newVector)
    (setq newVector (vlax-3d-point -0.7071 0.7071 0))
    (vla-put-YVector ucsObj newVector)
    ;; 戻す
    (vla-put-ActiveUCS doc ucsObj)
    (alert (strcat "新しいの XY 方向: "
                   "\n" (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 0) 2) ", "
                        (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 1) 2) ", "
                        (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-XVector ucsObj)) 2) 2)
                   "\nThe new YVector is: "
                   "\n" (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 0) 2) ", "
                        (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 1) 2) ", "
                        (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-YVector ucsObj)) 2) 2)))
)
関連事項
