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: BOARD_ITEM::TransformShapeWithClearanceToPolygonoid 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! Best, Tom _______________________________________________ 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