Vla-addspline

提供: GizmoLabs
移動先: 案内検索
構文
(vla-addspline vla-object PointsArray StartTangent EndTangent)


機能
二次または三次NURBS(非一様有理Bスプライン)曲線を作成する。


引数
  • vla-object … VLA オブジェクト(ModelSpace コレクション、PaperSpace コレクション、Block)
  • PointsArray … スプライン曲線を定義する 3D WCS 座標の配列。 スプライン オブジェクトを構成するには、少なくとも 2 つの点(6 つの倍精度浮動小数点数型)が必要。配列サイズは、3 の倍数でなければならない。
  • StartTangent … 最初の点でのスプライン曲線の接線
  • EndTangent … 最後の点でのスプライン曲線の接線


戻り値
作成した スプラインの VLAオブジェクト


  • memo
  • StartTangent および EndTangent は、スプラインの両端の接線を指定し、既定では、開いたスプラインが作成される。スプラインが開いているか、閉じているかは、読み込み専用の Closed プロパティによって示される。


サンプル
(vl-load-com)
(defun c:Example_AddSpline()
    ;; モデル空間にスプラインを追加するサンプル
    (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  
    ;; スプラインの定義
    (setq startTan (vlax-3d-point 0.5 0.5 0)
          endTan (vlax-3d-point 0.5 0.5 0))
    (setq 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 (vlax-get-acad-object))
)


関連事項