CompoundPathItem
CompoundPathItem
app.activeDocument.activeLayer.compoundPathItems[index]
Description
A compound path. These objects are composed of multiple intersecting paths, resulting in transparent interior spaces where the component paths overlap. The pathItems property provides access to the paths that make up the compound path.
Paths contained within a compound path or group in a document are returned as individual paths when a script asks for the paths contained in the document. However, paths contained in a compound path or group are not returned when a script asks for the paths in a layer that contains the compound path or group.
All paths within a compound path share property values. Therefore, if you set the value of a property of any one of the paths in the compound path, the properties of all other component paths are updated with the new value.
Properties
CompoundPathItem.artworkKnockout
app.activeDocument.activeLayer.compoundPathItems[index].artworkKnockout
Description
Is this object used to create a knockout, and if so, what kind of knockout.
Type
CompoundPathItem.blendingMode
app.activeDocument.activeLayer.compoundPathItems[index].blendingMode
Description
The mode used when compositing an object.
Type
CompoundPathItem.controlBounds
app.activeDocument.activeLayer.compoundPathItems[index].controlBounds
Description
The bounds of the object including stroke width and controls.
Type
Array of 4 numbers; read-only.
CompoundPathItem.editable
app.activeDocument.activeLayer.compoundPathItems[index].editable
Description
If true
, this item is editable.
Type
Boolean; read-only.
CompoundPathItem.geometricBounds
app.activeDocument.activeLayer.compoundPathItems[index].geometricBounds
Description
The bounds of the object excluding stroke width.
Type
Array of 4 numbers; read-only.
CompoundPathItem.height
app.activeDocument.activeLayer.compoundPathItems[index].height
Description
The height of the compound path item excluding stroke width.
Type
Number (double).
CompoundPathItem.hidden
app.activeDocument.activeLayer.compoundPathItems[index].hidden
Description
If true
, this compound path item is hidden.
Type
Boolean.
CompoundPathItem.isIsolated
app.activeDocument.activeLayer.compoundPathItems[index].isIsolated
Description
If true
, this object is isolated.
Type
Boolean.
CompoundPathItem.layer
app.activeDocument.activeLayer.compoundPathItems[index].layer
Description
The layer to which this compound path item belongs.
Type
Layer; read-only.
CompoundPathItem.left
app.activeDocument.activeLayer.compoundPathItems[index].left
Description
The position of the left side of the item (in points, measured from the left side of the page).
Type
Number (double).
CompoundPathItem.locked
app.activeDocument.activeLayer.compoundPathItems[index].locked
Description
If true
, this compound path item is locked.
Type
Boolean.
CompoundPathItem.name
app.activeDocument.activeLayer.compoundPathItems[index].name
Description
The name of this compound path item.
Type
String.
CompoundPathItem.note
app.activeDocument.activeLayer.compoundPathItems[index].note
Description
The note assigned to this item.
Type
String.
CompoundPathItem.opacity
app.activeDocument.activeLayer.compoundPathItems[index].opacity
Description
The opacity of the object.
Range: 0.0 to 100.0
Type
Number (double).
CompoundPathItem.parent
app.activeDocument.activeLayer.compoundPathItems[index].parent
Description
The parent of this object.
Type
Layer or GroupItem; read-only.
CompoundPathItem.pathItems
app.activeDocument.activeLayer.compoundPathItems[index].pathItems
Description
The path art items in this compound path.
Type
PathItems; read-only.
CompoundPathItem.position
app.activeDocument.activeLayer.compoundPathItems[index].position
Description
The position (in points) of the top left corner of the compoundPathItem
object in the format [x, y]. Does not include stroke weight.
Type
Array of 2 numbers.
CompoundPathItem.selected
app.activeDocument.activeLayer.compoundPathItems[index].selected
Description
If true
, this compound path item is selected.
Type
Boolean.
CompoundPathItem.sliced
app.activeDocument.activeLayer.compoundPathItems[index].sliced
Description
If true
, the item is sliced.
Default: false
Type
Boolean.
CompoundPathItem.tags
app.activeDocument.activeLayer.compoundPathItems[index].tags
Description
The tags contained in this object.
Type
Tags; read-only.
CompoundPathItem.top
app.activeDocument.activeLayer.compoundPathItems[index].top
Description
The position of the top of the item (in points, measured from the bottom of the page).
Type
Number (double).
CompoundPathItem.typename
app.activeDocument.activeLayer.compoundPathItems[index].typename
Description
The class name of the referenced object.
Type
String; read-only.
CompoundPathItem.uRL
app.activeDocument.activeLayer.compoundPathItems[index].uRL
Description
The value of the Adobe URL tag assigned to this compound path item.
Type
String.
CompoundPathItem.visibilityVariable
app.activeDocument.activeLayer.compoundPathItems[index].visibilityVariable
Description
The visibility variable bound to the item.
Type
Variant.
CompoundPathItem.visibleBounds
app.activeDocument.activeLayer.compoundPathItems[index].visibleBounds
Description
The visible bounds of the compound path item including stroke width.
Type
Array of 4 numbers; read-only.
CompoundPathItem.width
app.activeDocument.activeLayer.compoundPathItems[index].width
Description
The width of the compound path item excluding stroke width.
Type
Number (double).
CompoundPathItem.wrapInside
app.activeDocument.activeLayer.compoundPathItems[index].wrapInside
Description
If true
, the text frame object should be wrapped inside this object.
Type
Boolean.
CompoundPathItem.wrapOffset
app.activeDocument.activeLayer.compoundPathItems[index].wrapOffset
Description
The offset to use when wrapping text around this object.
Type
Number (double).
CompoundPathItem.wrapped
app.activeDocument.activeLayer.compoundPathItems[index].wrapped
Description
If true
, wrap text frame objects around this object (text frame must be above the object).
Type
Boolean.
CompoundPathItem.zOrderPosition
app.activeDocument.activeLayer.compoundPathItems[index].zOrderPosition
Description
The position of this art item within the stacking order of the group or layer (Parent
) that contains the art item.
Type
Number (long); read-only.
Methods
CompoundPathItem.duplicate()
app.activeDocument.activeLayer.compoundPathItems[index].duplicate([relativeObject][,insertionLocation])
Description
Creates a duplicate of the selected object.
Parameters
Parameter | Type | Description |
---|---|---|
relativeObject | Object, optional | Object to duplicate to |
insertionLocation | ElementPlacement, optional | Location to insert element |
Returns
CompoundPathItem.move()
app.activeDocument.activeLayer.compoundPathItems[index].move(relativeObject, insertionLocation)
Description
Moves the object.
Parameters
Parameter | Type | Description |
---|---|---|
relativeObject | Object | Object to move element within |
insertionLocation | ElementPlacement, optional | Location to move element to |
Returns
Nothing.
CompoundPathItem.remove()
app.activeDocument.activeLayer.compoundPathItems[index].remove()
Description
Deletes this object.
Returns
Nothing.
CompoundPathItem.resize()
app.activeDocument.activeLayer.compoundPathItems[index].resize( scaleX, scaleY [,changePositions] [,changeFillPatterns] [,changeFillGradients] [,changeStrokePattern] [,changeLineWidths] [,scaleAbout])
Description
Scales the art item where scaleX
is the horizontal scaling factor and scaleY
is the vertical scaling factor. 100.0 = 100%.
Parameters
Parameter | Type | Description |
---|---|---|
scaleX | Number (double) | Horizontal scaling factor |
scaleY | Number (double) | Vertical scaling factor |
changePositions | Boolean, optional | Whether to effect art object positions and orientations |
changeFillPatterns | Boolean, optional | Whether to transform fill patterns |
changeFillGradients | Boolean, optional | Whether to transform fill gradients |
changeStrokePattern | Boolean, optional | Whether to transform stroke patterns |
changeLineWidths | Number (double), optional | The amount to scale line widths |
scaleAbout | Transformation, optional | The point to use as anchor, to transform about |
Returns
Nothing.
CompoundPathItem.rotate()
app.activeDocument.activeLayer.compoundPathItems[index].rotate( angle [,changePositions] [,changeFillPatterns] [,changeFillGradients] [,changeStrokePattern] [,rotateAbout])
Description
Rotates the art item relative to the current rotation. The object is rotated counter-clockwise if the angle
value is positive, clockwise if the value is negative.
Parameters
Parameter | Type | Description |
---|---|---|
angle | Number (double) | The angle amount to rotate the element |
changePositions | Boolean, optional | Whether to effect art object positions and orientations |
changeFillPatterns | Boolean, optional | Whether to transform fill patterns |
changeFillGradients | Boolean, optional | Whether to transform fill gradients |
changeStrokePattern | Boolean, optional | Whether to transform stroke patterns |
rotateAbout | Transformation, optional | The point to use as anchor, to transform about |
Returns
Nothing.
compoundPathItem.transform()
app.activeDocument.activeLayer.compoundPathItems[index].transform( transformationMatrix [,changePositions] [,changeFillPatterns] [,changeFillGradients] [,changeStrokePattern] [,changeLineWidths] [,transformAbout])
Description
Transforms the art item by applying a transformation matrix.
Parameters
Parameter | Type | Description |
---|---|---|
transformationMatrix | Matrix | Transformation matrix to apply |
changePositions | Boolean, optional | Whether to change Positions |
changeFillPatterns | Boolean, optional | Whether to change Fill Patterns |
changeFillGradients | Boolean, optional | Whether to change Fill Gradients |
changeStrokePattern | Boolean, optional | Whether to change Stroke Pattern |
changeLineWidths | Number (double), optional | The amount to scale line widths |
transformAbout | Transformation, optional | The point to use as anchor, to transform about |
Returns
Nothing.
CompoundPathItem.translate()
app.activeDocument.activeLayer.compoundPathItems[index].translate( deltaX [,deltaY] [,transformObjects] [,transformFillPatterns] [,transformFillGradients] [,transformStrokePatterns])
Description
Repositions the art item relative to the current position, where deltaX
is the horizontal offset and deltaY
is the vertical offset.
Parameters
Parameter | Type | Description |
---|---|---|
deltaX | Number (double), optional | Horizontal offset |
deltaY | Number (double), optional | Vertical offset |
transformObjects | Boolean, optional | Whether to transform Objects |
transformFillPatterns | Boolean, optional | Whether to transform Fill Patterns |
transformFillGradients | Boolean, optional | Whether to transform Fill Gradients |
transformStrokePatterns | Boolean, optional | Whether to transform Stroke Patterns |
Returns
Nothing.
CompoundPathItem.zOrder()
app.activeDocument.activeLayer.compoundPathItems[index].zOrder(zOrderCmd)
Description
Arranges the art item’s position in the stacking order of the group or layer (parent) of this object.
Parameters
Parameter | Type | Description |
---|---|---|
zOrderCmd | ZOrderMethod | Stacking order arrangement method |
Returns
Nothing.
Example
Selecting paths in a document
// Selects all paths not part of a compound pathif ( app.documents.length > 0 ) { var doc = app.activeDocument; var count = 0; if ( doc.pathItems.length > 0 ) { var thePaths = doc.pathItems; var numPaths = thePaths.length; for ( var i = 0; i < doc.pathItems.length; i++ ) { var pathArt = doc.pathItems[i]; if ( pathArt.parent.typename != "compoundPathItem" ) { pathArt.selected = true; count++; } }}
Creating and modifying a compound path item
// Creates a new compound path item containing 3 path// items, then sets the width and the color of the stroke// to all items in the compound path
if (app.documents.length > 0) { var doc = app.activeDocument; var newCompoundPath = doc.activeLayer.compoundPathItems.add();
// Create the path items var newPath = newCompoundPath.pathItems.add(); newPath.setEntirePath(Array(Array(30, 50), Array(30, 100)));
newPath = newCompoundPath.pathItems.add(); newPath.setEntirePath(Array(Array(40, 100), Array(100, 100)));
newPath = newCompoundPath.pathItems.add(); newPath.setEntirePath(Array(Array(100, 110), Array(100, 300)));
// Set stroke and width properties of the compound path newPath.stroked = true; newPath.strokeWidth = 3.5; newPath.strokeColor = app.activeDocument.swatches[3].color;}