SVG Guidelines

The SVG specification is complex and Shape Workshop doesn't support everything. If you try to import an SVG file which contains unsupported features the svg load could fail and could cause undefined behaviour which could corrupt your scene.

General guidelines:

  • Save your project before importing an SVG file: For safety always save your project before importing from an SVG file.
  • Keep your SVG project simple: Try to limit your scene to: paths, rectangles, circles and polygons. Don't use textures, groups, layers or other features which aren't explicitly supported.
  • Import objects bit-by-bit: If you design your whole scene with 200 objects and then try to import it all there's a good chance something will go wrong and you'll waste time. It's safer to import objects 5 at a time because if something goes wrong it will much easier to find out what.
  • Convert to paths if possible: If possible convert your objects to paths. Paths have the best probability of being imported correctly.
  • Avoid compound paths: Avoid drawing half a path and then going back and linking extra points onto the end of the path. This can result in a group being created which is not supported.
  • Avoid accidental paths: Sometimes it's easy to draw a small section of path by accident. If it doesn't have a stroke it's hard to notice but this can cause the import to fail.
  • Strokes: Strokes of 1px and 0px are supported. The problem with strokes is that the actual outline of the object sits in the center of the stroke. For large strokes the path's sprite is significantly bigger than the path. There's no simple way to access the coordinates of the outside of the stroke. If you want big strokes you would need to do some post processing of raster sprites which are created.
  • Sprite Generation: Currently Shape Workshop uses a custom parser to parse the SVG objects. However, the Batik library is used to render the sprites from the svg file. This happens in two stages - first the svg paths are rendered then the sprites are rendered. This will work fine as long as you don't use un-supported shapes. If you use an un-supported shape this could cause the sprites to stop being in synch with the paths
  • Read the specific guidelines for Illustrator and Inkscape

Illustrator supported features:

  • Pen Tool: Supported for open/closed paths both polylines and benzier curves
  • Rectangle: Supported for both standard and rounded rectangles
  • Polygon Tool: Supported
  • Star Tool: Supported
  • Ellipse Tool: Only circles are supported not ellipses
  • Paintbrush Tool: Not supported
  • Pen Tool: Use at your own risk
  • Gradient Fills: Supported
  • Strokes: Supported up to 1px
  • Text: Not supported
  • Layers: Not supported
  • Groups: Not supported

Inkscape supported features:

  • Rectangle: Supported
  • Circle: Must be converted to path (Path->Object To Path)
  • Pen Tool: Supported
  • Sprial: Supported
  • Polygon: Supported
  • Star: Supported
  • Benzier Curve Tool: Supported
  • Groups: Not supported
  • Text: Not supported

For an example of everything that's supported by Illustrator and Inkscape check the Shape Test example scene in the download bundle.

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. The supported tag styles are: <foo>, [foo].
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.