Sometimes I need to create bleeds and cutlines for various objects that are to be digitally printed and then cut using a plotter. It's not really my field but I can manage. Anyway, with the most basic artworks, or at least artworks that have a single outline or fill colour, the process goes as follows:
This becomes tedious very quickly. I need an automated solution.
Last year I tried recording a macro using more or less these steps, but I could not figure out how to point the macro to any given object. As far as I remember, it would just use the size and colour properties of whichever object was used to record the macro, so it was not dynamic.
So I have two questions:
First off, is there an outright easier way to achieve what I'm doing?
If not, how do I make the macro be more generic in its targeting? In other words, fetch and apply properties from the currently selected object instead?
Thank you.
I use something very similar for this very function. It's made up of bits of code I found and customized to my needs i.e. cut line to no fill & outline color to a specific CMYK, Then I use another macro to create the cut layer, move the cuts to that layer
I'm not fully understanding your description of what your manual workflow is for this.
It might help if you would post "before and after" .CDR files so that we could see:
I keep getting a red ERROR message when trying to upload my .cdr - it is only 61kb large
Bleed_example.zipNeeded to zip it for some reason. Herein is a side by side comparison of what I need.
Thanks. It helps a lot to see exactly the sort of content you are working with.
For the example content you posted, you could try this:
Sub ThreecubeMike_01()Dim sOriginal As ShapeDim sDuplicate As ShapeDim sr_from_contour As ShapeRangeDim e As EffectSet sOriginal = ActiveShape'create the duplicate that will be the cut outlineSet sDuplicate = sOriginal.Duplicate'name itsDuplicate.Name = "Cut Outline"'set outline colorsDuplicate.Outline.Color.CMYKAssign 0, 100, 0, 0'set to have no fillsDuplicate.Fill.ApplyNoFill'from original shape, create contour effectSet e = sOriginal.CreateContour(, ConvertUnits(3, cdrMillimeter, ActiveDocument.Unit), , , , sOriginal.Fill.UniformColor.GetCopy)'separate contour group into a shaperangeSet sr_from_contour = e.Separate'name the contour shapesr_from_contour(1).Name = "Shape from Contour"'delete the original shapesOriginal.DeleteEnd Sub
If you copy and paste this, watch out for the forum software helpfully hyphenating a word when it breaks a line.