Vla-put-majoraxis

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-put-majoraxis vla-object )


機能
楕円の主軸の方向を設定する。


引数
  • vla-object … EllipseのVLA オブジェクト
  • Axis … 主軸で定義された 3D ベクトル。バリアント型(倍精度実数の 3 要素配列)、ベクトルの向きは楕円の中心方向。


戻り値
nil


  • 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)))
)

関連事項