summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-10-02Yield to caller of process_context() before wait() is called on the process.Michael Schwarz1-4/+4
2015-10-02Don’t mask exceptions when process.kill() fails.Michael Schwarz1-1/+5
2015-10-02Fixed asymptote export.Michael Schwarz1-1/+6
stdout was not being redirected into a pipe.
2015-09-30Reject documents without absolute size.Michael Schwarz2-0/+22
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.
2015-09-30More robust document scale calculation.Michael Schwarz1-41/+57
Rewrite of the code which calculates the document scale and simplified code path which applies the necessary transformations.
2015-09-30Include input file path in error messages.Michael Schwarz2-34/+41
2015-09-30Workaround for LayerMoveToPrev/Next not selecting correct layer.Michael Schwarz1-7/+12
Inkscape does not reliably select the previous or next layer when using LayerMoveToPrev or LayerMoveToNext.
2015-09-29Only convert SVG to Asymptote/DXF if necessary.Michael Schwarz1-3/+4
Instead of always converting all SVG files to both Asymptote and DXF, only the formats which may be used as dependencies are compiled.
2015-09-16Added some missing comments in the make file.Michael Schwarz1-3/+7
2015-09-16Implemented Asymptote dependency tracking.Michael Schwarz2-22/+50
2015-09-16Abstraction which allows a running process to be used as a context manager.Michael Schwarz1-1/+16
2015-09-16Separate module for make file stuff.Michael Schwarz2-7/+8
2015-09-16Wrap all Python main functions with decorator.Michael Schwarz4-31/+28
This decorator check if a module was called as the main module and catches exceptions.
2015-09-16Check for Asymptote not writing a PDF file.Michael Schwarz2-2/+5
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.
2015-09-16Fixed layer mixup when no layer was selected in Inkscape.Michael Schwarz1-2/+2
The Inkscape export would put objects into the wrong layers or miss objects completely when no layer was selected.
2015-09-16Fixed empty layers missing from Asymptote export.Michael Schwarz1-38/+46
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.
2015-09-16Convert all SVG file to DXF and Asymptote.Michael Schwarz2-12/+3
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.
2015-09-16Ignore $PYTHONPATH.Michael Schwarz1-1/+1
We only use standard library features and thus can safely ignore PYTHONPATH.
2015-09-16Only print abstract information about commands being executed.Michael Schwarz1-4/+19
Most commands only show the python wrapper being called, which does not tell the user much anyways.
2015-09-16Remove targets when commands fail.Michael Schwarz1-0/+3
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`.
2015-09-16Prevent Python stack trace when an external command failed.Michael Schwarz1-4/+8
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.
2015-09-16Compile Asymptote files in separate working dir.Michael Schwarz1-4/+11
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.
2015-09-16New workaround for temp dir on different device.Michael Schwarz2-2/+21
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.
2015-09-15Revert "support: Workaround for tempdir on different mount."Michael Schwarz1-13/+1
This reverts commit 3d21efd4897053e760ad7f4ce14a5482f66e858c.
2015-08-27Fixed automatism which clobbered file name extensions.Michael Schwarz1-1/+1
2015-08-27Fixed make warning.Michael Schwarz1-1/+1
This fixes a bug producing warnings like the following: Makefile:91: target 'src/cube.pdf' given more than once in the same rule
2015-08-27Makefile: Fixed a potential bug which would include too many files.Michael Schwarz1-1/+1
2015-08-14Updated readme for new features.Michael Schwarz1-7/+42
2015-08-10Asymptote export: Call variable with all paths `all`.Michael Schwarz1-1/+1
2015-08-08Makefile: Fixed missing dependencies.Michael Schwarz1-2/+2
Asymptote and OpenSCAD targets would not include intermediate files in their dependencies.
2015-08-07Inkscape export: Removed stray semicolon in exported Asymptote files.Michael Schwarz1-1/+1
2015-08-07Inkscape export: Fix elliptical arcs not being closed.Michael Schwarz1-3/+8
2015-08-07Reworked make file.Michael Schwarz1-20/+25
This time to remove duplicate functionality in generating list of different products.
2015-08-07Makefile: Fix duplicate dependency warning.Michael Schwarz1-1/+1
2015-08-07Use Python script to run Asymptote.Michael Schwarz4-10/+33
2015-08-07Inkscape export: Fix wrong units in Asymptote export.Michael Schwarz2-17/+16
The generate asymptote file would use the Inkscape document coordinates but Asymptote always uses PostScript points.
2015-08-07Inkscape export: Use original file name for temp file.Michael Schwarz1-1/+1
Because we can.
2015-08-06Integrated Asymptote compilation into makefile.Michael Schwarz2-8/+25
2015-08-06Inkscape export: Support to export to Asymptote.Michael Schwarz2-59/+87
2015-08-06Reworked Inkscape command line generation.Michael Schwarz2-92/+148
The old version was brittle and made conditional operations hard.
2015-08-06Inkscape export: Renamed module to inkscape.Michael Schwarz13-1/+1
This module will later be used for other export types than just DXF.
2015-08-06DXF export: Not tied to exporting to DXF anymore.Michael Schwarz2-31/+34
2015-08-06Inkscape export: Optionally don't transform strokes to shapes.Michael Schwarz2-24/+57
2015-08-06Simplified makefile.Michael Schwarz1-26/+16
2015-07-12support: Workaround for tempdir on different mount.Michael Schwarz1-1/+13
This adds a workaround for setups where the user has checked out the project on a different mount point than where the temporary directory is located.
2015-03-21dxf export: Use different colors for layers.Michael Schwarz1-8/+18
With this change, different colors are assigned to shapes. Shapes on the same layer get the same color. This allows them to be grouped by color by software that doesn’t support layers (e.g. Lasercut 5.3).
2015-03-15Fix make jobserver warning.Michael Schwarz2-3/+12
When running the make file with a number of jobs, the following warning was generated by the make process used to parse the dependency makefile generated by OpenSCAD: make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. With this change, the variables MAKELEVEL and MAKEFLAGS are removed from the environment before starting the child make process.
2015-03-15Compile OpenSCAD files to DXF.Michael Schwarz2-25/+49
This adds support to selectively compile some OpenSCAD files to DXF instead of STL.
2015-03-15Fixed text on path export.Michael Schwarz1-6/+23
This fixes exporting SVG files which contain text on a path where the path is on a different layer than the text (which is necessary unless the path should also be combined with the text in a single layer).
2015-03-14Moved .gitignore rules to top level.Michael Schwarz2-7/+5
This moves all ignore rules to the .gitignore files in the root directory. This is so that users can edit the .gitignore file in src without the risk of merge conflicts if we ever need to edit the default rules. src/.gitignore is now empty but is left in the repository so that the src directory is automatically created on checkout.