Vla-deletefitpoint

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


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


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


戻り値
nil
注意
  • フィット点が除去され、残された点からスプラインが再フィットされる。このメソッドが正常に終了するには、スプラインに少なくとも 3 つのフィット点が必要。変更内容を表示するには、Update メソッドまたは Regen メソッドを使用する。


サンプル
(vl-load-com)
(defun c:Example_DeleteFitPoint()
    ;; スプラインを作成してフィット点を削除するサンプル
    (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)
    (alert "最初のフィット点を消すよ")
    
    ;; 最初のフィット点を削除
    (vla-DeleteFitPoint splineObj 0)
    (vla-Regen doc :vlax-true)
    (alert "Index: 0 のフィット点を削除")
)

関連事項