Vla-getbulge
- 構文
- (vla-getbulge vla-object Index)
- 機能
- ポリラインのインデックスを指定して、ふくらみ値を取得する。
- 引数
-
- vla-object … VLAオブジェクト(LWPolyline、Polyline)
- Index … ふくらみ値を設定する頂点のインデックス位置。最初の頂点はインデックス 0。
- 戻り値
- 指定されたインデックスでの頂点のふくらみ値
- MEMO
- Polyline: このメソッドは、ポリラインの Type プロパティが acSimplePoly でない場合は失敗する。
- ふくらみとは、ポリラインの頂点リスト内の選択された頂点と次の頂点との間の円弧の中心角の 1/4 の正接で、負のふくらみ値は、円弧上の選択された頂点から時計回りの方向に次の頂点があることを示す。ふくらみ値 0 は直線セグメント、1 は半円を示す。
- サンプル
(vl-load-com)
(defun c:Example_SetBulge()
;; モデルにポリライン作って、指定セグメントに膨らみを付けるサンプル
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
;; ポリラインの2D 点定義
(setq points (vlax-make-safearray vlax-vbDouble '(0 . 11)))
(vlax-safearray-fill points '(1 1
1 2
2 2
3 2
4 4
4 1
)
)
;; LWポリラインをモデルに作成
(setq modelSpace (vla-get-ModelSpace doc))
(setq plineObj (vla-AddLightWeightPolyline modelSpace points))
(vla-ZoomAll (vlax-get-acad-object))
;; 膨らみを付ける3番目のセグメントを指定
(setq currentBulge (vla-GetBulge plineObj 3))
(alert (strcat "第三のセグメントの膨らみは、 " (rtos (vla-GetBulge plineObj 3) 2)))
;; 膨らみを変更
(vla-SetBulge plineObj 3 -0.5)
(vla-Update plineObj)
(alert (strcat "第三のセグメントの膨らみは、 " (rtos (vla-GetBulge plineObj 3) 2) " になりました"))
)
関連事項