On 29/11/17 19:09, Andreas Buhr wrote:
> Dear Kicad developers,
> I'm new to Kicad development. Maybe you could give me some starting tips?
> I am a 5th year PhD student at the university of Münster in Germany,
> website:
> https://www.uni-muenster.de/AMM/en/ohlberger/team/andreas_buhr.shtml
> I am doing mathematical research targeted at developing solvers for 3D
> Maxwell's equations in highly complex structures, such as PCBs. While
> being in an early stage, the goal is to develop a signal integrity
> solver which does a full-wave simulation of the electromagnetic fields
> and calculates S-parameters within a very short time.
> I would love to develop and test my algorithms within KiCad.
> The input which my solver needs would be an array of polygons,
> representing the copper-filled areas on each layer.
> I then want to create a 2D triangle mesh and based on that a 3D prism
> mesh for finite element analysis.
> What would you recommend? How to I get polygons, representing the copper
> filled areas of each layer?
> I do have some experience developing C++.
> thanks a lot in advance,
> best regards,

Hi Andreas,

It's absolutely fantastic to hear you're working on an SI solver and
that you want to develop it within KiCad!

For the moment, there's no one-liner way to get the entire board
geometry represented as polygons - the closest is to for each BOARD_ITEM:

TransformShapeWithClearanceToPolygon( SHAPE_POLY_SET& aCornerBuffer,
                                      int aClearanceValue,
                                      int aCircleToSegmentsCount,
                                      double aCorrectionFactor ) const;

with aClearanceValue = 0 or 1 (= 1nm) - I'm not 100% sure if a value of
0 will be accepted and aCircleToSegments count large enough to
approximate arcs correctly.

aCornerBuffer is a SHAPE_POLY_SET object which represents a set of
polygons with holes, see qa/geometry for some example/test code.

Let me know if you need any help!


Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to