「Vla-get-majoraxis」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-get-majoraxis ''vla-object'') ; 機能 : 楕円の主軸の方向を取得する。 ; 引数 :* vla-object … EllipseのVLA オブジ...」)
 
編集の要約なし
 
13行目: 13行目:


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


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

2014年9月6日 (土) 22:27時点における最新版

構文
(vla-get-majoraxis vla-object)


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


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


戻り値
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)))
)

関連事項