kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #07848
Re: Kicad scripting progress :-)
2012/4/9 lajos kamocsay <panka.nospam@xxxxxxxxx>
> Miguel-
>
>
> This is truly awesome!
>
It's the swig magic + some help ':D thanks a lot!
>
> I finally got your repo to build with the attached patch (to revno
> 3467). Maybe these changes work for you, too?
>
Niiice, thanks for the patch, I will apply it right now.
>
> - had to specify python2 in a handful of .py files and in pcbnew's
> cmakelist (I have both python2 and 3)
>
makes sense :-)
- added rt to the linker flags (is this because of testing build?)
>
About the rt, not sure why is it needed, I suppose it's some Python
dependency
on your computer. We must leave it added by now.
- moved up Python.h in dialog_scripting.cpp, as there were some
> define conflicts
>
I think that fixes some warnings on my side :-)
> Do you plan on upgrading to python3 at some point? I can help with
> that if you need an extra hand.
>
About Python3, I expect it not to be hard to do at some point. I choose to
stay 2.x
because wxPython still doesn't have 3.0 support. I think that at that point
we could
tune the sources to compile for Python3 and python2 as they want to do.
>
> I haven't had a chance to look at the available functions yet, but I'm
> hoping that now I can change a bunch of pad and drill sizes on a board
> automatically ;)
>
> in pcbnew/scripting/examples you have a couple of them, still very basic,
but you can already open a board, iterate over modules/pads/items, and
modify them
and save the pcb back.
>
> Thanks-
> -lajos
>
> Thank you Lajos :-)
>
>
> On Sat, Apr 7, 2012 at 1:44 PM, Wayne Stambaugh <stambaughw@xxxxxxxxxxx>
> wrote:
> > On 4/7/2012 12:08 PM, Miguel Angel Ajo Pelayo wrote:
> >>
> >> During the last two days I had some hours to spend on scripting
> >> again, I've been able
> >> to fix some memory management problems (objects added to a board or
> >> module get deleted
> >> by board/module object, but python tried to delete them too, now that
> >> condition is detected
> >> and avoided - .thisown=0 in python during (board/module).Add(object)
> >> did the work-.
> >>
> >> Now we have wxRect and wxSize wrappers, that were missing.
> >>
> >>
> >> I find some important points that I must address (prioritized list):
> >>
> >> a) May be working in the KICAD_PLUGIN part for component libraries,
> >> to move the librairi.cpp
> >> code into plugin system. There's already some design about that? [I'm
> >> writing a separate email about this]
> >>
> >> This is very very interesting: we cleanup kicad's code (as it's
> >> planned), and would offer many
> >> benefits: ability to create footprint wizards, making automated
> >> component servers/libraries, etc...
> >>
> >> b) I should start documenting somewhere how to work with scripting.
> >> Where's
> >> the right place? http://kicad.sourceforge.net/wiki/Main_Page ? , or may
> >> be other place?
> >
> > Miguel,
> >
> > If this document is only interesting to developers, it may make sense to
> > put is somewhere in the source repo in the Documentation folder. If
> > this is something that end users may be interested then the appropriate
> > place would be the user documentation at
> > https://code.launchpad.net/~kicad-developers/kicad/doc. This is where
> > the file format documentation currently lives. Either way, the document
> > would be under version control which is a good thing.
> >
> > Wayne
> >
> >>
> >>
> >> c) Hook points for scripting inside kicad UI:
> >> c.1) Dynamic toolbar + hotkey assignment for registered
> plugins
> >> c.2) Footprint wizards list, where plugins could be
> registered.
> >> c.3) Contextual menu plugins (they could registered, and
> >> when you right click on some object, they check if they should
> >> offer their functionality in the list)
> >> c.4) Scripted DRC plugins
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> 2012/3/20 Wayne Stambaugh <stambaughw@xxxxxxxxxxx
> >> <mailto:stambaughw@xxxxxxxxxxx>>
> >>
> >> On 3/18/2012 8:24 PM, Wolfgang Spraul wrote:
> >> >> But just like the command line argument patch that came in 2
> >> >> months ago, there will be a better time to merge this all in.
> >> >
> >> > Quick note from the guy who wrote most of the command line patch:
> >> > I saw the scripting patch and I agree with Dick that this is super
> >> > important and great work! Well done scripting can probably replace
> >> > the need for command line options.
> >> >
> >> > I will continue to maintain the command-line patches out-of-tree
> >> > and uplevel 'every few months'. But scripting is definitely the
> >> > better approach and I'm very happy to see it moving forward.
> >> >
> >> > It is in our shared interest to keep the KiCad codebase readable
> >> > maintainable.
> >>
> >> Wolfgang,
> >>
> >> Thank you for being patient and understanding the importance of
> keeping
> >> the code base readable and maintainable. KiCad is a large project
> and
> >> as it continues to grow, the importance of code maintenance cannot
> be
> >> under estimated. I wish I could commit more time to the project to
> >> speed this process along. For now, we'll have to make due.
> >>
> >> Thanks,
> >>
> >> Wayne
> >>
> >> > Cheers,
> >> > Wolfgang
> >> >
> >> > _______________________________________________
> >> > Mailing list: https://launchpad.net/~kicad-developers
> >> > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >> > Unsubscribe : https://launchpad.net/~kicad-developers
> >> > More help : https://help.launchpad.net/ListHelp
> >> >
> >>
> >> _______________________________________________
> >> Mailing list: https://launchpad.net/~kicad-developers
> >> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >> Unsubscribe : https://launchpad.net/~kicad-developers
> >> More help : https://help.launchpad.net/ListHelp
> >>
> >>
> >>
> >>
> >> --
> >>
> >> Miguel Angel Ajo Pelayo
> >> http://www.nbee.es
> >> +34 636 52 25 69
> >> skype: ajoajoajo
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~kicad-developers
> > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~kicad-developers
> > More help : https://help.launchpad.net/ListHelp
>
--
Miguel Angel Ajo Pelayo
http://www.nbee.es
+34 636 52 25 69
skype: ajoajoajo
Follow ups
References