Vla-get-direction
- 構文
- (vla-get-direction vla-object )
- 機能
- 図面の 3D 表示の視線方向、または表の方向ベクトルを取得する。
- 引数
-
- vla-object … VLAオブジェクト(ExtrudedSurface、PViewport、Table、View、Viewport)
- 戻り値
-
- Table オブジェクトの場合 : ベクトル(WCS 座標での X 軸)は、表を含む水平面を定義する。
- 他のオブジェクトの場合 : ベクトルは、図面を見ることができる方向を定義する 3 要素の倍精度浮動小数点数型配列。
- MEMO: このプロパティは、空間の指定された点から原点(0,0,0)を見るように、図面を見る位置にビューを設置する。このプロパティは、CAD の VPOINT[3D 視点]コマンドに似ている。
- サンプル
(vl-load-com) (defun c:Example_Direction() ;; 円を作成してからビューポートの方向を変更するサンプル。 (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; 円の定義 (setq centerPoint (vlax-3d-point 0 0 0) radius 5) ;; 円を作成 (setq modelSpace (vla-get-ModelSpace doc)) (setq circleObj (vla-AddCircle modelSpace centerPoint radius)) ;; 円の厚さを変更 (vla-put-Thickness circleObj 3) ;; ビューポートの方向を変更 (setq NewDirection (vlax-3d-point -1 -1 1)) (setq activeViewport (vla-get-ActiveViewport doc)) (vla-put-Direction activeViewport NewDirection) (vla-put-ActiveViewport doc activeViewport) ) (defun c:Example_TableDirection() ; 表の方向を変更するサンプル。 (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq modelSpace (vla-get-ModelSpace doc)) (setq pt (vlax-3d-point 0 0 0) oT (vla-AddTable modelSpace pt 4 5 5 20)) (vla-ZoomExtents acadObj) (setq vDirection (vlax-safearray->list (vlax-variant-value (vla-get-Direction oT)))) (alert (strcat "現在の表の方向は " "\n" (rtos (nth 0 vDirection) 2) "," (rtos (nth 1 vDirection) 2) "," (rtos (nth 2 vDirection) 2))) (setq vNewDirection (vlax-3d-point 0 1 0)) (vla-put-Direction oT vNewDirection) (setq vRetDirection (vlax-safearray->list (vlax-variant-value (vla-get-Direction oT)))) (alert (strcat "新しい表の方向は " "\n" (rtos (nth 0 vRetDirection) 2) "," (rtos (nth 1 vRetDirection) 2) "," (rtos (nth 2 vRetDirection) 2))) )
関連事項