Create curve on Layout copper

HI,
I need to rate the slopes.
I installed the “Rounder for Tracks version 2.1” plug-in, but they failed to make it work. place the mistakes it gives me.
My KICAD:
Application: kicad
Version: (5.1.2)-1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.68.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.61.1
Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=OFF
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON


Has anyone managed to make it work?

Looks like the variable “tsc” on line 232 of round_trk.py is the wrong type. It needs to be of type timestamp_t.

e.SetTimeStamp.__doc__
'SetTimeStamp(EDA_ITEM self, timestamp_t aNewTimeStamp)'

timestamp_t is defined in the KiCAD source code in common.h

timestamp_t
typedef uint32_t timestamp_t
timestamp_t is our type to represent unique IDs for all kinds of elements; historically simply the timestamp when they were created.

Long term, this type might be renamed to something like unique_id_t (and then rename all the methods from {Get,Set}TimeStamp() to {Get,Set}Id()) ?

Definition at line 56 of file common.h.

It looks like you can get a timestamp using pcbnew.GetNewTimeStamp().

This might be as simple as replacing tsc in that code with pcbnew.GetNewTimeStamp(), assuming tsc is not used elsewhere. If that doesn’t work, try replacing wherever tsc is assigned with tsc = pcbnew.GetNewTimeStamp(). Note that this assumes that python file is using import pcbnew. If it instead is using import pcbnew as pn or something else instead of “pn”, then use whatever is after the as, like this: pn.GetNewTimeStamp()

pcbnew.TimestampDir
<function TimestampDir at 0x000000000beaa320>
[x for x in dir(pcbnew) if 'stamp' in x.lower()]
['CTL_OMIT_TSTAMPS', 'GetNewTimeStamp', 'TimestampDir']
pcbnew.GetNewTimeStamp()
1595442964
pcbnew.GetNewTimeStamp.__doc__
'GetNewTimeStamp() -> timestamp_t'

Is your plugin uptodate?
It does work on K5.1.6 both on WIn and Linux

1 Like

Newer than my copy, mine shows 1.7

solved upgrade version 5.1.6

1 Like