What is Circles on Curves?
Circles on Curves is a macro that, at its most basic, creates circles, with the location of those circles based in part on the outlines of selected curve shapes.The size of the circles is specified by the user. The locations of the circles are based on (1) the outlines of selected curve shapes and (2) spacing settings specified by the user.
The details of how this can be done, and the consequences - the variety of tasks that can be accomplished using the macro - are of course more involved!
See Circles on Curves in use:
Demo 01 - simple circles on open curves:
Demo 02 - use some lateral scatter:
Demo 03 - overlap and weld:
Demo 04 - closed curve shapes (flowers):
Demo 05 - revision cloud:
Demo 06 - pseudo-3D string (worms, noodles...):
Demo 07 - text outlined by circles:
Demo 08 - scalloped edges:
Circles(?), Spacing, and Lateral Scatter.
In many cases in this description, the word "circle" will refer not to a circular CorelDRAW Ellipse, but to a closed curve that describes the shape of a circular ellipse.
When figuring the locations for circles, the macro evaluates individual subpaths of curves.
If a non-zero lateral scatter has been specified, then a circle can be randomly (within specified limits) offset laterally with respect to the direction of the subpath at the calculated location point on the subpath.
Overlap and Free Modes.
There are two general modes for positioning circles, accessible through the tabbed user interface.In Overlap mode, spacing is specified as a percentage of the circle diameter, and is limited to a maximum of 99%. Lateral scatter is specified as a percentage of the circle diameter, and is limited by the spacing percentage. The smaller the spacing percentage is, the larger the allowed lateral scatter. These limits are intended to ensure that each circle overlaps the circle or circles immediately adjacent to it.In Free mode, spacing can be specified either as an absolute distance, or as a percentage of the circle diameter. Lateral scatter is specified as a percentage of the circle diameter.
Using the macro.
Basic use of the macro involves selecting one or more curves, then clicking on one of the "Create Circles..." buttons.Create Circles just creates circles. If Use Ellipses is checked, then ellipses are produced rather than 4-node curves. Use red circles at Start and Cusp nodes causes the circles at subpath start nodes and cusp nodes to be created with red outlines. This can be useful as a diagnostic for understanding what is going on with the macro, by helping one to identify those curve features that are being used to determine the locations for the circles created.Create Circles, then Weld creates the circles (4-node curves), then Welds them. Break at all Cusp nodes can be used to set the stage for subsequent operations that would be applied based on subpaths, e.g., Artistic Media effects.Create Circles, then Boundary is enabled when a single, closed curve shape is selected. It creates the circles (4-node curves), then creates a Boundary from them. Break at all Cusp nodes can be used to set the stage for subsequent operations that would be applied based on subpaths, e.g., Artistic Media effects. One example of this is the creation of "revision clouds", as shown in one of the videos linked earlier in the post.
Bogus Symmetrical Nodes.
CorelDRAW's shaping operations (including Weld and Boundary) can in some situations produce curves that contain what I refer to as "bogus" symmetrical nodes. These are nodes that were symmetrical before the shaping operation, and still "think" that they are symmetrical, but cannot actually be symmetrical in the new geometry produced by the shaping operation. This results in geometry that looks correct, but that can then become distorted in unexpected ways if node editing operations are carried out that cause the bogus symmetrical nodes to "wake up" and start behaving symmetrically.If Fix bogus Symmetrical Nodes is checked, then the macro inspects curves created by Weld and Boundary operations it performs, identifies such nodes, and "fixes" those nodes by changing them to be either smooth or cusp nodes, depending on the geometry. The Prefs tab has settings used in the process of evaluating curves to identify such nodes.If you are particularly interested in bogus symmetrical nodes and how to fix them, then please ask. I have a separate macro that can be used as a general tool to evaluate curves and identify (and optionally fix) such nodes.
Using the Comboboxes.
The boxes for numeric entry are comboboxes. The drop-down list for a combobox can contain values stored for convenient access. If a combobox is not locked, then when a value in thatcombobox is used by the macro, that value is added to the top of the list. If an existing value is used from the list, then that value is moved to the top of the list. Values can also be manually added to the list.
Ctrl+clicking on a combobox sets that combobox to its default value.
Right-clicking on a combobox brings up a menu of options for managing it.
These options may include:
Units of Distance.
For a combobox that represent a distance (e.g., Circle Diameter), values are applied by the macro in whatever units (inches, millimeters, etc.) are shown beside the combobox. Those units can be specified by the user through the right-click context menu.
If “Follow Horizontal Ruler Units” is chosen, then the units for the combobox are the same units that are in use in the document for the horizontal ruler. If those units are changed in the document, then the macro automatically changes the units in the combobox to match.
Although this documentation makes references to “the list” for the combobox, there is not necessarily only one list. The combobox maintains a separate list for any unit that is used in it. When units for the combobox are changed, then the list associated with those units is loaded. The number of decimal places, and also whether a list is locked or not, are things that are handled independently for each list.
A Video Describing and Demonstrating the Special Features of My ComboBoxes:
Circles on Curves subs in the Macro Manager.
Circles on Curves was put together in a CorelDRAW X7 environment, and should work in versions X7-2020.
OK, where's the macro?
JQ_Circles_on_Curves_Current.zip (most recently updated 2021-07-17).
That includes the .GMS file and a simple icon that can be used on a CorelDRAW Toolbar.
Please note that, starting with the version released on 2020-05-03, this macro uses a different scheme for storing combobox value lists and some preferences in the Registry. If you have been using an older version of this macro, those "old" value lists and preferences will not be there when you use the newer version. If you want to "clean out" those old entries that are not used by the newer version of the macro, the best way to do so is to run the Remove_Circles_on_Curves_Registry_Entries sub, which will set the macro back to its default values.
This version will not delete "old" presets (located in a file in the user's GMS folder), but it will convert those presets to a newer format.
this macro is awesome
I am glad to know that updating X7 solved the problem!
Thank you for sharing that result.
Updating at 22.214.171.1241 solve the problems. Something related with Win 10 probably. Thank you for your hard work and support,
I can only test on the few computers I own, and I don't see that error.
If you are running 126.96.36.1991, though, then be aware that CorelDRAW X7 had multiple updates. My installation reports 188.8.131.521.
I just checked, and Update 6 is still shown at https://www.coreldraw.com/en/support/updates/#cdgs-x7.
Forgot the message. Sorry.