If the complex pattern is made up of vectors and you'd like to use the "cookie cutter" vector shape to remove all the stuff outside of its boundaries, you could select all the vectors (with the cookie cutter shape on top) and choose Modify > Combine Paths > Crop. This will physically modify all the vectors beneath, while the cookie cutter itself will disappear.
Another approach, suitable whether the pattern is vector-based or a bitmap, would be to select all the elements and choose Modify > Mask > Group As Mask (Shift-Command-G). This would be a non-destructive method, where the cookie cutter would be converted into a vector mask, which could then be ungrouped at a later time, if desired. You'd also have the option of changing the rendering of the mask—Path Outline vs. Grayscale—within the Properties Inspector (when the mask thumbnail is selected).
It's also possible to define a PNG or JPG graphic as a Pattern and then apply it as a Fill to a vector object—but that requires extra steps and only makes sense if the graphic is a seamless, tiling pattern, which doesn't sound like what you're describing.
The crop method is what I initially thought would be the correct method, but when I try this, with the vectors to be cropped underneath the shape which acts as the cutter, all elements are destroyed after the crop operation. Example.
1 person found this helpful
Looks like many of the Combine Paths commands (Union, Intersect, Punch and Crop) are designed to work only with multiple closed paths, or shapes, not with open paths. And from what I can tell, you're trying to crop a set of angled/intersecting lines (open paths) with an arrowhead or triangle shape (closed path).
The masking method will definitely work, at least visually. (It won't actually trim the vector paths, though.) You'll probably need to select the mask thumbnail and then choose "Path Outline" in the Properties Inspector.
1 person found this helpful
Can you post a before and after of the crop operation? Groove is right, the path combination commands all treat the target paths as closed paths, even if they are open -- if you give your path a fill you will see what they "look like" according to the path combine methods. I would second groove's suggestion to use a mask, which is non-destructive and does what you describe.
If you really want to combine (crop, union, punch, etc) open paths, you have to convert the open paths to closed paths, usually by using Expand Stroke or Convert Strokes to Fills (Window > Other > Path)
The downside of the mask approach is that the unwanted path portions remain "live" and selectable. What about creating a "cookie cutter" command script that copies the top object (a closed path) and converts that closed path to a series of open paths which are then used like the knife tool to cut all vectors beneath them? The original closed path would remain in case it's needed and to help the user clear away the "dead wood"—the unwanted path portions.
(I checked your Paths panel, the Path commands, and John Dunning's Smart Knife and Smart Punch commands, but nothing seemed like a match for this problem.)
I found myself wishing that FW had a general "Expand Appearance" command that could "flatten" a masked object, so to speak, without converting it to a bitmap.
What about creating a "cookie cutter" command script that copies the top object (a closed path) and converts that closed path to a series of open paths which are then used like the knife tool to cut all vectors beneath them?
I've wanted to make such a command for awhile, but the problem is that since all the core FW combine path commands are closed-vs-closed, there's no easy way to do something that involves an open path. John Dunning's Smart Knife is probably the closest you will get (http://johndunning.com/fireworks/about/SmartKnife) since it basically automatically converts open paths to closed paths for you, so it's almost like you are using an open path like a knife.
To create a script that actually finds bezier-vs-bezier intersections and inserts points is technically possible but A) involves some rather complex math, and B) would be very slow and not ideal for a scripting API.
It makes sense to me now that crop will only work with closed paths, and I appreciate the maths is tricky to crop open paths. I appreciate the responses and help with this. Much appreciated.