kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #16258
Re: more pythonic scripting API for pcbnew
In response to a message written on 07.01.2015, 11:36, from PTT:
Please have a look and see if it is useful to somehow incorporate it in the main
branch.
pcbnew_easy.py
https://gist.github.com/pierstitus/7be2d9923da502c88ff1
Very good work for adding it to pcbnew/scripting/examples/, but it will not let
anything be loaded by default. Each developer has their own habits and not
everything looks like a purely written code in my eyes. Much of coding is to
tune up some project than writing down some script, which will be creating
tracks or vias. Well, unless someone recode freerouter to python ...;)
BTW. Some advice to make better world ;) :
- via.SetLayerPair(layer_pair[0], layer_pair[1]) looks better as
via.SetLayerPair(*layer_pair)
- „def mm” is bad - there are two methods in pcbnew - FromMM and ToMM, both useful…
- layer_dict is not comfortable way - as layers are defined as int, better and
easier done it will put these string names by correct order in tuple. Any dict
(if really needed) can be created dynamically from tuple by function:
dict(map(lambda lname: lname, layers_tuple.index(lname), layers_tuple))
Alternative for tuple is getattr(pcbnew, lname):
>>> getattr(pcbnew, 'F_Cu')
0
>>> getattr(pcbnew, 'In1_Cu')
1
I wish you many wins with python battles… ;)
--
Best Regards,
LordBlick
Follow ups
References