← Back to team overview

kicad-developers team mailing list archive

Re: Development of IDFv3 export

 

On 12/4/2013 11:12 AM, jp charras wrote:
> Le 04/12/2013 16:40, Wayne Stambaugh a écrit :
>> On 12/4/2013 10:23 AM, Lorenzo Marcantonio wrote:
>>> On Wed, Dec 04, 2013 at 09:24:15AM -0500, Wayne Stambaugh wrote:
>>>> What is missing from the board file format that is required to export to
>>>> IDFv3?  None the the other exporters required any changes to the board
>>>> file format.  I'm not thrilled about the idea of changing the board file
>>>> format just to satisfy exporting to another file format.
>>>
>>> I already did some feasibility study a while ago, nothing is needed
>>> (except some way to convey height information for the modules, if
>>> wanted). Also if he picks the segment in the board instead of taking the
>>> bounding box he will a) handle the more-common-than-you-think case of
>>> nonrectangular boards and b) not need the 0.1mm reduction hack.
>>
>> I didn't think any changes were required but I'm no IDFv3 expert.  I
>> would prefer to see the actual board outline implemented before
>> committing this feature to KiCad.  More than 50% of the boards that I
>> design are *not* rectangular so this would be a show stopper for me.
> 
> Extracting actual board outlines is now very easy.
> see void EDA_3D_CANVAS::BuildBoard3DView() which uses them to show the
> 3D view of the epoxy.
> 
> The requirement is (obvioulsy): a closed valid polygon exists.
> 
> But a valid polygon (needed for 3D viewer and specctra export) can be
> created only if a full board outline exists and was created using the
> same grid for all lines or arcs.
> Therefore a footprint which includes a partial board outline (i.e.
> having edges cutout) will certainly break this requirement.
> This is the reason why edge cut outlines are not allowed in footprints.

I've been thinking about this issue because it has come up quite often
recently.  It might be useful to automatically create a closed polygon
based on any board edges and the bounding rectangle define by the pins
found in a footprint in order to render 3D models of edge connectors and
other similar board features.  This way we could add board edges to
footprints and have them merged with the edges defined in the board
definition to create the final board outline.  I don't know if the
current DRC checks for a closed polygon of the board outline but it
might be a good idea to create a warning if the polygon is not closed
when running the DRC.

> 
>>
>>>
>>> Every structure in the IDF3 is defined by wound polylines (board
>>> counterclockwise, cutouts clockwise), each segment can be a line or
>>> a circular arc segment. So nothing in pcbnew can't be represented in
>>> IDF3 (some math required:D)
>>>
>>> A better work could be done for holes, since IDF distinguish between
>>> mechanical, tooling, via and pins... since an NPTH hole is definitely
>>> a mounting hole, the only doubt is the plated hole (can be a pin or
>>> a 'grounded' mounted). Heuristics could help, maybe. Or maybe simply
>>> nobody cares about the difference (like for some things in gencad).
>>
>> Perhaps looking at the net connections could be used determine the
>> heuristics.  If it cannot be determined, prompt the user to state the
>> heuristics.
>>
>>
>> _______________________________________________
>> 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
>>
> 
> 




References