Vla-setfitpoint

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年2月2日 (月) 22:51時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-setfitpoint ''vla-object'' ''Index'' ''Value'') ; 機能 : スプラインのフィット点を設定する。 ; 引数 :* vla-object …...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-setfitpoint vla-object Index Value)


機能
スプラインのフィット点を設定する。


引数
  • vla-object … Splineの VLAオブジェクト
  • Index … フィット点リストのインデックス位置。0 から N-1 までの正の整数(N はスプラインのフィット点の総数)。
  • Value … 指定されたインデックス位置のスプラインのフィット点を指定する 3D WCS 座標。


戻り値
nil


サンプル
(defun c:Example_SetFitPoint()
    ;; モデル空間にスプラインを作成してから最初のフィット点の座標を求め値を変更する。
    (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 fitPoint (vlax-variant-value (vla-GetFitPoint splineObj 0)))
    (alert (strcat "フィット点 1 は " 
                   (rtos (vlax-safearray-get-element fitPoint 0) 2) ", "
                   (rtos (vlax-safearray-get-element fitPoint 1) 2) ", "
                   (rtos (vlax-safearray-get-element fitPoint 2) 2)))
    
    ;; 最初のフィット点を変更
    (setq fitPoint (vlax-3d-point 0 3 0))
    (vla-SetFitPoint splineObj 0 fitPoint)
    (vla-Update splineObj)
    (setq fitPoint (vlax-variant-value fitPoint))
    (alert (strcat "現在のフィット点 1 は " 
                   (rtos (vlax-safearray-get-element fitPoint 0) 2) ", "
                   (rtos (vlax-safearray-get-element fitPoint 1) 2) ", "
                   (rtos (vlax-safearray-get-element fitPoint 2) 2)))
)

関連事項