Vla-get-majoraxis

提供:GizmoLabs - だいたい CAD LISP なサイト
2014年9月6日 (土) 22:23時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-get-majoraxis ''vla-object'') ; 機能 : 楕円の主軸の方向を取得する。 ; 引数 :* vla-object … EllipseのVLA オブジ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-get-majoraxis vla-object)


機能
楕円の主軸の方向を取得する。


引数
  • vla-object … EllipseのVLA オブジェクト


戻り値
バリアント型(倍精度実数の 3 要素配列)
主軸で定義された 3D ベクトル。ベクトルの向きは楕円の中心方向。


  • memo. 楕円の長い方の軸を主軸、短い方を副軸と呼ぶ。


サンプル
(vl-load-com)
(defun c:Example_MajorAxis()
    ;; 楕円を作成し、その楕円の主軸を見つけ、
    ;; 次に、楕円のための主軸を変更する。
    (setq *actdoc* (vla-get-ActiveDocument (vlax-get-acad-object)))
  
    ;; モデル空間に楕円を作成
    (setq center (vlax-3d-point 5 5 0)
          majAxis (vlax-3d-point 10 20 0)
          radRatio 0.3)  

    (setq modelSpace (vla-get-ModelSpace *actdoc*))
    (setq ellObj (vla-AddEllipse modelSpace center majAxis radRatio))
    (vla-ZoomAll (vlax-get-acad-object))

    (vla-Update ellObj)
    (setq majAxis (vlax-variant-value majAxis))
    (alert (strcat "楕円の主軸は " 
                   (rtos (vlax-safearray-get-element majAxis 0) 2) ", "
                   (rtos (vlax-safearray-get-element majAxis 1) 2) ", "
                   (rtos (vlax-safearray-get-element majAxis 2) 2)))

    ;; 楕円の主軸を変更
    (setq majAxis (vlax-3d-point 5 5 0))
    (vla-put-MajorAxis ellObj majAxis)
    (vla-Update ellObj)
    
    ;; 楕円の主軸を照会
    (setq retMajAxis (vlax-variant-value (vla-get-MajorAxis ellObj)))
    (alert (strcat "変更された楕円の主軸は " 
                    (rtos (vlax-safearray-get-element retMajAxis 0) 2) ", "
                    (rtos (vlax-safearray-get-element retMajAxis 1) 2) ", "
                    (rtos (vlax-safearray-get-element retMajAxis 2) 2)))
)

関連事項