LISP でスプラインを作成するには、どうしたらいいですか?
以下がスプラインを作成するサンプルです。
;;; この LISP をロードして、DrawSpine コマンドを実行すると、スプラインが作成されます。
(defun C:DrawSpine ()
(setq acadobj (vlax-get-acad-object))
(setq document (vla-get-activedocument acadobj))
(setq modelSpace (vla-get-modelspace document))
; 最初の点でのスプライン曲線の接線を指定する 3D ベクトルを指定
(setq startTan (vlax-3d-point 0.5 0.5 0))
; 最後の点でのスプライン曲線の接線を指定する 3D ベクトルを指定
(setq endTan (vlax-3d-point 0.5 -0.5 0))
; スプライン曲線を定義する 3D WCS 座標の配列を指定
(setq pointsArray (vlax-make-safearray vlax-vbDouble '(0 . 14)))
(vlax-safearray-fill pointsArray '(100 100 0
150 150 0
200 100 0
250 150 0
300 100 0))
; スプラインをモデル空間に作成
(setq spline (vla-AddSpline modelSpace pointsArray startTan endTan))
(princ)
)
作成されるスプライン