Oberon Function Plotter for CorelDRAW/Corel DESIGNER

Oberon Function Plotter is an advanced VBA macro add-on for CorelDRAW 10, 11, 12, X3, X4, X5, X6, X7 and Corel DESIGNER 10, 12 that allows you to plot parametric function graphs by defining the functions in analytical form. There are quite a few programs that allow to create function lots already however most of them are self-contained modules with limited editing and illustration capabilities. Oberon Function Plotter coupled with the editing power of CorelDRAW provides the highest output quality.

If you are a student preparing your math paper or a scientist doing a scientific report, Oberon Function Plotter will help make your work precise and appealing. Even if you are a designer and look for certain curve patterns for your design, Oberon Function Plotter is for you.

Get Oberon Function Plotter for CorelDRAW 10-X5

Get Oberon Function Plotter for CorelDRAW X6-X7



  • Accepts analytical function representations such as x(t) = sin(t) + cos(2*t).
  • Supports over 30 standard functions including sin, cos, tan, sqrt.
  • Define your own functions with any number of arguments.
  • Instant formula syntax check.
  • Live plot preview right in the dialog.
  • Automatic scale and axes adjustment.
  • Fully customizable parameters (colors, lines, text, etc).
  • Save/load projects.
  • Import/export custom function lists.
  • Unlimited number of function plots on a single graph.
  • Resulting curves in CorelDRAW/Corel DESIGNER are smooth and with minimal number of nodes.
  • New. Plots tabulated data. Copy pairs of X and Y coordinates from Microsoft Excel or import data from TXT/CSV file and have it plotted.


  • New. Built in data editor for tabulated functions:


System Requirements

Function Plotter 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.

Function Plotter for CorelDRAW 11/12/X3/X4/X5/X6/X7 and Corel DESIGNER 10/12:

A retail version of CorelDRAW/Corel DESIGNER is required.

You must ensure that Visual Basic for Applications is installed along with CorelDRAW / Corel DESIGNER.


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 Function Plotter

To launch Oberon Function Plotter, start CorelDRAW first. If during installation you specified that you wanted to activate Function Plotter workspace in CorelDRAW, you will see a new button on toolbar:


You can start Function Plotter by clicking this button. The same command also appears on the Tools menu.

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


Select "Plotter (Plotter11.gms)" item from Macros in list and
start the macro "Main.StartPlotter" 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 Function Plotter for CorelDRAW 10, 11, 12, X3, X4, X5 and X7.

Register Function Plotter online:

  • Register Oberon Function Plotter through RegNow using a secure

  • Acknowledgements

    Special thanks go to Erik Vestergaard for his help in testing the program as well as for his useful suggestions on its features.

    Function Plotter: Supported Functions

    The following functions, operators and constants are pre-defined in Oberon Function Plotter:

    abs(t) Returns the absolute value of a number, a number without its sign.
    arccos(t) Returns the arccosine of a number, in radians in the range 0 to Pi.
    arccosh(t) Returns the inverse hyperbolic cosine of a number.
    arcsin(t) Returns the arcsine of a number in radians, in the range -Pi/2 to Pi/2.
    arcsinh(t) Returns the inverse hyperbolic sine of a number.
    arctan(t) Returns the arctangent of a number in radians, in the range -Pi/2 to Pi/2.
    arctan2(ty,tx) Returns the arctangent of the specified x and y coordinates, in radians between -Pi and Pi, excluding -Pi.
    arctanh(t) Returns the inverse hyperbolic tangent of a number
    ceil(t) Rounds a number up, to the nearest integer
    cos(t) Returns the cosine of an angle
    cosh(t) Returns the hyperbolic cosine of a number
    degrees(t) Converts radians to degrees.
    exp(t) Returns e raised to the power of a given number.
    fact(t) Returns the factorial of a number, x!
    fix(t) Returns the integer part of a number.
    floor(t) Rounds a number down, to the nearest integer
    frac(t) Returns the fractional part of a number.
    if(t,a,b) Returns the value of a if t is not zero, otherwise returns b.
    integrate(f(x),x,a,b,dx) Returns a numerical approximation to the integral of f with respect to x from a to b. dx is an optional parameter representing the step of integration.
    ln(t) Returns the natural logarithm of a number.
    log(t,base) Returns the logarithm of a number to the given base.
    log10(t) Returns the base-10 logarithm of a number.
    max(a,b) Returns a greater number of a or b.
    min(a,b) Returns a lesser number of a or b.
    mod(t,divisor) Returns the remainder after a number is divided by a divisor.
    product(expr,n,n1,n2,s) Evaluates the expression ‘expr’ for each integer value of index ‘n’ from ‘n1’ to ‘n2’ and multiplies the results up. If the step ‘s’ value is not specified, 1 is assumed
    radians(t) Converts degrees to radians.
    rand(t) Returns a random number greater than or equal to 0 and less than 1. Parameter is optional. If omitted or positive, returns next random number. If zero, returns last generated number. If negative, resets the generator to a new sequence using the value as random seed.
    sign(t) Returns the sign of a number: 1 if the number is positive, zero if the number is zero, or -1 if the number is negative.
    sin(t) Returns the sine of an angle.
    sinh(t) Returns the hyperbolic sine of a number.
    sqrt(t) Returns a square root of a number.
    sum(expr,n,n1,n2,s) Evaluates the expression ‘expr’ for each integer value of index ‘n’ from ‘n1’ to ‘n2’ and adds up the results. If the step ‘s’ value is not specified, 1 is assumed
    tan(t) Returns the tangent of an angle.
    tanh(t) Returns the hyperbolic tangent of a number.
    + Addition: A + B
    Subtraction: A – B
    * Multiplication: A * B
    / Division: A / B
    ^ Power: A ^ B
    & Logical AND: (A & B) = 1 if both A and B are not zero, 0 otherwise
    | Logical OR: (A | B) = 1 if either A or B is not zero, 0 otherwise
    ! Logical NOT: (!A) = 1 if A is zero, 0 otherwise
    > Greater than: (A > B) = 1 if A is greater than B
    < Less than: (A < B) = 1 if A is less than B
    >= Greater than or equal to: (A >= B) = 1 if A is greater than or equal to B
    <= Less than or equal to: A <= B = 1 if A is less than or equal to B
    = Greater than or equal to: (A = B) = 1 if A is equal to B
    <> Less than or equal to: A <> B = 1 if A is not equal to B
    pi Returns the value of Pi, 3.14159265358979
    e Returns the value of the base of natural logarithm, 2.71828182845905