private void DoDrawCropMarks() { double X, y, cx, cy; double sx, sy, dx, ty; double Off, l, Cu; long N; ShapeRange sr = new ShapeRange(); Shape s, s1; ShapeRange AllShapes = new ShapeRange(); this.StartEvent(); app.ActiveDocument.Unit = cdrUnit.cdrMillimeter; app.ActiveDocument.PreserveSelection = false; app.ActiveDocument.Selection().GetBoundingBox(out X, out y, out cx, out cy, false); Off = (double)nudOffset.Value; l = (double)nudLen.Value; sr.Add(DrawLine(X - Off - l, y, X - Off, y)); sr.Add(DrawLine(X - Off - l, y + cy, X - Off, y + cy)); sr.Add(DrawLine(X + cx + Off, y, X + cx + Off + l, y)); sr.Add(DrawLine(X + cx + Off, y + cy, X + cx + Off + l, y + cy)); sr.Add(DrawLine(X, y - Off - l, X, y - Off)); sr.Add(DrawLine(X + cx, y - Off - l, X + cx, y - Off)); sr.Add(DrawLine(X, y + Off + l + cy, X, y + Off + cy)); sr.Add(DrawLine(X + cx, y + Off + l + cy, X + cx, y + Off + cy)); AllShapes.Add(sr.Group()); if (chkCu.Checked) { Cu = (double)nudCu.Value; sr.RemoveAll(); sr.Add(DrawLine(X - Off - l, y + Cu, X - Off, y + Cu)); sr.Add(DrawLine(X - Off - l, y + cy - Cu, X - Off, y + cy - Cu)); sr.Add(DrawLine(X + cx + Off, y + Cu, X + cx + Off + l, y + Cu)); sr.Add(DrawLine(X + cx + Off, y + cy - Cu, X + cx + Off + l, y + cy - Cu)); sr.Add(DrawLine(X + Cu, y - Off - l, X + Cu, y - Off)); sr.Add(DrawLine(X + cx - Cu, y - Off - l, X + cx - Cu, y - Off)); sr.Add(DrawLine(X + Cu, y + Off + l + cy, X + Cu, y + Off + cy)); sr.Add(DrawLine(X + cx - Cu, y + Off + l + cy, X + cx - Cu, y + Off + cy)); AllShapes.Add(sr.Group()); } if (chkZxsp.Checked) { sr.RemoveAll(); sr.RemoveAll(); sr.Add(DrawLine(X - Off - l, y + cy / 2, X, y + cy / 2)); sr.Add(DrawLine(X + cx, y + cy / 2, X + cx + Off + l, y + cy / 2)); Outline ol = new Outline(); sr.SetOutlinePropertiesEx(-1, new OutlineStyle(), app.CreateCMYKColor(100, 100, 100, 100), null, null, cdrTriState.cdrFalse, cdrTriState.cdrFalse, cdrOutlineLineCaps.cdrOutlineButtLineCaps); //sr.SetOutlineProperties(0.2, new OutlineStyle(2)); AllShapes.Add(sr.Group()); } if (chkZxcz.Checked) { sr.RemoveAll(); sr.Add(DrawLine(X + cx / 2, y + cy, X + cx / 2, y + cy + Off + l)); sr.Add(DrawLine(X + cx / 2, y, X + cx / 2, y - Off - l)); OutlineStyle ols = new OutlineStyle(); sr.SetOutlineProperties(0.2, ols); AllShapes.Add(sr.Group()); } if (chkJdsp.Checked) { Cu = (double)nudCu.Value; sr.RemoveAll(); sr.Add(DrawLine(X - Off - l, y + cy / 2 + Cu, X - Off, y + cy / 2 + Cu)); sr.Add(DrawLine(X - Off - l, y + cy / 2 - Cu, X - Off, y + cy / 2 - Cu)); sr.Add(DrawLine(X + cx + Off, y + cy / 2 + Cu, X + cx + Off + l, y + cy / 2 + Cu)); sr.Add(DrawLine(X + cx + Off, y + cy / 2 - Cu, X + cx + Off + l, y + cy / 2 - Cu)); AllShapes.Add(sr.Group()); } if (chkJdcz.Checked) { Cu = (double)nudCu.Value; sr.RemoveAll(); sr.Add(DrawLine(X + cx / 2 + Cu, y + cy + Off, X + cx / 2 + Cu, y + cy + Off + l)); sr.Add(DrawLine(X + cx / 2 - Cu, y + cy + Off, X + cx / 2 - Cu, y + cy + Off + l)); sr.Add(DrawLine(X + cx / 2 + Cu, y - Off, X + cx / 2 + Cu, y - Off - l)); sr.Add(DrawLine(X + cx / 2 - Cu, y - Off, X + cx / 2 - Cu, y - Off - l)); AllShapes.Add(sr.Group()); } AllShapes.Group(); this.EndEvent(); }