ClipBoundary Method (ActiveX)

Specifies the clipping boundary for a raster image or an underlay.

Supported platforms: Windows only

Signature

VBA:

object.ClipBoundary PointsArray
object

Type: DgnUnderlay, DwfUnderlay, PdfUnderlay, RasterImage, Wipeout

The objects this method applies to.

PointsArray

Access: Input-only

Type: Variant (array of two-element array of doubles)

An array of 2D WCS coordinates specifying the clipping boundary of a raster image or underlay.

Return Value (RetVal)

No return value.

Remarks

You can define a region of an image or underlay object for display and plotting by clipping the object. Multiple instances of the same object can have different boundaries.

The clipping boundary must be a closed 2D polygon or rectangle with vertices constrained to lie within the boundaries of the image or underlay.

To clip an image or underlay, the object's boundary must be visible. Use the ClippingEnabled property to turn the clipping boundary on or off.

Examples

VBA:

Sub Example_ClipBoundary()
    ' This example adds a raster image in model space.
    ' It then clips the image based on a clip boundary.
    
    ' This example uses the "2d Projected Polylines.jpg" found in the Sample
    ' directory. If you do not have the image, or if it is located
    ' in a different directory, insert a valid path and name for the
    ' imageName variable below.
    
    Dim insertionPoint(0 To 2) As Double
    Dim scalefactor As Double
    Dim rotationAngle As Double
    Dim imageName As String
    Dim rasterObj As AcadRasterImage
    
    imageName = "C:\AutoCAD\sample\2d Projected Polylines.jpg"
    insertionPoint(0) = 5#: insertionPoint(1) = 5#: insertionPoint(2) = 0#
    scalefactor = 2#
    rotationAngle = 0
    
    On Error Resume Next
    ' Creates a raster image in model space
    Set rasterObj = ThisDrawing.ModelSpace.AddRaster(imageName, insertionPoint, scalefactor, rotationAngle)
    
    If Err.Description = "Filer error" Then
        MsgBox imageName & " could not be found."
        Exit Sub
    End If
    
    ZoomAll
    MsgBox "Clip the image?", , "ClipBoundary Example"
    
    ' Establish the clip boundary with an array of points
    Dim clipPoints(0 To 9) As Double
    clipPoints(0) = 6: clipPoints(1) = 6.75
    clipPoints(2) = 7: clipPoints(3) = 6
    clipPoints(4) = 6: clipPoints(5) = 5
    clipPoints(6) = 5: clipPoints(7) = 6
    clipPoints(8) = 6: clipPoints(9) = 6.75
    
    ' Clip the image
    rasterObj.clipBoundary clipPoints
    
    ' Enable the display of the clip
    rasterObj.ClippingEnabled = True
    ThisDrawing.Regen acActiveViewport
    MsgBox "The image has been clipped.", , "ClipBoundary Example"
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_ClipBoundary()
    ;; This example adds a raster image in model space.
    ;; It then clips the image based on a clip boundary.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; This example uses the "2d Projected Polylines.jpg" found in the Sample
    ;; directory. If you do not have the image, or if it is located
    ;; in a different directory, insert a valid path and name for the
    ;; imageName variable below.
    (setq insertionPoint (vlax-3d-point 5 5 0)
          imageName ".\\Sample\\VBA\\2d Projected Polylines.jpg"
          scalefactor 2
          rotationAngle 0)

    (if (/= (findfile ".\\Sample\\VBA\\2d Projected Polylines.jpg") nil)
        (progn  
	    ;; Creates a raster image in model space
            (setq modelSpace (vla-get-ModelSpace doc))
            (setq rasterObj (vla-AddRaster modelSpace (findfile ".\\Sample\\VBA\\2d Projected Polylines.jpg") insertionPoint scalefactor rotationAngle))
    
	    (vla-ZoomAll acadObj)
	    (alert "Clip the image?")
	    
	    ;; Establish the clip boundary with an array of points
	    (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
					                                 )
	    )
	    
	    ;; Clip the image
	    (vla-ClipBoundary rasterObj clipPoints)
	    
	    ;; Enable the display of the clip
	    (vla-put-ClippingEnabled rasterObj :vlax-true)
	    (vla-Regen doc acActiveViewport)
	    (alert "The image has been clipped.")
        )
        (alert (strcat imageName " could not be found."))
    )    
)