Pcbnew 5.99 plugin issue [SOLVED]

Hi,
I’m porting my RF-Tools plugins to k v5.99
Almost of the job is done, but I’m having an issue with the Trace Clearance Generator (to generate a copper pour keepout for a selected trace).
I’m having this error:

Exception on python action plugin code
[Main Instruction]
Traceback (most recent call last):
[Content]
  File "C:/Users/Maui/Documents/KiCad/5.99/scripting\plugins\RF-tools-KiCAD-maui\trace_clearance\trace_clearance.py", line 96, in Run
    set_keepouts(pcb, tracks, clearance)

  File "C:/Users/Maui/Documents/KiCad/5.99/scripting\plugins\RF-tools-KiCAD-maui\trace_clearance\trace_clearance.py", line 163, in set_keepouts
    keepout.AddPolygon(pts)

  File "C:\KiCad-v6-nightly\lib\python3.8\site-packages\pcbnew.py", line 12422, in AddPolygon
    return _pcbnew.ZONE_AddPolygon(self, *args)

TypeError: Wrong number or type of arguments for overloaded function 'ZONE_AddPolygon'.
  Possible C/C++ prototypes are:
    ZONE::AddPolygon(std::vector< wxPoint,std::allocator< wxPoint > > &)
    ZONE::AddPolygon(SHAPE_LINE_CHAIN const &)

It seems that calling the SHAPE_LINE_CHAIN_Append(self, *args) function doesn’t accept the parameters as it did on kicad v5.1
here the referring code:


Is there something I’m missing or this is an issue to rise at the kv5.99 repo?

I’m not sure about the python specifically, but may I suggest using the custom DRC system introduced in v5.99?

It is cleaner than drawing a keepout area around a track because it will ensure that if you modify the track, the clearance will be maintained.

I don’t see anything missing. You are passing the std::vector<wxPoint> reference, which should be accepted. Please report this

with this plugin you can change (increase) a segment of a track clearance… afaik this is not possible in kv5.99

thanks for your feedback, I’ll do at gl

@Seth_h
I’ve done it

Thanks (@craftyjon) Jon for suggesting the changes to the calls for kv5.99
I’m closing this as solved.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.