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