K40 Whisperer is a bit finicky about the SVG files that it will accept. If you are importing files from sources other than a recent version of Inkscape (v.91 or v.92) you will likely be confronted with an error indicating that the SVG scale cannot be determined (i.e. “Cannot determine SVG scale.”). This error or an error indicating that the “Units not set in SVG File” is displayed when K40 Whisperer does not have enough information to conclusively determine the intended physical size of the design in the SVG file. K40 Whisperer attempts to provide some guidance to assist in getting the SVG file into a format with the needed information. However, the information provided is sometimes incomplete. I am working toward making K40 Whisperer more flexible with respect to the file formats it will accept but until that task is completed here are a couple of procedures to make your SVG files work with K40 Whisperer.
Procedure Option A:
- Open a new SVG file in Inkscape V.91 or newer.
- Select “File”-“Import” to import the SVG design you want to use.
- Format the page size as needed (usually done by selecting “File”-“Document Properties”-“Resize page to drawing or selection”)
- Verify the “Units” are set to “mm” or “inches” in the “Custom Size” section of the “Page” Tab in the Document properties
- Save the new SVG file.
Procedure Option B:
- Open the SVG file you want to use in Inkscape V.92 or newer
- Selecting “File”-“Documents Properties”
- On the “Page” tab locate the “Scale x:” value and note the value. Change the value to another number and press enter. The new value can be anything. (Increasing the value by a small number like .001 makes it easy to change it back in the next step.)
- Change the “Scale x:” value back to the original value and press enter.
- Verify the “Units” are set to “mm” or “inches” in the “Custom Size” section of the “Page” Tab in the Document properties.
- Save the SVG file.
These procedures will each result in an SVG file that contains the necessary information to indicate the real physical size intended for the SVG file. This information is partially encoded in the viewbox attribute which is added to the SVG file when either of these procedures are followed.
In K40 Whisperer the red and blue vector paths in SVG files are converted to vector cut and vector engrave paths respectively. A few people have experienced problems getting the red and blue lines to come into K40 Whisperer properly. Here are a few of the common pitfalls that people encounter when reading SVG files into K40 Whisperer.
1. Blue and red colors in images are not converted to vectors.
If there is an image in the SVG file that contains blue or red the colors in the image are not recognized as a vector cut or engrave feature because the colored portion of an image is raster data not SVG path data. K40 Whisperer does not convert raster images to paths. If you want to convert a raster image to vector engrave or cut paths you can use the bitmap trace feature in Inkscape to convert bitmap image to paths before sending the SVG file to K40 Whisperer. The trace bitmap feature in Inkscape is located in the menu bar under “Path”-“Trace Bitmap”.
2. Fill colors are not interpreted as vectors; only the stroke colors for objects are converted to vector cut/engrave paths.
Shapes/lines in SVG files have fill colors and stroke colors. Only the stroke colors are interpreted as vector cut/engrave features. K40 Whisperer does not try to convert the filled portion of a shape to a vector path.
3. Text is a special kind of object usually defined by fill color. Text stroke color needs to be set and the text needs to be converted to paths in order to be interpreted as vector data.
3a. Although text may look like strokes (depending on the font) generally standard fonts consist of outlines that are filled with a color. So if you want to vector cut a standard font you need to change the stroke color for the font. Then you can vector cut the outline of the font (see 3b for an additional step necessary to make this work). If you don’t want to cut/engrave the outline of characters you will need to use a special font that consists of strokes not outlines, these fonts are commonly referred to as stick fonts. There are a variety of stick fonts available in the Inkscape Extension for Hershey Text. To access the Hershey Text fonts in Inkscape go to “Extensions”-“Render”-“Hershey Text…”. You can use the dialog that opens to create the text then change the stroke color to red/blue to engrave/cut. (3b. below does not apply to Hershey text).
3b. In order to vector engrave/cut the outline of standard text you also need to convert the text to paths in Inkscape using the menu options “Path”-“Object to Path”. After the text is converted to paths K40 Whisperer will recognize the text as vector engrave/cut data if the color coding of red/blue is used. In the future K40 Whisperer will be able to convert text to paths on the fly but for now it needs to be done manually.