How to export IPC356 File?
Warning: Component Reference text length
The Ipc356 allows for reference text length up to 6 characters. For example the reference "BTN_DOWN" must be truncated to "BTN_DN".
(Eagle could have been allowing for one more character, btw.) Pay attention that the truncated names are not overlapping after all truncations.
Truncated components references will not match component references in the BOM file, making it difficult to auto-detect the BOM columns.
Very oddly the IPC356 format is a fixed width format. There is a possibility of a net name aliasing by IPC356 specification.
Original name is renamed to a short alias, used within IPC356. There is no such option for the component reference, however.
What I have found out is that some other ecad programs just do not bother and export longer designators, without a warning.
That approach is actually readable, under condition that the reference name does not contain a minus sign, as the format forces
"-" after the reference field. This approach might be however problematic to some parsers.
Another solution would be to not allow for component designator lengths above 6 characters already on the input (schematic) side.
The IPC356 actually expects designators to be like "SW1", see Wikipedia
And sticking to the usual names makes it easier for ZofzPCB to assign more accurate component models.
Walk-through (Using Auto files assignment)
As I have some feedback about problems reading Eagle Gerbers, I have installed Eagle 9.4.2 free version.
I took an Open Hardware project: hackaday/BoborBuino
There is my walk through.
- I started by exporting the CAM files. The Gerber export results are saved in multiple directories, named: Assembly DrillFiles, GerberFiles.
This is not standard and it is not compatible with zofzpcb Auto-Detection. No problem to move the files to a single common directory, though.
- Automatic recognition composition of files: "drill_1_16.xln" was not recognized as a drill file. - I have fixed the "CAM_Load_Rules.txt" mask file immediately. (available by next release)
- Now press the [Auto Load] button.
- Now press the [OK: Read & Render] button.
- Board outline:
The board outline is in a separate file - good.
ZofzPCB does not read it correctly, missing the PCB milling division of the 2 boards (top/bottom). What is so complicated in the board outline?
What we need is a clear cut line, as to guide the tool.
I have checked the drawing in a 2D gerber viewer (gerbv), whitch is just displaying the drawing, instead of trying to conver it to a "solid" polygon.
I have removed those overlapping arcs, forming the circles (holes), knowing that they are repeated as drills.
Obviously my algorithm could not convert the overlapped arcs to single circles and quit before finishing the whole drawing.
I could smell the problem, by seeing the gerber file size of the outline being 111KB vs e.g. copper-top 40KB. I know, it will be difficoult for me.
Surely, there is much more information in the copper layer then in the board outline, but the size says opposite.
Anyway, I consider it as a zofzpcb bug.
Another point - the standard size of a cut-out milling tool is 2.5 mm in diameter. Possibly this can be changed, but not to zero,
to accomplish a rectangular cut-out. Inner cut-outs will be quietly adjusted - to a having a specific radius "stadium" curve.
This is not critical, but it will be edited by the cam operator, the way he wish.
I have repeated the above steps. I was lucky - my guess was correct.
The silkscreen renders for hours! It is a ZofzPCB old bug. Better algorithm is on the way, btw.
Again - the silkscreen_top is 220KB (vs copper-top 40KB.)
I am giving it another try - this time using Imperial scale. Magically it takes only one second to render. And the size of all "imperial" gerbers is about a half of size of "metrics" version. Why?
I need to hurry up with the algorithm update.
IPC netlist vs Copper netlist errors:
as the above error dialog shows, there is one short connection.
Looking closer using menu Netlist / Errors
It seems that the ring around the speaker holes was added without an accompanying schematic entry or so. This is a kind of cosmetic problem.
I have the components display:
There are some differences between what ZofzPCB have shown and what the project's photos show.
Some problems are the lack of proper models, some other, adjustable, - wrong detection, mostly because of non standard reference naming.
Right-click model menu lets resolve some of the problems, either by removing the component or by selecting a different model or by changing some parameters value.
The final view - do not forget to save the camset (setup) file and / or the rendered board mesch data.
Check out the rendered project on The Project Gallery
Why it is rendering so long, sometimes?
yes. why it is still not done!?
Why am I not allowing to overwrite component selection, even if the models are there?
Unlike in other 3D software, the models are created out of footprints. There must be a particular configuration of pads/holes, for the generator, to fit the model.
Pads and footprints must always match. You never had to adjust the 3D model rotation and position or the el-cap pins distance, right?
- SMD shunt resistor
Resistor may look the same, but there are 4 pads on the PCB. 2 pads for each terminal, avoiding a voltage drop on the high current solder junction.
The algorithm searches to fit a 4 pad device in this place. There would have to be some arrangement to tell the program to ignore the specific 2 pads.
- Metal Can OSC
The footprint is constructed to accomodate 2 types of the case - long (like DIP14) and short (like DIP8). This dual function is not visible in the IPC356 file.
The algorithm constructs a strange 6-pin device.
- 3-pin SMD diode
Diode uses only 2 pins, the not-connected pin is not exported in IPC356 file. The algorithm fits a 2-pin doide instead. This usually can be corrected by the settings - something like "export all"
A solution for this would be a kind of IPC356 graphical editor, allowing for removing pads/holes or adding from the drills or copper/solder-mask pads.
In the component selection tree, some decisions are permanent (e.g. this is 2 pin device), some are guesses (e.g. this is a resistor).
All the guesses are possible to be overwritten.
Why a non-standard Windows GUI?
I have started the project in ancient time, when Direct3D-capable graphic card was not a standard equipment.
Even, if the graphic card was compatible with Direct3D 9.0, it was not necessary a very powerful device.
The typical implementation was also not working that good, when combining 2D and 3D subsystems - windowed mode.
The 3D content typically had frame sync problems, leading to jerky animation or a split image.
The program was supposed to be used mainly in a full-screen mode, with the 2D/GDI system being switched off.
It is just like most of games are constructed. And, like just said, the GDI (windows graphic) is not available in this mode.
I remember my long hesitation, and making this not very popular decision. Now, it would be possible to rewrite, but there is always
something more important to do. Bad side: we are missing the drag-and-drop interface and the great windows file explorer functionality.
Also, some people are confused with any non-standard looking GUI - I am sorry for this. On the other side, some users, including me, like it.
How to load the license key
Program without the component generator license will nag you, but it will not limit any 3D Gerber functionality except the components view and View-Only saving possibility.
You can switch off the nagging, if you select Components / Model Generator / Extruded (Free)
The license changes the "Extruded" components view....
... to the "Parametric" component view.
When you have the license key, please start the "License Key" dialog box, via menu: Components / Enter License Key.
Please paste the complete license key text into the edit box, by clicking inside the box (cursor should blink there)
and pressing the Ctrl-V keys on the keyboard.
The text of the License Key should appear in the edit window. The text is blurred on the picture, to keep it secret.
But in the real life it is just a normal text, ending with an equal sign. Note that you should preserve the upper and lower case.
After pasting the key text (1), please check the validity of the key, by pressing the [Load License Key] button (2).
The info text (3) should reflect your key type and date of validity.
Now, you can close the dialog, pressing the (X) in the corner (4).
- Note that the key text is written to the registry on the program exit. If, by chance, the program is closed incorrectly,
the key might be not saved and you may need to repeat the copy-paste procedure.