singwina / heekscad

Automatically exported from code.google.com/p/heekscad
Other
0 stars 0 forks source link

RS274X Gerber import doesn't work for KiCAD-generated file #231

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Import the KiCAD_Sample.gbr file.

Original issue reported on code.google.com by David.Ni...@gmail.com on 15 Dec 2009 at 9:49

Attachments:

GoogleCodeExporter commented 9 years ago
I believe I have fixed this.  The KiCAD-generated file can now be imported to 
Sketch
objects.

Original comment by David.Ni...@gmail.com on 18 Dec 2009 at 11:23

GoogleCodeExporter commented 9 years ago
Hello
When this version will be available ?

Original comment by p.richa...@free.fr on 5 Jan 2010 at 10:06

GoogleCodeExporter commented 9 years ago
you want a Windows installation?

Original comment by danhe...@gmail.com on 5 Jan 2010 at 10:51

GoogleCodeExporter commented 9 years ago
yes please

Original comment by p.richa...@free.fr on 6 Jan 2010 at 6:36

GoogleCodeExporter commented 9 years ago
Hello.
Thanks for the windows version but when i import a ".Pho" from Kicad, nothing 
happend..
A windows asking me for : "Select how the file is to be interpreted" and 
whenever 
the choice a made, nothing happend.
I try with the file "Kicad_sample.pho" but it's the same...

Original comment by p.richa...@free.fr on 7 Jan 2010 at 5:52

GoogleCodeExporter commented 9 years ago
I only have one sample file from Kicad.  Can you please add your file to this 
issue
and I will try to see why it's occuring.

Original comment by David.Ni...@gmail.com on 8 Jan 2010 at 12:57

GoogleCodeExporter commented 9 years ago
Changed status from fixed to accepted

Original comment by David.Ni...@gmail.com on 8 Jan 2010 at 1:00

GoogleCodeExporter commented 9 years ago
I have fixed this for the Windows build.  It works in both Windows and Linux 
now.

Original comment by David.Ni...@gmail.com on 8 Jan 2010 at 7:19

GoogleCodeExporter commented 9 years ago
I am getting this warnings and import of gerber files from KiCad do not work:

RS274X::Read(/home/cas/Documentos/MicropendousX/Hardware/MicropendousX-1343/Micr
opendousX-1343-Component.pho)
ObRound apertures are not yet supported
ObRound apertures are not yet supported
WARNING: D03 found without radius information
WARNING: D03 found without radius information

Original comment by casai...@gmail.com on 4 Mar 2010 at 1:33

Attachments:

GoogleCodeExporter commented 9 years ago
The two warnings are because the ObRound aperture definitions were flawed.  I 
will
implement the ObRound aperture support now that you've given me an example file 
but
it may take me more than a week to get to it.  I can't do it tonight and we're 
going
to start a long weekend from tomorrow night.

Sorry for the delay.

Original comment by David.Ni...@gmail.com on 4 Mar 2010 at 9:06

GoogleCodeExporter commented 9 years ago
David, many thanks!

You can get the original design files for KiCad here:
http://code.google.com/p/micropendousx/

If you install KiCad, then you can export from that pcb sources files, the 
gerbers
and test by yourself.

Please send me an e-mail (casainho at gmail.co) when you have the code ready or 
some
version so I can test it :-)

Original comment by casai...@gmail.com on 4 Mar 2010 at 11:37

GoogleCodeExporter commented 9 years ago
I have added support for the ObRound aperture shapes and, if I cut the file 
down to
around 1300 lines, I get a result.  Unfortunately I still get an exception while
trying to merge all the lines that make up the larger filled areas.  KICAD 
seems to
add parallel traces so as to fill in a larger area rather than using the area 
fill
functionality of RS274X.  The extra number of edges used seems to be killing the
OpenCascade fusing routine.

Sorry it's not a good result but I can't spend any more time on it for now.  We 
did
start going down the path of rendering the RS274X data in a bitmap with the 
intention
of performing an edge-detection algorithm on the resultant bitmap.  When I got 
the
OpenCascade library usage into a form that worked for the boards I was using, I
stopped the bitmap development.  What I did is still there but it's not 
finished.

The only thing I can suggest is that we either finish the bitmap/edge detection
functionality or, in the shorter term, you modify the board's layout to stop 
painting
the large filled areas with small traces.  I expect you will be routing the 
board
with CNC anyway so you will get the larger areas as a side-effect of the 
isolation
routing process.  With the smaller number of complex areas to handle by the
OpenCascade libraries, it may produce a useable file.

I have attached the HeeksCAD file I get when I cut the original file down to 
arouund
1300 lines (while leaving the M2 at the end).

Original comment by David.Ni...@gmail.com on 5 Mar 2010 at 10:24

Attachments:

GoogleCodeExporter commented 9 years ago
Sorry, I do not understand nothing of RS274X... nor on programing.

First, I was trying to use:
http://sourceforge.net/apps/phpbb/pcb2gcode/ but it do not work
perfectly... but maybe you could at it, maybe some help on that code?
I think they use libgerbv...

I would like to mill PCBs of 0.25mm tracks, for have 0.5mm pitch on
LQFP. First I would like to find a software to gerber-> gcode and
after I need to find a way to probe a grid of my PCB are and adjust
the Z...

Many thanks! :-)

Original comment by casai...@gmail.com on 6 Mar 2010 at 12:09

GoogleCodeExporter commented 9 years ago
Casainho,

  I think the problem is made worse by the way the earth planes (the large filled
areas on the PCB) are defined.  They seem to have been filled in by placing 
lots of
traces next to each other.  When the import occurs, it needs to find the 
outer-most
edges of all overlapping traces for use as the sketch.  With so many 
intersections
that probably just 'touch' each other, it is having difficulty finding the 
outer-most
boundary.  If there was a way to define these areas using a polygon feature in 
KICAD
rather than by drawing lots of traces, it might have a better chance of success.

  I am surprised that the pcb-gcode application had trouble with it.  The raster to
vector conversion process I mentioned in my previous posting was going to be 
similar
to that used within the pcb-gcode application.  In any case, I don't have time 
to
spend looking into the pcb-gcode application.  I have too many other tasks I'm 
hoping
to get completed.

  As for the probing idea you mentioned, I agree that this is something we should add
to HeeksCNC.  I have added the code to probe the board and these probed points 
can be
re-imported into the Fixture objects so that the XY, YZ and XZ plane rotations 
are
measured.  The part we're missing is that the existing 'Profile' operation 
doesn't
support the rotation of the YZ or XZ planes.  I have been working on a 'Contour'
operation that uses the OpenCascade libraries to do the sketch offsets with a 
view to
supporting this YZ and XZ plane rotation but I'm quite a long way from 
finished. 
(Don't wait for it).

  Sorry but all I can suggest is that you simplify the PCB layout with regard to the
large filled areas.  Perhaps you could even try deleting the traces that make 
up the
large filled areas and just mill the board without them.  The fact that you are 
doing
trace isolation routing will leave you will large filled areas anyway.  It 
would then
be a matter of re-shorting these areas to the appropriate signal.

  It's all I can suggest at the moment.

  Thanks
  David Nicholls

Original comment by David.Ni...@gmail.com on 9 Mar 2010 at 7:39