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.
Files changed (39) hide show
  1. svg2gcode-4.0.1/README.md → svg2gcode-4.0.3/PKG-INFO +23 -3
  2. svg2gcode-4.0.1/PKG-INFO → svg2gcode-4.0.3/README.md +6 -20
  3. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/pyproject.toml +1 -1
  4. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/__init__.py +1 -1
  5. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/LICENSE +0 -0
  6. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/__main__.py +0 -0
  7. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_examples/README.md +0 -0
  8. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_examples/gcode_output.zip +0 -0
  9. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_examples/kye_circle_paws_orig copy.svg +0 -0
  10. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_examples/kye_circle_paws_orig.svg +0 -0
  11. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_examples/letterandsigns.svg +0 -0
  12. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/LICENSE +0 -0
  13. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/__init__.py +0 -0
  14. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/__init__.py +0 -0
  15. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/_compiler.py +0 -0
  16. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/interfaces/__init__.py +0 -0
  17. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/interfaces/_abstract_interface.py +0 -0
  18. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/interfaces/_fan_controlled_gcode.py +0 -0
  19. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/compiler/interfaces/_gcode.py +0 -0
  20. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/css_color.py +0 -0
  21. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/formulas.py +0 -0
  22. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/__init__.py +0 -0
  23. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_abstract_chain.py +0 -0
  24. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_abstract_curve.py +0 -0
  25. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_circular_arc.py +0 -0
  26. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_cubic_bazier.py +0 -0
  27. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_elliptical_arc.py +0 -0
  28. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_line.py +0 -0
  29. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_line_segment_chain.py +0 -0
  30. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_matrix.py +0 -0
  31. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_quadratic_bazier.py +0 -0
  32. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_raster_image.py +0 -0
  33. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_smooth_arc_chain.py +0 -0
  34. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/geometry/_vector.py +0 -0
  35. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/svg_parser/__init__.py +0 -0
  36. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/svg_parser/_parser_methods.py +0 -0
  37. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/svg_parser/_path.py +0 -0
  38. {svg2gcode-4.0.1 → svg2gcode-4.0.3}/svg2gcode/svg_to_gcode/svg_parser/_transformation.py +0 -0
  39. {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>is a *WYSIWYG* converter of Scalable Vector Graphic *(.svg)* drawings.</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 an upgraded and corrected version of this library is included.
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>is a *WYSIWYG* converter of Scalable Vector Graphic *(.svg)* drawings.</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 an upgraded and corrected version of this library is included.
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.5.3",
15
+ "numpy >= 1.24.3, <= 2.4.6",
16
16
  "Pillow >= 12.2.0",
17
17
  "image2gcode >= 2.9.17",
18
18
  ]
@@ -1,4 +1,4 @@
1
1
  """
2
2
  svg2gcode: convert an SVG (Scalable Vector Graphic) image to gcode.
3
3
  """
4
- __version__ = "4.0.1"
4
+ __version__ = "4.0.3"
File without changes