Vla-clipboundary
- 構文
- (vla-clipboundary vla-object PointsArray )
- 機能
- ラスター イメージまたはアンダーレイのクリップ境界を指定する。
- 引数
-
- vla-object … VLAオブジェクト(DgnUnderlay、DwfUnderlay、PdfUnderlay、RasterImage、Wipeout)
- PointsArray … ラスター イメージまたはアンダーレイのクリップ境界を指定する 2D WCS 座標の配列。
- 戻り値
- nil
注意
- イメージまたはアンダーレイをクリッピングして、表示および印刷するリージョンを定義することができる。同一オブジェクトのインスタンスが複数ある場合は、それぞれ異なる境界を設定することができる。
- クリップ境界は、イメージまたはアンダーレイの境界内に収まるように制限された頂点を持つ閉じた 2 次元のポリゴンまたは矩形でなければならない。
- イメージまたはアンダーレイをクリッピングするには、オブジェクトの境界が表示されている必要がある。ClippingEnabled プロパティを使用して、クリップ境界をオンまたはオフにする。
- サンプル
(vl-load-com)
(defun c:Example_ClipBoundary()
;; モデル空間でラスター イメージを追加し、クリップ境界に基づいて
;; 画像を切り取るサンプル
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
;; サンプル ディレクトリにある "2d Projected Polylines.jpg"を使用する。
;; ファイルの場所は imageName 変数で調整
(setq insertionPoint (vlax-3d-point 5 5 0)
imageName ".\\Sample\\VISP\\2d Projected Polylines.jpg"
scalefactor 2
rotationAngle 0)
(if (/= (findfile ".\\Sample\\VISP\\2d Projected Polylines.jpg") nil)
(progn
;; モデルにラスターを配置
(setq modelSpace (vla-get-ModelSpace doc))
(setq rasterObj (vla-AddRaster modelSpace (findfile ".\\Sample\\VISP\\2d Projected Polylines.jpg") insertionPoint scalefactor rotationAngle))
(vla-ZoomAll acadObj)
(alert "イメージをクリップ?")
;; クリップ境界の設定
(setq clipPoints (vlax-make-safearray vlax-vbDouble '(0 . 9)))
(vlax-safearray-fill clipPoints '(6 6.75
7 6
6 5
5 6
6 6.75
)
)
;; イメージのクリップ
(vla-ClipBoundary rasterObj clipPoints)
;; クリップの表示を有効に
(vla-put-ClippingEnabled rasterObj :vlax-true)
(vla-Regen doc acActiveViewport)
(alert "クリップを有効にしますた")
)
(alert (strcat imageName " がないっす。"))
)
)
関連事項