One way to do this is through Python. I had developed a few years ago (for
KiCAD 4.0.x) KiPadCheck[1] to run some additional basic checks on a board.
Included were some silk screen checks. I haven’t updated it in a while, but it
might be an option to consider Python to cover some areas prior to
Regarding the plugin manager: it would be awesome if it could pull updates from
the plugin author’s GitHub. Not sure exactly how to handle plugin version
checking, KiCAD version compatibility and all the related issues (like
security, forks, etc). But it’d be nice if there were a central registr
I started a discussion on the forums
https://forum.kicad.info/t/python-api-development-discussion/
and it was suggested I post here.
There has been discussion here and on the forums about “standardizing” the
Python API. Making it more stable through releases. I have been developing
Python plugi
I think more grouping in general categories is good. I also think that it would
be nice to exclude *specific* DRCs that once a designer checks the error, they
can flag it to ignore in the future. The specific check could be identified by
a unique id: a hash of specific information, like unique e
KiCommand creates a Pane managed by the AUI Manager.
manager = wx.aui.AuiManager.GetManager(parent)
manager.AddPane( self.__class__.g, pane )
However, when this pane is docked, KiCAD steals hotkeys, like the key “o” and
prevents the user from entering that key into the KiCommand pane.
I had tro
In graphics/CAD packages, a point can be considered a vector from point 0,0.
This is an interpretation that makes sense to me. Adding two points and
dividing by two results in a point that is minimally equidistant from both
points (I.e. The midpoint of the line formed by the points). In addition
Look at KiCommand and construct a command string that
1) copies the selected elements A and B
2) uses "cut" to cut A with copy B and B with copy A
KiCommand was created for this exact type of situation: easy
command-line-driven geometry manipulations.
Greg S.
> On Jun 23, 2018, at 8:46 PM, jc
Have a look at Python or KiCommand plugin. Also, consider asking this question
on KiCad user forums.
Greg S.
> On Jun 21, 2018, at 11:22 PM, jc wrote:
>
> I would like to explode an intersect, like 2 lines,if crossed, turn into 4.
>
>
> This can be done easily with a line of command in autoc
When considering the ease of use of the dialog, remember LayerViewSet (python)
adds some functionality and will be upgraded to work with v5. I hope similar
functionality is built in to v6.
Greg S.
> On Feb 18, 2018, at 7:07 PM, Michael Kavanagh
> wrote:
>
> Hi Jon,
>
> I like your suggesti
What is involved in helping with bug tracker? I may be able to help. If you
lean "include even if not definitely active" then you're welcome to include me.
If you lean "only include if definitely committed and active", then please tell
me more about the task.
Thank you, and great work on KiCad
In case you haven't seen this, Python2 will not be maintained past 2020.
https://www.python.org/dev/peps/pep-0373/
Greg S.___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://
I haven't thought through all the alternatives. But we python developers
desperately need a way to update the display after adding/removing graphical
objects; changing the selection, visibility, layer, width, size of objects;
change the visibility of layers or render tab checkboxes.
Ideally we
Speaking of icons, is there really a need for both the track and segment (line)
icons/commands? Can they be combined into one icon and the function chosen
based on the currently selected layer?
Greg S.
> On Dec 1, 2017, at 1:41 AM, jp charras wrote:
>
>> Le 01/12/2017 à 04:40, Seth Hillbrand
I REALLY appreciate the windows nightly builds. It seems the last available is
Nov 25. Any estimate when the next one might be available?
http://downloads.kicad-pcb.org/windows/nightly/
Greg S.___
Mailing list: https://launchpad.net/~kicad-developers
P
"I was simply afraid that we
may spent a lot of time petting the SWIG interface, which we will nuke
it and start from scratch because of inevitable switch to Phoenix."
I agree. I would suggest that the Python API is not quite stable enough to
freeze the API. If we desire a stable interface/API, o
>> Le 18/11/2017 à 17:56, Greg Smith a écrit :
>> If I developed a (very very small) patch for this change, would it be
>> potentially accepted?
>>
>> There was a conversation on the forums about the wording: Use "Outline"
>> instead of "Sketch"
ick Østergaard wrote:
>
> Where is the word "Sketch" used now?
>
> 2017-11-18 17:56 GMT+01:00 Greg Smith :
>> If I developed a (very very small) patch for this change, would it be
>> potentially accepted?
>>
>> There was a conversation on the forum
I'm beginning to add unit tests to KiCommand. As some of you know, KiCommand
uses python and is intended to provide users with an easier command line
interface for pcbnew and all of pcbnew Python.
Because many pcbnew API methods are exercised and there is access to any
arbitrary python function
If I developed a (very very small) patch for this change, would it be
potentially accepted?
There was a conversation on the forums about the wording: Use "Outline" instead
of "Sketch" to be consistent and clear.
Greg S.
___
Mailing list: https://laun
And, I have only been able to create the window undocked and I can manually
dock it. I also have not figured out how to programmatically undock it either..
I figured out the code sequence largely by trial and error.
Greg S.
> On Oct 15, 2017, at 9:19 PM, Greg Smith wrote:
>
> The
ok but when I run KiCad and open the selector, the
> new panel is not visible anywhere. I realize this isn't much of a problem
> description, but I was wondering if there was some trick that is undocumented
> (or documented somewhere that I haven't found it) that I need to know
I can't read the text, there's not enough resolution. What is the issue?
I've had windows that seem to be tucked under the horizontal toolbar.
Greg S.
> On Oct 15, 2017, at 7:46 PM, Oliver Walters
> wrote:
>
> I'm trying to add a new panel to the module viewer window. "screenshot" below.
>
>
I cannot compile, but I can test a windows 64 installer or binary in windows 7.
And I know exactly how to duplicate and test the X and O key issue with python
installed wx.Window. The earliest I can test is Friday evening (USA).
Greg S.
> On Oct 3, 2017, at 9:01 PM, jp charras wrote:
>
> Hi A
I mostly us the Phoenix documentation and it seems close, but not exact. There
also have been differences between the Python that wxFormBuilder creates vs
Stable and is some cases the nightly. From my perspective, it's not onerous to
adopt, but it may break existing plugins.
Greg S.
> On Sep 2
Is there any possibility to backport ActionPlugin support for 4.0.8 Stable
release? It makes installing and accessing python plugins so much easier for
the casual user!
Also how do I retrieve the current pcbnew/KiCad version number from Python?
Greg S.
.
__
I'm docking wx windows created in Python. Please don't take that away at least
for the windows that make sense. Right now, I am a child to Pcbnew and dock to
Pcbnew's manager, but I suspect there's a lower level one that is better for
LayerViewSet. And perhaps KiCommand as well. The current issu
I think the main difference is in the ability to be a dock for other panels.
https://wiki.wxpython.org/AuiNotebook%20%28AGW%29
"Advanced User Interface (AUI) that provides perspective saving, floating
sub-windows that can be docked, customizable look and feel and the splittable
AUI Notebook."
I have written a command string parser based on Python and postfix processing
(think HP calculators or the programming language Forth). It ended up being
quite useful to me.
I would love some feedback!
It works on the nightly version of KiCad as an ActionPlugin and is dead simple
to install an
I wanted to ask permission to name a python script as"KiCommand". I am asking
simply because that is a fairlygeneric name and I wanted to make sure there was
nothing'official' that currently or is planned to have that name.
I've developed a simplified command line interface that is fairly welldev
A few things I've been thinking about recently and wondering what reasonbehind
some of these characteristics:
I've been working with pcbnew Python for a few months now, and havewondered
about the consistency in getting the object collectionson module and board as
well as proper final orientation
Hi Mathias!
I have implemented unit conversion in the entry boxesfor KiPadCheck. The code
is on lines 715-835 here:
https://github.com/HiGregSmith/KiPadCheck/blob/nightly_4.0.6/kipadcheck.py
I generated the first version of the list of units, then asked at the KiCad
forums and received a few su
Is there any Python access to the footprint editor?
I see that pcbnew C++ source files seem to indicate some support for the
footprint editor.
Greg S.
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.la
Is there an equivalent to
http://docs.kicad-pcb.org/doxygen-python/
For 4.0.7 Stable?
Clicking on "Namespaces" tab and then the "pcbnew" label brings you to this
page:
http://docs.kicad-pcb.org/doxygen-python/namespacepcbnew.html
I use that page as the primary reference document for pcbnew pyt
How do you have style set up?
This class supports the following styles:
wxTE_PROCESS_ENTER:
The control will generate the event wxEVT_TEXT_ENTER (otherwise pressing Enter
key is either processed internally by the control or used to activate the
default button of the dialog, if any).
Greg S.
>
Here are some references to a variety of stackup information:
# interesting info on cores, prepreg, and foils #
https://www.multi-circuit-boards.eu/en/pcb-design-aid/layer-buildup/prepreg-core-foil.html
# More terminology: #
http://www.edn.com/design/pc-board/4424239/PCB-design-basics # PCB
m
Thoughts on the comments here?
I also expect when porting to a new fab, modifying the stackup, then running
DRC onthe result without changing layout should be possible.
I would expect importing from DRU file would (optionally) overwrite stackup,
DRC,Netclasses, and/or Via/Drill sizes. Saving to D
I also expect when porting to a new fab, modifying the stackup, then running
DRC on the result without changing layout should be possible.
I would expect importing from DRU file would (optionally) overwrite stackup,
DRC, Netclasses, and/or Via/Drill sizes. Saving to DRU file directly might be
po
I would at minimum change the current code to give warnings on recognized
sections/tokens. That way the problem will be mitigated with future additions.
Greg S.
> On Aug 31, 2017, at 12:21 PM, Bastian Neumannn
> wrote:
>
> Hi,
>
> I am currently building a feature that lets you input a via s
b file so it gets saved.
>
> 2017-08-31 16:42 GMT+02:00 Greg Smith :
>> On Thursday, August 31, 2017, 6:58:27 AM CDT, Bastian Neumannn
>> wrote:
>>
>>
>> "combined with a nice input interface for via types and start/end layer in
>> the design rules is wh
On Thursday, August 31, 2017, 6:58:27 AM CDT, Bastian Neumannn
wrote:
"combined with a nice input interface for via types and start/end layer in the
design rules is what I am aiming for"
It would be awesome if the interface or at least the specification within KiCad
were similar to or a super
On Friday, August 25, 2017, 9:44:58 AM CDT, Wayne Stambaugh
wrote:"Rather than use a separate static
text control to display the units, just embed the units in the text
control itself which can be edited by the user including entering
coordinates in units other than the current unit type."
If yo
Thank you!!
I have updated LayerViewSet with fixes for those three
problems.https://github.com/HiGregSmith/LayerViewSet
On Monday, August 28, 2017 6:07 AM, jp charras
wrote:
Le 27/08/2017 à 23:24, Greg Smith a écrit :
> Tested: kicad-r8452.e3c64f1f0-x86_64.exe
>
he moment.
When the cursor enters the GLCanvas window, the layers are redrawn. I
suspectthe issue requires a call to SwapBuffers, but it is a common issue with
4.0.6 stable.
On Sunday, August 27, 2017 1:32 AM, jp charras
wrote:
Le 23/08/2017 à 16:27, Greg Smith a écrit :
> Better fo
Anyone know how to expose this to python? Maybe incorporate
https://pypi.python.org/pypi/cexprtk/0.2.0
?
Greg S.
> On Aug 27, 2017, at 10:03 AM, Russell Oliver wrote:
>
> ExprTk
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : k
y python scripts.
I appreciate it!
Greg S.
> On Aug 27, 2017, at 1:32 AM, jp charras wrote:
>
>> Le 23/08/2017 à 16:27, Greg Smith a écrit :
>> Better formatting:
>>
>> How do you get PCB_EDIT_FRAME functions exposed to python?
>>
>> I've been lookin
t format
instead of in a narrative. The links are less difficult to overlook, IMHO.
Taking comments on content at the moment.
On Monday, August 14, 2017 7:55 AM, Wayne Stambaugh
wrote:
On 8/12/2017 11:59 AM, Greg Smith wrote:
> Where should I submit a (likely short) style guide for rev
e:
Le 22/08/2017 à 19:33, Greg Smith a écrit :
> Continuing to review, it appears I am wrong. PCB_EDIT_FRAME:sLV does in fact
> synchronize the
> checkboxes, but also calls PCB_DRAW_PANEL_GAL::SLV to do the background
> synchronization of the layers.
>
> Thank you j
eclared in C++ as "protected:". Does thishave
any implications for running them from python through SWIG?
Finally, how do you make sure that all argument types are accessible from
python as well?
On Tuesday, August 22, 2017 1:02 PM, jp charras
wrote:
Le 22/08/2017 à 19:33
To assist compilation of a set of rules, we might be able to use this link to
my effortson loading/saving an Eagle DRU file. I've listed all the settings
saved by the Eagledesign rule check dialog, and annotated the output file. I
list the equivalent DRU keywordwith its associated dialog entry b
I have experience in python DRCs and have a background in ASIC layout software
and Design Rule Checks as well as a healthy experience in GIS and layer
manipulation..
I have started KiPadCheck exactly to fill in some missing (IMHO) DRC checks. It
might be a good as a base for further development
I have created KiPadCheck as a post-layout DRC addition to KiCad. It has some
checks related to pads, vias, drill, silkscreen, paste, and mask that address
some shortcomings in KiCad DRC. I have also researched Eagle's DRC and they
allow a fairly wide range of specifications for layers, vias and
August 22, 2017 1:02 PM, jp charras
wrote:
Le 22/08/2017 à 19:33, Greg Smith a écrit :
> Continuing to review, it appears I am wrong. PCB_EDIT_FRAME:sLV does in fact
> synchronize the
> checkboxes, but also calls PCB_DRAW_PANEL_GAL::SLV to do the background
> synchronization of
ibility( m_Pcb ); 917 }
On Tuesday, August 22, 2017 12:27 PM, Greg Smith
wrote:
Thank you jp!
This appears to not actually be true and reveals (I think) an inconsistency in
the KiCad code.
PCB_DRAW_PANEL_GAL::SyncLayersVisibility
is VERY different from
PCB_EDIT_FRAME::syncLayerVisibilities
PC
On Tuesday, August 22, 2017 10:03 AM, jp charras
wrote:
Le 22/08/2017 à 14:42, Greg Smith a écrit :
>
> How do I call PCB_DRAW_PANEL_GAL::SyncLayersVisibility from python? I can't
> find where it exists in
> the python hierarchy.
> https://bugs.launchpad.net/kicad/+bug/1
How do I call PCB_DRAW_PANEL_GAL::SyncLayersVisibility from python? I can't
find where it exists in the python hierarchy.
https://bugs.launchpad.net/kicad/+bug/1712233
I believe it's the solution to fixing a bug that prevents LayerViewSet.py from
working well.https://github.com/HiGregSmith/Laye
I'll have to try this version out. The latest stable version of wxFormBuilder
and KiCad nightly do not mix extremely well. I have to avoid font changes color
changes, and make minor edits in wxFB python code (Frame: SetSizeHints->
SetSizeHintsSz,
and menu: Append->AppendItem)
If anyone has any
help!
Greg S.
> On Aug 19, 2017, at 11:57 AM, Greg Smith wrote:
>
> If desired, I can script this in python, similar to my LayerViewSet.
>
> https://forum.kicad.info/t/layerviewset-main-thread-a-python-script-for-manipulating-visible-layers/7400/19
>
> There's one bu
If desired, I can script this in python, similar to my LayerViewSet.
https://forum.kicad.info/t/layerviewset-main-thread-a-python-script-for-manipulating-visible-layers/7400/19
There's one bug in KiCad preventing this from being complete: the layers in the
view don't redraw when programmatically
And
>> if there is anything in PEP8 that is annoying for KiCad development (cant
>> imagine what) just specify an exclusion or exception.
>>
>> Steven
>>
>>> On 12/08/17 22:15, Wayne Stambaugh wrote:
>>>
>>> On 8/11/2017 10:08 PM, Greg Smith
What is the process of getting a python example script into KiCad distribution?
What is the recommended copyright notice that I should place at the top of the
file?
Suggestions on coding style, functionality, integration technique are welcome!
This python script is usable example of how to integra
I was advised by Jean-Pierre Charras to bring this discussion to the developers
mailing list. Can anyone assist?
In the nightly, when adding DRAWSEGMENTS to the board's Drawings list,
thedisplay does not refresh, and a similar problem when setting an object
toselected. When switching views from
Does the patch include context menu for the Render tab in the layer selection
area? It's be nice to have "show all" and "hide all" there.
Also, I've noticed a bug when selecting Silk layer after footprint layer, if
objects on the silk layer have been generated while both were off.
(Also a relat
This is the exact solution I was thinking of as well. GREAT JOB! I am unable to
test the patch, but I applaud the solution.
Greg S.
> On Jul 31, 2017, at 3:48 AM, Maciej Sumiński wrote:
>
> I think I got the right solution that would work for everyone. In case
> there was nothing selected befo
(Sorry for the duplicate, Wayne. This time I replied all.)
I much prefer that the selected objects remain selected. If the selection took
precision, especially for multi-object additive multiple selection, then having
to reselect even a subset is arduous. The addition of the extra "Esc" key
requ
I'm trying to verify what changes (especially to the python scripting and
loading) will be in the forthcoming 4.07. Where can I find that list?I've
already searched https://code.launchpad.net/kicad for "python" but didn't know
where to navigate.
It'd be great to have files in user's plugin folde
The link didn't go through, let's try again. Here are the pictures:
http://imgur.com/a/1D2qm
On Saturday, July 8, 2017 5:44 PM, Greg Smith wrote:
I'm not sure if this already exists, but I've created a fully parameterized 3d
SOIC model in FreeCAD.
Pictures here
I'm not sure if this already exists, but I've created a fully parameterized 3d
SOIC model in FreeCAD.
Pictures here: Parameterized SOIC model in FreeCAD
Totally willing to share and donate to FreeCAD/KiCAD projects. Not sure where,
though. Any hints?Also willing to take suggestions, as this is my
and stencil rules of thumb (vs.
aperture ratios, solder powder size/type).
If you are aware of other tools (including built-in KiCAD tools) that do the
same tasks or similar, please let me know.
Greg S.
# PadDrillStencilSilk.py# Original Author: Greg Smith, June 2017#
# ABOUT:# This python script
er
> software as well. From the people I know, everyone changes this settings
> as one of their first actions.
>
>
>> Am 2017-07-03 um 16:52 schrieb Greg Smith:
>> Thank you for this! I think this is one of the things that make newcomers
>> confused about the UI. Another is
Thank you for this! I think this is one of the things that make newcomers
confused about the UI. Another is the pan cursor to zoom center. But I really
like that functionality for mouse only navigation. You can turn it off then you
have the more common "zoom using cursor as center of zoom". Whic
;m not able to come up with any that can only be done on the line
> segement chain and not on a curve segament chain.
>
> Am I missing something?
>
>
>> On 30/06/17 23:57, Greg Smith wrote:
>> Is SHAPE_LINE_CHAIN a core element that potentially an ARC might be
>&g
Is SHAPE_LINE_CHAIN a core element that potentially an ARC might be translated
to for display, DRC, or other output needs? If so, it seems that they would be
separate with a conversion function from ARC to SHAPE_LINE_CHAIN and there
would be SHAPE_ARC_CHAIN or SHAPE_SEGMENT_CHAIN (or similar) th
The following are totally wishlist items.
Recently using the move exact in the footprint editor, I noticed that having a
button to invert the sign would be useful. More generically, it would be great
to move "away from origin" or "towards origin" orthogonally and relative to the
pad's orientati
ideline-conforming should the code be prior to sharing?
Any comments, questions, or advice welcome.
Greg S.
# Original Author: Greg Smith, June 2017# This is VERY beta. Not thoroughly
tested. Not well commented. Not optimized for memory or run time.# Not
conforming to style guides (neither Pyth
74 matches
Mail list logo