Vla-addcircle

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-addcircle vla-object pt1 rad1)


機能
円を作図する。


引数
  • vla-object … 生成する空間のVLAオブジェクト
  • pt1 … 中心点の3Dポイント
  • rad1 … 半径


戻り値
作成した円のVLAオブジェクト


サンプル
 ; コマンドで円追加
(command "._circle" pause pause "")

; コマンドで円追加(変数利用版)
(defun c:cm-addcircle ()
 (setq pt1 (getpoint "\n中心点: "))
 (setq pt2 (getreal "\n半径: "))
 (command "._circle" pt1 pt2 "")
)

; コマンドで円追加(VLコマンド版)
(vl-cmdf "._circle" (getpoint "中心点:") (getreal "半径:") "")


; entmakeで円を追加
(defun c:em-addcircle ()
  (setq pt1 (getpoint "\n始点: "))
  (setq pt2 (getreal "\n半径: "))
  (entmake 
   '((0 . "CIRCLE") 
     (cons 10 pt1) 
     (cons 40 pt2)
     (210 0.0 0.0 1.0) 
  )))

; VLA で構築線追加(適当にactivex版)
(defun c:ax-addcircle ()
  (vl-load-com)
  (setq *actdoc* (vla-get-activedocument (vlax-get-acad-object)))
  (setq mspace (vla-get-modelspace *actdoc*))
  (setq pt1 (getpoint "\n中心点: "))
  (setq pt2 (getreal "\n半径: "))
  (setq mycircle (vla-addcircle mspace (vlax-3d-point pt1) pt2)))
  (princ)
) ;defun
(princ)

;-------------------------------
; VLA で構築線追加(ActiveX的版)
(defun c:ax-addcircle1 ()
  (vl-load-com)
  (setq *actdoc* (vla-get-activedocument (vlax-get-acad-object)))
  (setq mspace (vla-get-modelspace *actdoc*))
  (setq util (vla-get-utility *actdoc*))
  (setq pt1 (vla-getpoint util nil "\n中心点 : "))
  (setq pt2 (vla-getreal util "\n半径 : "))
  (setq mycircle (vla-addcircle mspace pt1 pt2))
  (princ)
) ;defun


関連事項