Vla-addellipse
- 構文
- (vla-addellipse vla-object center MajorRadius RadiusRatio )
- 機能
- 楕円を作図する。
- 引数
-
- vla-object … 生成する空間のVLAオブジェクト
- center … 中心点の3Dポイント
- MajorRadius … 楕円の主軸(正数)
- RadiusRatio … 楕円の主軸と副軸の比率を定義する正数 1.0=円
- 戻り値
- 作成した楕円のVLAオブジェクト
- サンプル
; コマンドで 楕円 を追加
(command "._ellipse" pause pause pause)
; コマンドで 楕円 追加(変数利用版)
(defun c:cm-addecone ()
(setq pt1 (getpoint "\n楕円の中心点: "))
(setq rad1 (getreal "\n長径: "))
(setq rad2 (getreal "\n短径: "))
(command "._ellipse" pt1 rad1 rad2)
)
; VLA で 楕円 追加(適当にactivex版)
(defun c:ax-addellipse (/
cenPt majoraxis majorpt minorpt mspace ratio tmp)
(setq doc (vla-get-activeDocument (vlax-get-acad-object))
mspace (vla-get-modelSpace doc)
CenPt (getpoint "Specify center point: ")
majorpt (getpoint "Specify endpoint of Major axis: " CenPt)
minorpt (getpoint "Specify endpoint of other axis: " CenPt)
)
;; 主軸と複軸のチェック
(if (< (distance majorpt CenPt) (distance minorpt CenPt))
(setq tmp majorpt
majorpt minorpt
minorpt tmp
))
(setq majorAxis
(list
(- (car majorpt) (car CenPt))
(- (cadr majorpt) (cadr CenPt)) )
ratio (/ (distance CenPt minorpt) (distance CenPt majorpt))
)
(vla-addEllipse
mspace (vlax-3d-point CenPt) (vlax-3d-point majorAxis) ratio))
(princ)
) ;defun
関連事項