Vla-addray

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


機能
放射線を作図する。


引数
  • vla-object … 生成する空間のVLAオブジェクト
  • pt1 … 始点の3Dポイント
  • pt2 … ベクトル方向の3Dポイント


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


サンプル
 ; コマンドで放射線追加
(command "._ray" pause pause "")

; コマンドで放射線追加(変数利用版)
(defun c:cm-addray ()
 (setq pt1 (getpoint "\n始点: "))
 (setq pt2 (getpoint "\n方向点: " pt1))
 (command "._ray" pt1 pt2 "")
)

; コマンドで放射線追加(VLコマンド版)
(vl-cmdf "._ray" (getpoint "始点:") (getpoint "方向点:") "")


; entmakeで放射線追加
(defun c:em-addray ()
  (setq pt1 (getpoint "\n始点: "))
  (setq pt2 (getpoint "\n方向点: " pt1))
  (entmake 
   '((0 . "RAY") 
     (cons 10 pt1) 
     (cons 11 pt2)
     (210 0.0 0.0 1.0) 
  )))

; VLA で放射線追加(適当にactivex版)
(defun c:ax-addray ()
  (vl-load-com)
  (setq *actdoc* (vla-get-activedocument (vlax-get-acad-object)))
  (setq mspace (vla-get-modelspace *actdoc*))
  (setq pt1 (getpoint "\n始点: "))
  (setq pt2 (getpoint "\n方向点: " pt1))
  (setq myline (vla-addray mspace (vlax-3d-point pt1)(vlax-3d-point pt2)))
  (princ)
) ;defun
(princ)

;-------------------------------
; VLA で放射線追加(ActiveX的版)
(defun c:ax-addray ()
  (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-getpoint util pt1 "\n方向点 : "))
  (setq myline (vla-addray mspace pt1 pt2))
  (princ)
) ;defun


関連事項