kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #27198
Re: Python LAYER_PAIR parameter for EXCELLON_WRITER().BuildHolesList()
On Sunday 15 January 2017 12:10:20 jp charras wrote:
>
> My question was more why do you want to use an helper internal method
> (which needs the initialization of many parameters, made by a top level
> method), rather than the method which generates the drill files as used in
> the demo gen_gerber_and_drill_files_board.py.
>
I learned that to use lowlevel access it is more work maybe but it often
allows to made better products. :-)
For the documentation stack generator MSEkicadBOM allows to set filename,
scale, orientation, mirroring... of the individual items. There I use
PLOT_CONTROLLER and rename/move/delete the produced files.
For the drill files I saw CreateDrillFile() and thought that it is a handy
function to generate individual files directly.
Maybe it should be documented which pcbnew.py functions are "official" and can
be used?
> They are also subject to change: for instance LAYER_PAIR does not exist
> now, due to a collision between 2 structs having the same name defined in
> Kicad code.
True, I can live with that if there is a possibility to savely distinguish
different API's by version query.
> And this layer pair parameter for EXCELLON_WRITER().BuildHolesList() is not
> so easy to calculate for boards with blind/buried vias.
>
Agreed.
> pcbnew.py is automatically generated by Swig from C++ kicad sources.
> It means many methods in pcbnew.py are not necessary easy to use or not
> necessary useful.
>
> Besides, if you want to work on a tool which needs mainly a list of
> schematic components and their fields, I encourage you to use the netlist
> (.net or .xml files) as entry point, not the schematic files.
>
> Parsing the schematic files is usually tricky, and is justified only to
> access info not in netlist. Especially for complex hierarchies.
The file format of Eeschema is easy to parse, I like it. Using it directly has
the advantage that users are not responsible to first create an intermediate
file before using MSEkicadBOM.
> And of course, the code will be outdated when the schematic file format is
> changed.
>
Again, I can live with that if the different formats can be savely
distinguished.
Martin
Follow ups
References