Vla-setweight

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年11月8日 (日) 16:39時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-setweight ''vla-object'' ''Index'' ''Weight'') ; 機能 : 制御点の重みを、指定したインデックスに設定する。 ; 引...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-setweight vla-object Index Weight)


機能
制御点の重みを、指定したインデックスに設定する。


引数
  • vla-object … Spline の VLAオブジェクト
  • Index … 制御点リスト内の重みを設定する位置。最初の制御点は、インデックス 0。長整数
  • Weight … 制御点の新しい重み。 倍精度浮動小数点数型


戻り値
nil


サンプル
(vl-load-com)
(defun c:Example_SetWeight()
    ;; スプラインを作成して、最初のフィット点のウェイトを変更するサンプル
    (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 weight (vla-GetWeight splineObj 0))
    (alert (strcat "最初のフィット点の重みは " (rtos weight 2)))
    
    ;; 最初のフィット点のウェイトを変更
    (setq weight 5)
    (vla-SetWeight splineObj 0 weight)
    (vla-Update splineObj)
    (alert (strcat "最初のフィット点の重みを次に変更 " (rtos weight 2)))
)

関連事項