Vla-getfitpoint

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


機能
指定したインデックスのスプラインのフィット点を取得する。


引数
  • vla-object … Splineの VLAオブジェクト
  • Index … フィット点リストのインデックス位置。0 から N-1 までの正の整数(N はスプラインのフィット点の総数)。


戻り値
指定したインデックス位置のフィット点の 3D WCS 座標。


サンプル
(vl-load-com)
(defun c:Example_GetFitPoint()
    ;; モデル空間におけるスプラインオブジェクトを作成してからフィット点の座標を求めるサンプル。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    ;; スプラインを作成
    (setq startTan (vlax-3d-point 0.5 0.5 0)
          endTan (vlax-3d-point 0.5 0.5 0)
          fitPoints (vlax-make-safearray vlax-vbDouble '(0 . 8)))
    (vlax-safearray-fill fitPoints '(1 1 0
                                     5 5 0
                                     10 0 0
                                    )
    )
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq splineObj (vla-AddSpline modelSpace fitPoints startTan endTan))
    (vla-ZoomAll acadObj)
    
    ;; フィット点の座標を表示
    (setq index 0)
    (while (>= (1- (vla-get-NumberOfFitPoints splineObj)) 0)
        (setq fitPoint (vlax-safearray->list (vlax-variant-value (vla-GetFitPoint splineObj index))))
        (alert (strcat "フィット点 " (itoa (1+ index)) " の座標は " (rtos (nth 0 fitPoint) 2) ", " (rtos (nth 1 fitPoint) 2) ", " (rtos (nth 2 fitPoint) 2)))
        (setq index (1+ index))
    )
)

関連事項