A random link Home Compute Contact   
   
   
   

Inkscape Effects

Now that my effects collection has grown to include a few scripts that I consider interesting or even useful, I have decided to offer a tarball. To install: copy the files from the extensions directory in the tarball to the appropriate extensions directory on your system. I know these scripts require Python and PyXML at the very least. The *.inx files are coded for use on Linux. The extensions should work on Windows but it will require a little extra work. Windows user must be sure that python.exe can be found in the path and edit the *.inx files as shown here. With recent CVS versions these effects work equally well on Windows as on Linux. Just be sure that python is in your path.

Included Effects

Connect the Dots
Place a dot and a number at each path node
Draw Handles
Draw control handles on paths
FretFind
FretFind is a fretboard design tool capable of designing multiscale and microtonal fretboards
Interpolate
Blend paths
Kochify
A two step fractal effect. First select and Kochify (Load) to store a path. Then Kochify to replace each segment of the currently selected paths with the stored path.
Lindenmayer
Draw deterministic context-free Lindenmayer Systems: examples
Motion
Draw isometric 3-d wireframe path extrusions
Radius Randomize
Randomly move control points, path nodes or both within the specified radius
Random Tree
Draw a random tree. A classic application of turtle geometry
Segment Straightener
Make curved path segments a specified percentage straighter by either pulling control handles toward their node or toward a point a third of the distance along the destination straight line
Wavy
Convert rectangles into wavy lines

Helper Files

bezmisc.py
A few miscellaneous functions for bezier math
cubicsuperpath.py
An alternative path data list structure that converts all segments to cubic bezier curves and stores them as points rather than segments
ffgeom.py
Point and Segment geometry classes used in FretFind
ffproc.py
Functions that place strings and frets for FretFind
ffscale.py
Convert ET and Scala scale descriptions into useful ratio arrays
inkex.py
A helper class for creating inkscale effects
pturtle.py
A path turtle class for creating Inkscape extensions with turtle geometry
simplepath.py
Unpack SVG path data into a simple list structure that mimics the textual representation
simplestyle.py
Unpack SVG style attributes into a dictionary and pack them back up

From Ignorance to Extension

This section chronicles my quest to learn how to create extensions for Inkscape using the Python programming language. On the following pages you will find sparse commentary and some working examples for GNU/Linux. This information surely falls short of a tutorial, but it is better than nothing. More information about Inkscape extensions can be found here and here.

Extensions in Action
Inkscape extensions? Prove it!
Watch and Learn
Learning how Inkscape interacts with extensions by watching it happen.
Deleting Objects
A simple example of working with the XML DOM and command line arguments.
Altering Style
An example of accessing and altering the style attribute.
Modularize
Ideas for an extension helper module.
The Path to Parsing
My stab at making path data useful.
Others
Links to Python SVG modules.
Connect the Dots
An example of accessing and altering path data and adding nodes.
Wavy
A sine tool.
Draw Control Handles
Draws the selected paths' control handles.
Kochify
A Koch's snowflake tool.

The Module
My Inkscape extension helper module.
The Files
Directory listing of related files.



clip art

     
   
   
Home Compute Contact