Author Topic: Is there any PCB design software that will allow me to use an image as a guide?  (Read 22200 times)

0 Members and 1 Guest are viewing this topic.

Offline DerekG

  • Frequent Contributor
  • **
  • Posts: 882
  • Country: nf
Also, I'm getting tons of GRC errors, like hundreds or thousands of them, all on the pads and traces. They are all "gap" related. The most common one is "Gap=0 mm; Rule=152mm". I have no idea what "gaps" they are referring to. There are no "0 mm" gaps between anything in the design (which would mean things were touching):

Yes, I have noticed this even when designs were initiated natively in DipTrace itself.

I'm not sure at this stage if it is a full blown bug or if it is caused by some setting (that I can't locate).

It pops up a lot when using copper planes & copper polygon fills.

I simply turn off the top layer & carefully look for for the red design rule error circles. If everything looks fine, I simply ignore the errors & successfully send the Gerber plots to the board house.

If anyone else has some ideas as to why this is occurring on DipTrace, please post. Thanks.
I also sat between Elvis & Bigfoot on the UFO.
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1542
  • Country: au
I tried it (Illustrator CS4 and pdf2gerb 1.6, which seems to be the latest version), and the output files were garbage.

A PCB like this, is getting outside their test-coverage, so I'd suggest starting with a design similar to their examples, while you establish the tool flows. Then, push things a little and see what is possible.

Does the Gerber format itself support bezier curves? And if so, which Gerber software has a bezier tool?

No.
Gerber files originally based on photoplotters, which are XY beds with motors, and a Lamp, and an aperture disk.
This stuff is very old, so does straight lines only. Any 'curves' are generated as polylines.

Likewise, lowest-common denominator translators, will also tend to use simple line segments, to give the best yields.
Of course, that safe/lowest level choice can be a pain in the details, as you have found.

Also, I'm getting tons of DRC errors, like hundreds or thousands of them, all on the pads and traces.

If you are starting from a polyline base, I'd pretty much expect DRC errors, as DRC scans for lines too close.
What makes touching line segments pass, is when the lines have the same net names.
That NET name comes from a Schematic flow, and here, you have no schematic flow.


 

Offline MaximRecoilTopic starter

  • Regular Contributor
  • *
  • Posts: 235
  • Country: us
I tried it (Illustrator CS4 and pdf2gerb 1.6, which seems to be the latest version), and the output files were garbage.

A PCB like this, is getting outside their test-coverage, so I'd suggest starting with a design similar to their examples, while you establish the tool flows. Then, push things a little and see what is possible.

Well, if the Gerber format doesn't support bezier curves, then there is no advantage to this Perl script method compared to importing a DXF anyway. The only reason I tried it was because I hoped it would preserve Illustrator's bezier curves.

Quote
No.
Gerber files originally based on photoplotters, which are XY beds with motors, and a Lamp, and an aperture disk.
This stuff is very old, so does straight lines only. Any 'curves' are generated as polylines.

How were PCBs with traces that have smooth analog-looking curves manufactured in the first place? This one I'm working on right now is based on the PCB in a Nintendo Entertainment System controller; I've modified the layout somewhat to work with a different video game system. But anyway, not only are the original traces full of smooth curves, but they look like they were drawn by hand and transferred to the PCB, like what would happen with a photosensitive stencil process, as is used in screen printing or PCB etching that you can do at home.



