Oberon CurveWorks for CorelDRAW/Corel DESIGNER

CurveWorks for CorelDRAW 10, 11, 12, X3, X4, X5, X6, X7 and Corel DESIGNER 10 and 12

Oberon CurveWorks is a set of professional quality macros for working with curves in CorelDRAW. These macros add some missing CAD features to CorelDRAW and help improve document editing workflow.

Now it’s possible to do more technical-oriented graphic work without using AutoCAD or other expensive packages.

Get Oberon CurveWorks for CorelDRAW 10-X5

Get Oberon CurveWorks for CorelDRAW X6-X7


Oberon CurveWorks includes the following components:

Remove Overlap and Remove Intersections

These two macros are very closely related. Both remove intersections from a curve. Whenever two segments intersect, these segments are broken apart at the intersection point and then regrouped in such a way that there is no intersection anymore while the look of the curve doesn’t change.

Remove Overlap tends to create a single shape from the whole combined boundary of the curve and then individual sub-paths for the "holes" are created.

Remove Intersections cuts off the filled portions of the curve which become independent subpaths.

The following two pictures illustrate the difference of behavior of these two features:


Even when a single subpath intersects itself, CurveWorks still can remove the intersections correctly:


These two commands work only on individual curves (which still can contain multiple subpaths) but does not remove overlapping regions of several curves. You must combine the curves first before trying to remove their overlaps.

Note: These commands work fairly well in most cases, however there are some rare situations when they will fail. They cannot process curves when more than two segments intersect at exactly the same point or where two segments just touch each other without actually intersecting. In these cases an error message may appear or the overlap may not be removed properly. This is the limitation of the current algorithm used.

Connect Curves and Join Curves

These two macros join the closest open curves and forms a single closed curve.

Connect Curves finds the closest end nodes of open selected curves and joins them by adding a straight line between them.

Join Curves find the closest end nodes just like Connect Curves does, however it tries to find a real or imaginary point of intersection and extends (or cuts off) the segments so they meet at the intersection. If there is no intersection point or if the intersection point is too far away, the segments are joined by adding a straight line, same as Connect Curves.

When either command is issued, a dialog box appears prompting for the maximal distance between end nodes to be joined:


If Try auto-closing paths first is selected, then CurveWorks will attempt to close each open subpath first before trying to connect it to other open curves.

The difference between Connect Curves and Join Curves can be seen on the following figure:


Fuse Curves

Fuse Curves is very similar to Connect or Join Curves commands but doesn’t connect nodes that are even slightly off. Fuse Curves joins only points that overlap (sit on top of each other). This command becomes especially useful when used in conjunction with Explode or Cut Curves commands.


This command breaks the selected curves apart at each node thus making each segment a separate curve object. You can then delete some segments, select the rest and use Fuse Curves command to assemble the curve back again thus making it rather easy to delete whole segments without having to manually break curves apart.

Cut Curves

This command finds all intersection points of all selected curves and then breaks each intersecting path at the intersection points effectively making each segment cut the others in pieces:


You can delete unwanted pieces and merge the remaining paths together using Fuse Curves command thus simulating the operation of standard Trim/Weld/Intersect commands or any combination of thereof.

Fillet and Chamfer

Fillet and Chamfer commands are used to trim cusp corners of the selected curves.

Fillet cuts off the cusp corner and replaces it with a circular arc of a given radius.

Chamfer creates a beveled corner by adding two nodes at the specified distance from the cusp, then removing the cusp node.

When either command is issues, a dialog box is shown prompting for fillet radius or chamfer distance:


All the selected curves are processed. You can also use the Shape tool to select individual nodes of the curve and CurveWorks will trim those corners only.

Note that cusps only are trimmed. Smooth and Symmetrical nodes are ignored.

These commands can be used on both line and curve segments.


Cleanup Nodes

This command removes any overlapping nodes. Sometimes when importing artwork some curves may have two or more nodes placed exactly on top of each other and it is quite difficult to remove them manually.

CurveWorks makes it a breeze. Just a single mouse click is all it takes now to correct the problem.

Curve Statistics

This command shows statistical information about the selected curves which includes the total curve length, total curve area, as well as the number of nodes, segments and subpaths in the selected curves.

The area reported is correctly calculated for curves with holes or even self-intersecting paths.


The selection may include most object types such as rectangles, ellipses, polygons without having to convert them to curves first. However objects such as OLE objects, bitmaps and text are not processed.

System Requirements

CurveWorks for CorelDRAW 11:

A retail version of CorelDRAW 11.633 or later is required.

You must ensure that Visual Basic for Applications is installed along with CorelDRAW 11. VBA is installed in CorelDRAW 11 by default but if you ran a custom setup and did not include VBA in the installation, you will need to install it before installing using Oberon CurveWorks.

CurveWorks for CorelDRAW 10:

This program requires CorelDRAW 10 Service Pack 1 (10.427) or later. Correct functioning under the original release of CorelDRAW 10 (10.410) is not guaranteed. This program will not run under earlier versions of CorelDRAW.

If you don’t have the latest version of CorelDRAW 10, download the service pack(s) from Corel web site: http://www.corel.com/support/ftpsite/pub/coreldraw/draw10suite/index.htm

You have to have Visual Basic for Applications installed to run this program. VBA is not installed by default with CorelDRAW 10 Graphics suite. You need to do a custom installation and choose to install VBA. You can run the VBA install manually by running the vba6.msi installation package from \Corel\Graphics10\Config\Redist\VBA6 folder of the CorelDRAW 10 CD#1.


Run the setup program and it should install all the files for you automatically. Make sure that you have VBA installed beforehand. The setup program also creates a new workspace that is automatically made active. You can revert to your previous workspace by just going to Tools>Options>Workspace in CorelDRAW and selecting the workspace that you want.

Launching CurveWorks

To launch Oberon CurveWorks, start CorelDRAW first. If during installation you specified that you wanted to activate CurveWorks workspace in CorelDRAW, you will see a new toolbar and menu section:



You can use various CurveWorks commands by selecting the corresponding buttons in the menu or toolbar or by using the associated shortcut keys.

If you didn’t activate the workspace during installation, you still can use CurveWorks by going to Tools>Visual Basic>Play… menu to bring up the VBA Macros dialog:


Select "CurveWorks (CurveWorks11.gms)" item (or "CurveWorks (CurveWorks10.gms)" if you use CorelDRAW 10) from Macros in list and start the corresponding macro by selecting it in Macro name list and clicking Run button.


You need to register the program to continue using it. The registration fee is US$9.95.

The same registration number can be used to install CurveWorks for CorelDRAW 10-X7.

Register CurveWorks online:

Get Oberon CurveWorks for CorelDRAW 10-X5

Get Oberon CurveWorks for CorelDRAW X6-X7