Vla-addellipse

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(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


関連事項