Reject document which do not have a viewBox and a height attribute with absolute measures. In documents without these, the size of a pixel cannot be determined and the scale out the exported shape depends on the Inkscape version.
This fixes#16.
If no drawing commands are called in an Asymptote script, no PDF output is created and no error is generated. This confuses the build process, which expect a target to exist after its commands were called.
With this change, the Python wrapper checks whether a PDF was actually written and throws an error otherwise.
Empty layers would not be included in the exported Asymptote file, making it hard to work with a set of SVG files with the same layers if some of the SVG files had empty layers.
Currently, the user has to configure which SVG files are exported to DXF and which to Asymptote, without a possibility to do both.
With this change, all SVG files are exported to both file formats, if necessary.
The make file now removes targets when commands fail. In some cases (e.g. generating files), an error would lead to a half-written file being left behind and that file would not get updated in the next invocation of `make`.
This catches the OSError thrown by the subprocess module and wraps it so that in the end only an error message is printed, explaining which command failed.
Asymptote leaves a trail of partially cleaned-up temporary files behind it when PDFLaTeX is used.
With this changes, Asymptote files are compiled in a temporary directory outside the project root.
Currently, on setups where the project dir is on a different file system as the system temporary directory, a temporary directory is instead created on the project dir. This is not very nice.
With this change, we still create temporary files in the system temporary directory but copy instead of move files from and to the temporary directory, if necessary, which solves the problems.