//===========================================================================
//===========================================================================
// ArtRage Script File.
//===========================================================================
//===========================================================================
//===========================================================================
// Version Block - Script version and ArtRage version:
//===========================================================================
ArtRage Version: ArtRage 3 Studio Pro
ArtRage Build: 3.0.8
Professional Edition: Yes
Script Version: 1
//===========================================================================
// Header block - Information about the painting which generated this script:
//===========================================================================
Painting Name: "Untitled"
Painting Width: 1280
Painting Height: 1024
Painting DPI: 72
//===========================================================================
// Script data follows:
//===========================================================================
real VectorLength(real x, real y)
{
return sqrt(x * x + y * y)
}
void Circle(real rRad) {
// Prepare for the stroke.
real rCX = 640
real rCY = 512
real x = rCX
real y = rCY + rRad
real pi = 3.14159265
// Do the stroke header - sets up head angle and anticipated stroke direction.
Wait: 0.000s Loc: (x, y) Pr: 1 Ti: 1 Ro: 0 Rv: NO Iv: NO
No
Count: 3
Loc: (x - 3, y - 3) Pr: 1 Ti: 1 Ro: 0
Loc: (x - 2, y - 2) Pr: 1 Ti: 1 Ro: 0
Loc: (x - 1, y - 1) Pr: 1 Ti: 1 Ro: 0
Loc: (x - 3, y - 3) Pr: 1 Ti: 1 Ro: 0
Loc: (x - 2, y - 2) Pr: 1 Ti: 1 Ro: 0
Loc: (x - 2, y - 2) Pr: 1 Ti: 1 Ro: 0 Dr: (1, 0) Hd: (0, 1)
Loc: (x - 1, y - 1) Pr: 1 Ti: 1 Ro: 0 Dr: (1, 0) Hd: (0, 1)
// Do the circle
// MouseDown point
Loc: (x, y) Pr: 1 Ti: 1 Ro: 0 Rv: NO Iv: NO
// Body of circle.
for (real s = 0; s <= pi * 2.05; s += pi / 100) { // Slightly more than a circle, so paint end overlaps start
x = rCX + sin(s) * rRad
y = rCY + cos(s) * rRad
Loc: (x, y) Pr: (cos(s * 2) / 2 + 0.5) Ti: 1 Ro: 0 Rv: NO Iv: NO
}
// MouseUp point.
Loc: (x, y) Pr: 1 Ti: 1 Ro: 0 Rv: NO Iv: NO
return
}
int nCircleCount = 5
real rMaxRad = 500
string sYourName = "Fred"
InputBox("How many circles: $$nCircleCount\n\r And how big should the largest be: $$rMaxRad\n\rThanks $$sYourName.")
// Tidy up the input data
if (nCircleCount > 10) nCircleCount = 10
if (nCircleCount < 1) nCircleCount = 1
if (rMaxRad < 20) rMaxRad = 20
if (rMaxRad > 500) rMaxRad = 500
real rRadStep = rMaxRad / nCircleCount
Wait: 0.000s EvType: Command CommandID: SetToolProperty ParamType: ToolProp Value: { 0x0B2D05E64 (Size), 0.56 }
for (int n = 1; n <= nCircleCount; n++) {
real rRad = rRadStep * n
MessageTip("Circle number %%n at radius %%rRad")
Circle(rRad)
}