Vla-put-majoraxis
- 構文
- (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)))
)
関連事項