See how hand-drawn that looks? The traces are nominally 0.5 mm wide, but that varies (I'm not talking about intentional width variance for handling different levels of current), and the geometry is very un-computer-like. Those curves which are lined up in a row have very mismatched radiuses, unlike what you would get with an "offset path" function in a vector program. That PCB was designed no earlier than 1985, and Gerber files were the usual method by that time, weren't they?

Here's another curvy trace PCB:



That's from a Fisher snow plow joystick, which is still in production.

Quote
If you are starting from a polyline base, I'd pretty much expect DRC errors, as DRC scans for lines too close.
What makes touching line segments pass, is when the lines have the same net names.
That NET name comes from a Schematic flow, and here, you have no schematic flow.

Okay, so are those DRC errors a real problem for a PCB manufacturer, or can I ignore them?
« Last Edit: November 29, 2016, 09:56:38 am by MaximRecoil »
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1542
  • Country: au
Quote
No.
Gerber files originally based on photoplotters, which are XY beds with motors, and a Lamp, and an aperture disk.
This stuff is very old, so does straight lines only. Any 'curves' are generated as polylines.

How were PCBs with traces that have smooth analog-looking curves manufactured in the first place?

Long,long time ago, there was black tape, IIRC done 2x or 4x scaled, and then photo reduced on large cameras.
Google finds this
http://www.pcbwizards.com/handtape.htm

'Bishop tape' could produce curves as shown.
Rubylith was also used, but less for curves, as that used scapel and drawing arms.

Okay, so are those DRC errors a real problem for a PCB manufacturer, or can I ignore them?

If you have no NET names, just use your eyeball check to confirm you are ok.

Addit: You could look at adding NET names manually.
The NET info is not complex, and some EDA tools will work-backwards to merge a polyline with the Pin-based NET info.
It also gives you a means to check the design, and should allow better DRC use.
« Last Edit: November 29, 2016, 07:51:40 pm by PCB.Wiz »
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1542
  • Country: au
Well, if the Gerber format doesn't support bezier curves, then there is no advantage to this Perl script method compared to importing a DXF anyway. The only reason I tried it was because I hoped it would preserve Illustrator's bezier curves.
Yes and no. A key advantage of the Perl Script, is you can avoid any other CAD tool, and use only Illustrator.

This one I'm working on right now is based on the PCB in a Nintendo Entertainment System controller; I've modified the layout somewhat to work with a different video game system. But anyway, not only are the original traces full of smooth curves, but they look like they were drawn by hand and transferred to the PCB, like what would happen with a photosensitive stencil process, as is used in screen printing or PCB etching that you can do at home.

Another reason for the demise of flowing curves, is the new EDA tools with Shove Routers make PCB design a lot easier, and Shove Routers tend to think at 45' increments. Most I've tried have a real distaste for any manually-added curves...
« Last Edit: November 29, 2016, 08:07:09 pm by PCB.Wiz »
 

Offline MaximRecoilTopic starter

  • Regular Contributor
  • *
  • Posts: 235
  • Country: us
Yes and no. A key advantage of the Perl Script, is you can avoid any other CAD tool, and use only Illustrator.

I would still need to open the output files in something to verify that they are usable. With the DXF-import method I'm not using other CAD tools for anything other than compiling the PCB layers and generating the Gerber files. Well, ideally that's the case anyway. As it stands, DipTrace won't accept imported DXF drill holes so I have to add those from within the program. I noticed that Cadsoft Eagle can import DXF files too; I might see if it does any better with importing drill holes.
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2536
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Yes and no. A key advantage of the Perl Script, is you can avoid any other CAD tool, and use only Illustrator.

I would still need to open the output files in something to verify that they are usable. With the DXF-import method I'm not using other CAD tools for anything other than compiling the PCB layers and generating the Gerber files. Well, ideally that's the case anyway. As it stands, DipTrace won't accept imported DXF drill holes so I have to add those from within the program. I noticed that Cadsoft Eagle can import DXF files too; I might see if it does any better with importing drill holes.

There seems to be some issue with importing holes in the current version of DipTrace... Let me have a play tonight and see what's up.

Also, DXF does support splines, however DipTrace doesn't support that version of the DXF standard. To get around it, use "dxf_s: -splineaspoly" as the pstoedit CLI option. That will convert splines to polys with reasonably good precision.
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1542
  • Country: au
Yes and no. A key advantage of the Perl Script, is you can avoid any other CAD tool, and use only Illustrator.

I would still need to open the output files in something to verify that they are usable.

True, but there are plenty of Gerber Viewers out there.
KiCad has a reasonable one, which can also export to KiCad.
I'll check how that handles Drill....

Addit: Hmm.... well, that does do Gerber -> KiCad, with some caveats....
* PCB traces come in ok on a per-layer basis
* You can export Drill info to a user layer, so you can see holes and slots
* It seems to sense trace ends, and export as VIA, with a round diameter == Pad length. Drill is always 0.4mm

Caveats:
-- Vias do have drill (0.4mm), but alas not derived from the Drill-imported
-- Vias are placed on all PADS, including SMD ones.
-- KiCad Vias I think cannot change from Round, nor manually set Drill = 0.0, or separate layer stack-ups.

I guess that means for a Thru hole PCB, with no SMD, and only round pads, this could work.

One weird thing is slotted oval holes at 45' (ie the most complex) seem to convert ok, but the simpler SMD pads all morph to round ?!
Ahh.. seems flashed items are treated specially, different from drawn.

 Flashed to F.Cu or B.Cu flip to Vias, Flashed to drawing layers flip to Round == H Value of Flash, no drill.

With the DXF-import method I'm not using other CAD tools for anything other than compiling the PCB layers and generating the Gerber files. Well, ideally that's the case anyway. As it stands, DipTrace won't accept imported DXF drill holes so I have to add those from within the program. I noticed that Cadsoft Eagle can import DXF files too; I might see if it does any better with importing drill holes.
Most CAD flows import DXF as for outline handling, and they design for portable first, so expecting to extract PAD stack and Drill information, is
maybe expecting too much.

If you want full information flow, you should be able to define PAD sizes on all layers, as well as Paste and Mask separately, and drill with plated/non plated choices.

I've not seen a generic DXF import go to that level, but I have requested that KiCad add a tool/macro to the Footprint editor, that can extract a circle or polyline, and generate a PAD definition or hole definition. - ie the simple footprint helper stuff.

The user would still need to select item, then select what to create, using that as seed.

Possibly, some layer names could be used  to assist seed process, but with things like offset drilled oval pads, getting more automation would need more code - enough to scan for 'Drill-contained-within'


It is still technically possible to include PAD stack and Drill info in a DXF file, and Mentor for example, have two DXF export choices:
Flat DXF, which  is close to a plotter, with no database structure - but it is highly portable.
Full DXF uses DXF comment fields etc, to tag entities so they can import back as PAD stack, Drill info outlines and rules etc.
 This one is less portable, and often leads to complaints of clutter, for tools that ignore hidden attributes.

If you had control of the sources of both the EDA tool, and the DXF generator, you could, in theory, get a similar result.
« Last Edit: November 29, 2016, 11:51:40 pm by PCB.Wiz »
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1542
  • Country: au
a quick Google finds others have been before you ... look at this - PDF to Gerber is exactly what you want, as it also does the Holes, and manages solder mask and silkscreen...

http://swannman.github.io/pdf2gerb/
pdf2gerb: Convert PDF to Gerber and NC Drill formats

Because the KiCad Gerber to KiCad seems to mostly work, I thought I'd try this pdf2gerb design set.
I grabbed https://github.com/swannman/pdf2gerb/raw/master/examples/pdf2gerb_example.zip

and loaded into Kicad.GerbView, and then used Export to PCB NEW button.
Below is the result:

Comments:
Seems to have managed Copper/Mask/Silk all ok, and has converted drilled pads to Via, but with the default drill of 0.4mm
This works here, because they are all round - Hard to tell if the original 10pin connector top right, was RND or Oval  Pads ?
All the gerber viewers I tried, say round pads.

The supplied Drill.drd drill file, does import into Kicad.GerbView, but scaled wrong.(1/10th?)  It seems to tag 0.6096mm and 0.5588mm holes.
- I'd guess a small fix to their script would fix that ?

KiCAD has a native file format that is simple ASCII, so a script that can do pdf2gerb, could be modified to do pdf2kicadpcb, and that probably could do a smarter job of drill and pad shape handling.




« Last Edit: November 30, 2016, 12:43:55 am by PCB.Wiz »
 

Offline bpiphany

  • Regular Contributor
  • *
  • Posts: 129
  • Country: se
No.
Gerber files originally based on photoplotters, which are XY beds with motors, and a Lamp, and an aperture disk.
This stuff is very old, so does straight lines only. Any 'curves' are generated as polylines.

Technically, straight lines, circular arcs, and filled polygons. But that's about it if I'm not mistaken. The full gerber specification is very short and actually quite a nice read. Those who use gerber and haven't read it really should. Simple hacks like merging layers or adding "negative" patters to polygon fills is pretty straight forward =)
 

Offline scopeman

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: us
SprintLayout6.0 is the ticket for this job, and about 44.00USD.
W3OHM
 

Offline Mattylad

  • Regular Contributor
  • *
  • Posts: 143
  • Country: gb
I have used an image to recreate a board many times.

The old board is scanned in using scantocad which produced gerber or dxf, either will do.
These are imported into the cad software (CADSTAR in my case) as figures which will show me where pads and traces are supposed to go.
I create all the parts, draw the schematic and transfer that into this new board, place the components over the pads and then route it following the figures.

Having been party to also doing this on a 6 layer board with thousands of pins (luckily all PTH) where the outer layers had to be exactly the same this bit was relatively easy, figuring out the inner layer connectivity when not having a schematic was a tad harder and more time consuming but it wasn't impossible :)
Matty
CID+
 

Offline scopeman

  • Frequent Contributor
  • **
  • Posts: 307
  • Country: us
For less than $50.00USD or 49.9 euro you can buy a fully licensed version of SprintLayout 6.0 that can do this easily. Just scan to a bitmap and float it in the background and trace over it with the program. You can do 2 layers at a time this way. Easy to learn, very short learning curve. In a hour or so you will be an expert.

You can also directly import 274X gerbers and turn them into a PCB quite easily. If you have the drill file for the 274X it will create the pad holes automatically. Works like a treat. I have converted CADSoft Eagle 274-X gerbers this way. It has a lot of power for the buck. You can download a fully functional program from their website (does everything but save).

I have made 100's of boards with this seemingly little known but powerful software.

It is amazing especially considering that the install is only a few megabytes! It can do things that P-CAD 2006 could not do but there are some limits:

1. No full auto-router (real PCB designers don't need one)  :-DD
2. 4 copper layers
3. 1 outline/doc layer

There are workarounds for some of this.

No limit to the number of components or pins or anything crazy like that.

There are some videos available on YouTube. The ones by Juan Vargas are amazing.
Juan has also released a ton of Makros (that is what Sprint calls library parts) that can be found on the Yahoo! Sprint Layout Group

It is also stupidly easy to make your own parts.

Here is one of Juan's videos, he specializes in high performance audio design. An audio engineer's engineer for sure!:



Good luck,

Sam
W3OHM

LeCroy Group Moderator and professional electron pusher





You can find it here:

http://www.abacom-online.de/uk/html/sprint-layout.html

The usual disclaimer:

I have no financial or other interest in the company that makes this software.
W3OHM
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Quote
if I wanted to recreate an existing PCB, the easiest way to do it would be to scan the PCB in at e.g., 600 DPI, drag the image into design software, set the opacity to about 50%, and then layout the PCB design on top of it, using it as a guide. When finished, the image can be deleted.
I have done EXACTLY that, in EAGLE, using the "import BMP" ULP program (and adjusting the image/scan/whatever it was I had to be the appropriate size, using an image editor beforehand.)  (and then used the PCB to backtrack to a mostly-known schematic.)
(This was for the "Freeduino" project, and analysis/review/debug of the Solarbotics version, which had been done in a different CAD package.)

I've done similar things by importing gerber files (which is more directly supported), when I wanted stuff in a silkscreen layer that obeyed DRC rules as if it were copper (draw in copper, export layer using CAM to gerber, import gerber to separate layer, delete the original copper.)

I don't know if it's something that would work if you were trying to EXACTLY recreate an "artistic" layout, but it certainly works fine for using as a guide...
 

Offline maggotronix

  • Contributor
  • Posts: 36
  • Country: au
This was asked at the Kicad forums recently. In Kicad, you can make a "footprint" out of the PCB-layout image with the built-in "Bitmap2Component" module, then simply place components over the top of it & trace the routings etc. Then, obviously, delete the background footprint/image. You need to turn off the DRC check as you are not working from a prior schematic. It's easy & it works & there are no scaling/size issues with the background layout.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf