I have been using CorelDraw for years, and I ashamedly realized I don't know how to make a dot..[:S].. It is simply to mark the center of a circle. Since I need it very exact on a printout, I need a single point--not a little circle. The circles requiring the dot to mark center are usually in hairline. I imagine there must be a very easy way to do this.......
Thanks very much for any help!
Janet
How exact? You could make the circle (with no outline) really small. 0.001mm seems to be the smallest I can make it go. Is that small enough? (I had to zoom in 25,000% on an A4 page to even see it.) Then align with the centre of the circle.
I wouldn't use a font as the dot unless you convert it to curves before centering. If you leave it as text it will not be at true center see below. I'd suggest a macro. See code below this image as recorded with X3. May not work in X7.
Sub DotAtCenter() Dim OrigSelection As ShapeRange Set OrigSelection = ActiveSelectionRange Dim s1 As Shape Set s1 = ActiveLayer.CreateEllipse2(5.611941, 7.098469, 0.003815, -0.003815, 360#, 360#, False) s1.Fill.ApplyNoFill s1.Outline.SetProperties 0.003, OutlineStyles(0), CreateCMYKColor(45, 45, 45, 100), ArrowHeads(0), ArrowHeads(0), False, False, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100, , , 45# s1.Fill.UniformColor.CMYKAssign 45, 45, 45, 100 s1.Outline.SetProperties 0# ActiveDocument.ReferencePoint = cdrCenter s1.SetSize 0.001, 0.001 s1.AlignToShape cdrAlignHCenter, OrigSelection(1), cdrTextAlignBoundingBox s1.AlignToShape cdrAlignVCenter, OrigSelection(1), cdrTextAlignBoundingBoxEnd Sub
I'm afraid I have never used macros, so your post was a bit like Greek to me.s...:-).... It certainly would be helpful for a lot of things to learn how to use macros.
I guess it would be nice to have a keyboard shortcut to a small, solid (filled) circle..... I would have thought a point was something graphics artists would use regularly...
place this file in C:\Program Files\Corel\CorelDRAW Graphics Suite X5\Draw\GMS
restart Corel.
Draw a shape then go tools/visual basic/play
find the DotAtCenter macor and hit run.
You can also assign your own shortcut key/hot key to it.
DotAtCenter.gms
I'm sure Myron's macro will work for you, but it's very easy to create your own. (I have X7, but this should still work for you.)
This will just draw a dot for you at whichever point on the page you chose, but you could add extra steps to position the dot, add a circle with the dot aligned to the centre or pretty much whatever else you wanted to do.
If you open the file tree for the GlobalMacros folder you should now see the macro you've created.
Right-click on this and you should see the option to 'Assign Keyboard Shortcut...'.
You could also assign this macro to a toolbar button by going to Tools > Options > Customization > Commands, then select Macros from the drop-down. You should see one called RecordedMacros.MakeDot (or whatever you called yours). Drag the macro onto whichever toolbar you want. Click OK. Done.
HTH
Wow--thanks Myron!
I inserted your gms file in my D:\GRAPHICS\CorelDRAW Graphics Suite X5\Draw\GMS.
I have X5 and thus no tools/visual basic/play.
I went instead to Tools>Macros>Macro Manager but was unable to find DotAtCenter.gms.
Please see screen capture.
Thanks Roy--these look like very good instructions. As soon as I get Myron's macro functioning, I will try this out to make my own....:-)....
The question was for a vector dot when working in vectors....:-).... It would be a real nuisance to have to go to text typing and then center it.....
I just thought there might be a way to do it with a pen/pencil/brush type tool....like in real life....:-)....
Similar to request made here http://community.coreldraw.com/talk/coreldraw_x3_and_older/f/19/p/47941/230053#230053
Following code will add 0.002 mm dot (C0, M0, Y0 K100) to the centre of selected shape/shapes
Sub CenterDot()Dim s As Shape, srDot As Shape, sr As ShapeRangeDim x As Double, y As Double, w As Double, h As DoubleActiveDocument.Unit = cdrMillimeterSet sr = ActiveSelectionRangeFor Each s In srSet srDot = ActiveLayer.CreateEllipse2(s.CenterX, s.CenterY, 0.001, 0)srDot.Fill.UniformColor = CreateCMYKColor(0, 0, 0, 100)srDot.Outline.Width = 0Next sEnd Sub
Hope this helps and remain with
Best regards
Mek
CenterDot.gms