Vla-clipboundary

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年10月25日 (日) 08:12時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-clipboundary ''vla-object'' ''PointsArray'' ) ; 機能 : ラスター イメージまたはアンダーレイのクリップ境界を指定...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(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 " がないっす。"))
    )    
)


関連事項