bennymeg / Fabrication-Toolkit

An JLC PCB Fabrication Plugin for KiCad
Apache License 2.0
311 stars 53 forks source link

`FOOTPRINT` object has no attribute `HasProperty` #122

Closed misteraddons closed 7 months ago

misteraddons commented 7 months ago

Freshly installed on KiCad 8 MacOS (perhaps it's not yet supported). I haven't used this plugin before but installed it using the official plugin manager. Steps to reproduce: 1) Click the Fabrication Toolkit button 2) Click Generate image 3) Error message image

NW27 commented 7 months ago

Ditto on Ver8C3. I haven't tried it on the newly released Ver8 though.

revk commented 7 months ago

Doing the same for me. Obviously an 8.0 issue.

The extra option screen is a nuisance, can we lose that somehow?

Anything we can do to help?

tcurdt commented 7 months ago

Seems like the API has changed.

https://github.com/bennymeg/JLC-Plugin-for-KiCad/commit/8dc0e8a440d2cefc9c1b96be43f5494eeb7fa9a3

and the required change was already merged.

https://github.com/bennymeg/JLC-Plugin-for-KiCad/pull/109

Maybe we are just not getting the most recent version?

tcurdt commented 7 months ago

Yes, 3.1.0 does not have the fix yet. So it needs a new release.

https://github.com/bennymeg/JLC-Plugin-for-KiCad/compare/3.1.0...master

Work around could be to install master for now.

revk commented 7 months ago

I'll try that.

revk commented 7 months ago

I can confirm the master works, is there any way to remove the asking the option at the start? I can't see quite what to comment out to do that.

tcurdt commented 7 months ago

I can confirm the master works, is there any way to remove the asking the option at the start? I can't see quite what to comment out to do that.

I assume you would need to replace this here with ProcessThread(self, dict())

But that's just from briefly looking at the code.

revk commented 7 months ago

Yeh, I got as far as

        options = dict()
        options[EXCLUDE_DNP_OPT] = False;
        ProcessThread(self, options)

And no joy.

revk commented 7 months ago

Unrelated, but a part that previously had a position offset of 5,0 now needs 0,2.61

I have no clue why!

tcurdt commented 7 months ago

Yeh, I got as far as

        options = dict()
        options[EXCLUDE_DNP_OPT] = False;
        ProcessThread(self, options)

And no joy.

Ah... seems it does need the dialog.

Check out an older version:

https://github.com/bennymeg/JLC-Plugin-for-KiCad/blob/2.3.0/plugins/plugin.py

bennymeg commented 7 months ago

The extra option screen is a nuisance, can we lose that somehow?

I have added it due to a request to add export options (Currently for dnp components).

Unrelated, but a part that previously had a position offset of 5,0 now needs 0,2.61 I have no clue why!

The positioning algorithm had been improved substantially, and a few breaking changes has been introduced to v4 of the plugin. Read more in the upcoming official release.


Duplicate of (#109, #112, #114, #119).