「Vla-addellipse」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-addellipse ''vla-object'' ''center'' ''MajorRadius'' ''RadiusRatio'' ) ; 機能 : 楕円を作図する。 ; 引数 :* vla-object … ...」) |
細編集の要約なし |
||
| 33行目: | 33行目: | ||
; VLA で 楕円 追加(適当にactivex版) | ; VLA で 楕円 追加(適当にactivex版) | ||
(defun c:ax-addellipse (/ | (defun c:ax-addellipse (/ | ||
cenPt majoraxis majorpt minorpt mspace ratio tmp) | |||
(setq | |||
(setq doc (vla-get-activeDocument (vlax-get-acad-object)) | |||
mspace (vla-get-modelSpace doc) | |||
(setq | CenPt (getpoint "Specify center point: ") | ||
majorpt (getpoint "Specify endpoint of Major axis: " CenPt) | |||
(vla- | 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) | (princ) | ||
) ;defun | ) ;defun | ||
2013年10月30日 (水) 23:02時点における最新版
- 構文
- (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
関連事項