svg2gcode 4.0.1__tar.gz → 4.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- svg2gcode-4.0.1/README.md → svg2gcode-4.0.3/PKG-INFO +23 -3
- svg2gcode-4.0.1/PKG-INFO → svg2gcode-4.0.3/README.md +6 -20
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/pyproject.toml +1 -1
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/__init__.py +1 -1
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/LICENSE +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/__main__.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_examples/README.md +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_examples/gcode_output.zip +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_examples/kye_circle_paws_orig copy.svg +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_examples/kye_circle_paws_orig.svg +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_examples/letterandsigns.svg +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/LICENSE +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/__init__.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/__init__.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/_compiler.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/interfaces/__init__.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/interfaces/_abstract_interface.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/interfaces/_fan_controlled_gcode.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/interfaces/_gcode.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/css_color.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/formulas.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/__init__.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_abstract_chain.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_abstract_curve.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_circular_arc.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_cubic_bazier.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_elliptical_arc.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_line.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_line_segment_chain.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_matrix.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_quadratic_bazier.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_raster_image.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_smooth_arc_chain.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_vector.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/svg_parser/__init__.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/svg_parser/_parser_methods.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/svg_parser/_path.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/svg_parser/_transformation.py +0 -0
- {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/svg_parser/debug_methods.py +0 -0
|
@@ -1,8 +1,27 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: svg2gcode
|
|
3
|
+
Version: 4.0.3
|
|
4
|
+
Summary: svg2gcode: convert an SVG (Scalable Vector Graphic) image to gcode.
|
|
5
|
+
Keywords: scalable vector graphics,svg,image,laser cutter,laser engraving
|
|
6
|
+
Author-email: Johannes Noordanus <mailjohannes.mailnoordanus@gmail.com>
|
|
7
|
+
Requires-Python: >=3.11
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Requires-Dist: numpy >= 1.24.3, <= 2.4.6
|
|
12
|
+
Requires-Dist: Pillow >= 12.2.0
|
|
13
|
+
Requires-Dist: image2gcode >= 2.9.17
|
|
14
|
+
Project-URL: Home, https://github.com/johannesnoordanus/svg2gcode
|
|
15
|
+
Import-Name: svg2gcode
|
|
16
|
+
|
|
1
17
|
# svg2gcode
|
|
2
18
|
|
|
3
|
-
### svg2gcode <small>
|
|
19
|
+
### svg2gcode <small>converts Scalable Vector Graphic drawings - *WYSIWYG* - to GCODE.</small>
|
|
20
|
+
|
|
21
|
+
Vector graphics files can be manipulated - scaled, rotated, transformed - and be converted to optimised gcode which can be directly used on your laser engraver/cutter. Properties like line thickness, fill and color are all taken into account. They are vector based. Unique is that bitmap images are also supported and drawn alongside and at the same scaling and position as defined in the *.svg* file. Specific lines within the vector drawings can be identified by color name or code and assigned actions like engrave, cut or ignore. All from one command.
|
|
22
|
+
|
|
23
|
+
*svg2gcode* makes use of library *image2gcode* for bitmap conversion to gcode and an updated and corrected version of library *SvgToGcode* for parsing (reading, interpreting) vector graphics files.<sup>(1)</sup>.
|
|
4
24
|
|
|
5
|
-
It is based on library *SvgToGcode* (*https://github.com/johannesnoordanus/SvgToGcode*)<sup>(1)</sup>.
|
|
6
25
|
### Version 4.0 is out now!
|
|
7
26
|
**svg2gcode 4.0** has a vastly improved *stroke* and *fill* and is even easier to control.
|
|
8
27
|
Lines with a certain width are now drawn almost perfectly in a vector like manner.
|
|
@@ -48,7 +67,7 @@ More info can be obtained by looking at the documentation and examples below and
|
|
|
48
67
|
|
|
49
68
|
*svg2gcode* has three related programs: *image2gcode* mentioned above has similar capabilities but handles raster image files (like *png* and *jpg*) directly, *gcode2image* performs the inverse function and is capable of showing multiple writes (burns) to the same location and last *grblhud* which gives full control over gcode execution.
|
|
50
69
|
|
|
51
|
-
<sup>(1)</sup> Note that
|
|
70
|
+
<sup>(1)</sup> *image2gcode* can be found here: *https://github.com/johannesnoordanus/image2gcode*, the updated library *SvgToGcode* can be found here: *https://github.com/johannesnoordanus/SvgToGcode*. Note that python library and program *image2gcode* will be installed alongside when installing via *pip* and that *SvgToGcode* is included in *svg2gcode*.
|
|
52
71
|
|
|
53
72
|
-----
|
|
54
73
|
|
|
@@ -415,3 +434,4 @@ One containing the drawings of the .svg, the other containing the images:
|
|
|
415
434
|
|
|
416
435
|
Default *svg2gcode* uses constant burn mode *M3*. This can be changed by setting option *--no-constantburn* which selects burn mode *M4*. Mode *M4* is not suitable for engravings because it automatically compensates (laser)power for speed. This conflicts with the specific gcode settings given by *image2gcode* (called by *svg2gcode*) for each pixel. In fact some experiments show that *M4* causes loss of quality and image deterioration when speed is increased. On white oak images had too much black and grey which did not go away for substantially higher speed. When switched back to constant burn (*M3*) mode, the same high speed gave excellent images having a sepia (licht yellow brown) color tone.
|
|
417
436
|
|
|
437
|
+
|
|
@@ -1,24 +1,11 @@
|
|
|
1
|
-
Metadata-Version: 2.5
|
|
2
|
-
Name: svg2gcode
|
|
3
|
-
Version: 4.0.1
|
|
4
|
-
Summary: svg2gcode: convert an SVG (Scalable Vector Graphic) image to gcode.
|
|
5
|
-
Keywords: scalable vector graphics,svg,image,laser cutter,laser engraving
|
|
6
|
-
Author-email: Johannes Noordanus <mailjohannes.mailnoordanus@gmail.com>
|
|
7
|
-
Requires-Python: >=3.11
|
|
8
|
-
Description-Content-Type: text/markdown
|
|
9
|
-
License-Expression: MIT
|
|
10
|
-
License-File: LICENSE
|
|
11
|
-
Requires-Dist: numpy >= 2.5.3
|
|
12
|
-
Requires-Dist: Pillow >= 12.2.0
|
|
13
|
-
Requires-Dist: image2gcode >= 2.9.17
|
|
14
|
-
Project-URL: Home, https://github.com/johannesnoordanus/svg2gcode
|
|
15
|
-
Import-Name: svg2gcode
|
|
16
|
-
|
|
17
1
|
# svg2gcode
|
|
18
2
|
|
|
19
|
-
### svg2gcode <small>
|
|
3
|
+
### svg2gcode <small>converts Scalable Vector Graphic drawings - *WYSIWYG* - to GCODE.</small>
|
|
4
|
+
|
|
5
|
+
Vector graphics files can be manipulated - scaled, rotated, transformed - and be converted to optimised gcode which can be directly used on your laser engraver/cutter. Properties like line thickness, fill and color are all taken into account. They are vector based. Unique is that bitmap images are also supported and drawn alongside and at the same scaling and position as defined in the *.svg* file. Specific lines within the vector drawings can be identified by color name or code and assigned actions like engrave, cut or ignore. All from one command.
|
|
6
|
+
|
|
7
|
+
*svg2gcode* makes use of library *image2gcode* for bitmap conversion to gcode and an updated and corrected version of library *SvgToGcode* for parsing (reading, interpreting) vector graphics files.<sup>(1)</sup>.
|
|
20
8
|
|
|
21
|
-
It is based on library *SvgToGcode* (*https://github.com/johannesnoordanus/SvgToGcode*)<sup>(1)</sup>.
|
|
22
9
|
### Version 4.0 is out now!
|
|
23
10
|
**svg2gcode 4.0** has a vastly improved *stroke* and *fill* and is even easier to control.
|
|
24
11
|
Lines with a certain width are now drawn almost perfectly in a vector like manner.
|
|
@@ -64,7 +51,7 @@ More info can be obtained by looking at the documentation and examples below and
|
|
|
64
51
|
|
|
65
52
|
*svg2gcode* has three related programs: *image2gcode* mentioned above has similar capabilities but handles raster image files (like *png* and *jpg*) directly, *gcode2image* performs the inverse function and is capable of showing multiple writes (burns) to the same location and last *grblhud* which gives full control over gcode execution.
|
|
66
53
|
|
|
67
|
-
<sup>(1)</sup> Note that
|
|
54
|
+
<sup>(1)</sup> *image2gcode* can be found here: *https://github.com/johannesnoordanus/image2gcode*, the updated library *SvgToGcode* can be found here: *https://github.com/johannesnoordanus/SvgToGcode*. Note that python library and program *image2gcode* will be installed alongside when installing via *pip* and that *SvgToGcode* is included in *svg2gcode*.
|
|
68
55
|
|
|
69
56
|
-----
|
|
70
57
|
|
|
@@ -431,4 +418,3 @@ One containing the drawings of the .svg, the other containing the images:
|
|
|
431
418
|
|
|
432
419
|
Default *svg2gcode* uses constant burn mode *M3*. This can be changed by setting option *--no-constantburn* which selects burn mode *M4*. Mode *M4* is not suitable for engravings because it automatically compensates (laser)power for speed. This conflicts with the specific gcode settings given by *image2gcode* (called by *svg2gcode*) for each pixel. In fact some experiments show that *M4* causes loss of quality and image deterioration when speed is increased. On white oak images had too much black and grey which did not go away for substantially higher speed. When switched back to constant burn (*M3*) mode, the same high speed gave excellent images having a sepia (licht yellow brown) color tone.
|
|
433
420
|
|
|
434
|
-
|
|
@@ -12,7 +12,7 @@ dynamic = ["version", "description"]
|
|
|
12
12
|
|
|
13
13
|
keywords = ["scalable vector graphics", "svg", "image", "laser cutter", "laser engraving"]
|
|
14
14
|
dependencies = [
|
|
15
|
-
"numpy >= 2.
|
|
15
|
+
"numpy >= 1.24.3, <= 2.4.6",
|
|
16
16
|
"Pillow >= 12.2.0",
|
|
17
17
|
"image2gcode >= 2.9.17",
|
|
18
18
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|