Registration Mark Macro

I currently have this macro set up

 

Sub cropMarks_Vertical()

 

    Dim sr As ShapeRange, sCirc As Shape, sline1 As Shape, sLine2 As Shape, sr2 As New ShapeRange, s As Shape

    Dim x#, y#, w#, h#

    Dim dCropRadius#

 

    dCropRadius = 0.15

 

     Set sr = ActiveSelectionRange

    If sr.Count = 0 Then Exit Sub

 

    ActiveDocument.BeginCommandGroup "CropMarkCustom"

 

    sr.GetBoundingBox x, y, w, h

    Set sCirc = ActiveLayer.CreateEllipse2(0, 0, dCropRadius): sr2.Add sCirc

    Set sline1 = ActiveLayer.CreateLineSegment(0, 0, dCropRadius * 3.33, 0)

    Set sLine2 = ActiveLayer.CreateLineSegment(0, 0, 0, dCropRadius * 3.33)

    sline1.AlignToShape cdrAlignHCenter, sCirc: sline1.AlignToShape cdrAlignVCenter, sCirc: sr2.Add sline1

    sLine2.AlignToShape cdrAlignHCenter, sCirc: sLine2.AlignToShape cdrAlignVCenter, sCirc: sr2.Add sLine2

     Set s = sr2.Group

     Set sr2 = New ShapeRange: sr2.Add s

 

       s.AlignToShapeRange cdrAlignHCenter, sr

 

         ActiveDocument.ReferencePoint = cdrCenter

         s.SetPositionEx cdrCenter, s.PositionX, y - 0.625  '(.5 + .125 )

         Set s = s.Duplicate(0, h + 1.25)

 

    sr2.Add s

     Set s = sr2.Group

    With s

        .Outline.Width = 0.01  'set width here in inches

        .Outline.Color.RegistrationAssign

        .CreateSelection

        .Name = "VERTICAL Crop Marks"

    End With

    ActiveDocument.EndCommandGroup

End Sub

 

which gives me this result

I would like this 

Is this possible with my current macro? The marks are vertical and are placed .375"away from the art. Any help would be greatly appreciated. Thanks

Parents
No Data
Reply
  • You can try following code

    Sub cropMarks_Vertical()
        Dim sr As ShapeRange, sCirc As Shape, sline1 As Shape, sLine2 As Shape, sr2 As New ShapeRange, s As Shape
        Dim x#, y#, w#, h#
        Dim dCropRadius#
        dCropRadius = 0.15
        Set sr = ActiveSelectionRange
        If sr.Count = 0 Then Exit Sub
        ActiveDocument.BeginCommandGroup "CropMarkCustom"
        sr.GetBoundingBox x, y, w, h
        Set sCirc = ActiveLayer.CreateEllipse2(0, 0, dCropRadius, 0, 90, 180, True)
        sCirc.Fill.UniformColor.RegistrationAssign
        sCirc.Outline.Type = cdrNoOutline
        sr2.Add sCirc
        Set sCirc = ActiveLayer.CreateEllipse2(0, 0, dCropRadius, 0, 270, 0, True)
        sCirc.Fill.UniformColor.RegistrationAssign
        sCirc.Outline.Type = cdrNoOutline
        sr2.Add sCirc
        Set sCirc = ActiveLayer.CreateEllipse2(0, 0, dCropRadius)
        sCirc.Fill.ApplyNoFill
        sCirc.Outline.Color.RegistrationAssign
        sr2.Add sCirc
        Set sline1 = ActiveLayer.CreateLineSegment(0, 0, dCropRadius * 3.33, 0)
        Set sLine2 = ActiveLayer.CreateLineSegment(0, 0, 0, dCropRadius * 3.33)
        sline1.AlignToShape cdrAlignHCenter, sCirc: sline1.AlignToShape cdrAlignVCenter, sCirc: sr2.Add sline1
        sLine2.AlignToShape cdrAlignHCenter, sCirc: sLine2.AlignToShape cdrAlignVCenter, sCirc: sr2.Add sLine2
        Set s = sr2.Group
        Set sr2 = New ShapeRange: sr2.Add s
        s.AlignToShapeRange cdrAlignHCenter, sr
        ActiveDocument.ReferencePoint = cdrCenter
        s.SetPositionEx cdrCenter, s.PositionX, y - 0.625  '(.5 + .125 )
        Set s = s.Duplicate(0, h + 1.25)
        sr2.Add s
        Set s = sr2.Group
        With s
            .Outline.Width = 0.01  'set width here in inches
            .Outline.Color.RegistrationAssign
            .CreateSelection
            .Name = "VERTICAL Crop Marks"
        End With
        ActiveDocument.EndCommandGroup
    End Sub
     

    Best regards

    Mek

Children
No Data