svg2shenzhen icon indicating copy to clipboard operation
svg2shenzhen copied to clipboard

added support for a "Drill-NP" layer

Open drayde opened this issue 6 years ago • 10 comments

added support for a "Drill-NP" layer that creates non-plated through hole (in contrast to plated holes from the "Drill" layer)

also see https://github.com/badgeek/svg2shenzhen/issues/24

drayde avatar Nov 03 '19 15:11 drayde

thanks for your contribution @drayde i will take a look how this work

badgeek avatar Nov 08 '19 12:11 badgeek

This is exactly what I was looking for. Has it been any progress to merge/implement this feature in the main branch?

modlfo avatar Sep 08 '20 03:09 modlfo

Has this been implimented?

PigeonFX avatar Sep 17 '21 21:09 PigeonFX

Has this been implimented?

Yes, but it has not been merged. You could take the changes made to that file https://github.com/drayde/svg2shenzhen/blob/master/inkscape/svg2shenzhen/export.py In add them to the latest version

drayde avatar Sep 20 '21 10:09 drayde

Has this been implimented?

Yes, but it has not been merged. You could take the changes made to that file https://github.com/drayde/svg2shenzhen/blob/master/inkscape/svg2shenzhen/export.py In add them to the latest version

Thank you, I did that, but get the following error on export.

export.py:224: DeprecationWarning: Effect.OptionParser or `optparse` has been deprecated and replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument`; the arguments are similar.
  self.OptionParser.add_option("--path", action="store", type="string", dest="path", default="~/", help="")
export.py:225: DeprecationWarning: Effect.OptionParser or `optparse` has been deprecated and replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument`; the arguments are similar.
  self.OptionParser.add_option('-f', '--filetype', action='store', type='string', dest='filetype', default='jpeg', help='Exported file type')
export.py:226: DeprecationWarning: Effect.OptionParser or `optparse` has been deprecated and replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument`; the arguments are similar.
  self.OptionParser.add_option("--crop", action="store", type="inkbool", dest="crop", default=False)
export.py:227: DeprecationWarning: Effect.OptionParser or `optparse` has been deprecated and replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument`; the arguments are similar.
  self.OptionParser.add_option("--dpi", action="store", type="float", dest="dpi", default=600)
export.py:228: DeprecationWarning: Effect.OptionParser or `optparse` has been deprecated and replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument`; the arguments are similar.
  self.OptionParser.add_option("--threshold", action="store", type="float", dest="threshold", default=128.0)
export.py:229: DeprecationWarning: Effect.OptionParser or `optparse` has been deprecated and replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument`; the arguments are similar.
  self.OptionParser.add_option("--openfactory", action="store", type="inkbool", dest="openfactory", default="true")
export.py:230: DeprecationWarning: Effect.OptionParser or `optparse` has been deprecated and replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument`; the arguments are similar.
  self.OptionParser.add_option("--openkicad", action="store", type="inkbool", dest="openkicad", default="true")
export.py:231: DeprecationWarning: Effect.OptionParser or `optparse` has been deprecated and replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument`; the arguments are similar.
  self.OptionParser.add_option("--autoflatten", action="store", type="inkbool", dest="autoflatten", default="true")
export.py:232: DeprecationWarning: Effect.OptionParser or `optparse` has been deprecated and replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument`; the arguments are similar.
  self.OptionParser.add_option("--debug", action="store", type="inkbool", dest="debug", default=False)
export.py:764: DeprecationWarning: Effect.affect is now `Effect.run()`. The `output` argument has changed.
  e.affect()
export.py:347: DeprecationWarning: self.args[-1] is now self.options.input_file.
  curfile = self.args[-1]
Traceback (most recent call last):
  File "export.py", line 768, in <module>
    _main()
  File "export.py", line 764, in _main
    e.affect()
  File "C:\Program Files\Inkscape\share\inkscape\extensions\inkex\deprecated.py", line 183, in affect
    return self.run(args=args)
  File "C:\Program Files\Inkscape\share\inkscape\extensions\inkex\base.py", line 131, in run
    self.save_raw(self.effect())
  File "export.py", line 324, in effect
    self.processExportLayer()
  File "export.py", line 348, in processExportLayer
    layers = self.get_layers(curfile)
  File "export.py", line 548, in get_layers
    if  layer_label_name in self.layer_map.iterkeys():
AttributeError: 'dict' object has no attribute 'iterkeys'

PigeonFX avatar Sep 20 '21 15:09 PigeonFX

Thank you, I did that, but get the following error on export.

I merged the upstream changes into my branch. Now simply get all files from https://github.com/drayde/svg2shenzhen/tree/master/inkscape

drayde avatar Sep 22 '21 12:09 drayde

Thank you, I did that, but get the following error on export.

I merged the upstream changes into my branch. Now simply get all files from https://github.com/drayde/svg2shenzhen/tree/master/inkscape

Thank you, very much!

PigeonFX avatar Sep 22 '21 16:09 PigeonFX

Thank you, I did that, but get the following error on export.

I merged the upstream changes into my branch. Now simply get all files from https://github.com/drayde/svg2shenzhen/tree/master/inkscape

Hey drayde, having a little trouble downloaded your Branch, but do not seem to have a Drill-NP tick box in the setup under general or other tabs, do I just manually need to make this manual before exporting to KiCad?

PigeonFX avatar Nov 01 '21 04:11 PigeonFX

Yes, indeed, it's not in the UI. Just create a layer "Drill-NP" manually, it will then be picked up.

drayde avatar Nov 01 '21 10:11 drayde

Yes, indeed, it's not in the UI. Just create a layer "Drill-NP" manually, it will then be picked up.

Thank you so much for adding that feature and helping me!

Have you had an issue with it running on Inkscape 1.1.1?

Get the following error with Inkscape 1.1.1 and 1.1

Traceback (most recent call last):
  File "export.py", line 750, in <module>
    _main()
  File "export.py", line 746, in _main
    e.run()
  File "C:\Program Files\Inkscape\share\inkscape\extensions\inkex\base.py", line 131, in run
    self.save_raw(self.effect())
  File "export.py", line 323, in effect
    self.processExportLayer()
  File "export.py", line 497, in processExportLayer
    with open(kicad_file, 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\pigeon\\Desktop\\CS PCBs\\MK3 Test\\.svg2shenzhen-cache\\test.pretty\\B.Cu_g1768.kicad_mod'

PigeonFX avatar Nov 01 '21 18:11 PigeonFX