----- Original Message ----- > From: jp charras <[email protected]> > To: [email protected] > Cc: > Sent: Thursday, December 19, 2013 6:27 AM > Subject: Re: [Kicad-developers] bugs 1261583 and 1236583 > > Le 18/12/2013 19:36, Wayne Stambaugh a écrit : >> On 12/18/2013 1:29 PM, jp charras wrote: >>> Le 18/12/2013 06:02, Cirilo Bernardo a écrit : >>>> These bugs are identical and concern the 3D viewer (rectangular >>>> outline used because adjacent segments fail the exact endpoint >>>> test). >>>> >>>> The line causing this is in specctra_export.cpp, line 1011: >>>> >>>> prox = Mils2iu( 0 ); >>>> >>>> >>>> I did not submit a patch because I believe some discussion is >>>> necessary about the limit imposed for the closeness of points and > the >>>> routine (fillBOUNDARY) is also used by the specctra exporter. In > bug >>>> 1236583 the user has points which differ by 500nm. In bug 1261583 >>>> the difference in the DXF file is less than 10nm. >>>> >>>> Is it possible to change the limit without adversely affecting the >>>> specctra export, and if so, what limit would people consider >>>> reasonable? From my point of view, the worst case which isn't > in the >>>> domain of the plain ridiculous would be that someone uses a 32-bit >>>> float representation of a board which is about 1000mm across - that >>>> would give a worst case expectation of about 1 micron. I would >>>> imagine even 10 microns should be acceptable given modern >>>> manufacturing techniques and limitations of reality. >>>> >>>> - Cirilo >>> >>> You can try: >>> prox = Mils2iu( 1 ); >>> >>> One mil is certainly acceptable, and should be enough for rounding >>> issues when arcs are converted from dxf files. >>> >> >> This may solve the 3D drawing issue but is it acceptable to export to >> specctra with an unclosed board outline? I seem to remember there being >> some debate as to whether or not that is valid. The other option is >> attempt to close any gaps in the board outline only for 3D rendering >> purposes and enforce a closed board outline for specctra export. > > You are right. > I'll make more tests soon with exported dsn files. > > However 3D drawing needs valid polygons to display the board outlines > and holes. > And specctra export uses prox = Mils2iu( 10 ); to find holes inside the > board. > This is the reasons I proposed prox = Mils2iu( 1 ); in main outlines > calculations. > > -- > Jean-Pierre CHARRAS > >
MCAD software can also be very strict with the IDF outline; what I did for IDF was to force the end segments to be the same by writing only 1 point from each segment except for the first point (2 points) and the last point (none). fillBOUNDARY() also does this; if we patch line 1101 (test for closed polygon) to replace the last point with the first point then there will be no problem for specctra either. - Cirilo _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

