//=========================================================================== //=========================================================================== // 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) }