Friday, May 1, 2009

ECAD vs. MCAD Round 1 FIGHT!!

Integrating eCAD and mCAD systems for interoperability is generally a painful process at best. However, getting these systems to talk to each other is pretty much required for any serious project. Otherwise it will take numerous costly revisions as electrical and mechanical teams will end up putting screws through microcontrollers and capacitors in the way of mounting bosses, much less trying to make the battery removable without complete disassembly.

In this round we will look at using EAGLE with Solidworks to produce a reasonably accurate transfer of data. But before we get started it is helpful if you are familiar with creating library parts in EAGLE.

Long ago in 1996 there was an interoperability standard created to allow for data to be transferred from electronic to mechanical CAD systems and verse-visa. The Intermediate Data Format version 3.0 would turn out to be the final version in the series mostly due to the fact that vendors realized if they made further improvements, you could export from OrCAD to Solidworks and back into Ultiboard. So to ensure vendor lock-in IDF v4.0 will never be implemented, and the mCAD vendors will just say they will implement it after the eCAD vendors do and so on.

So to get started, first layout the schematic and route the board.

Check the datasheet for the dimensions of the parts you want represented in the mechanical CAD system, for this example we will use the R0805 resistors.

Open the RCL.lbr in EAGLE and select the R0805 package for editing.

Create layer 57 tCAD and layer 58 bCAD

Setup your grid so that the primary grid is half the Length of the chip resistor and the alternate grid is half the width of the part

To create a new color that you can assign to the tCAD Layer select [Options > Set...] from the menu, then follow the diagram above.

Once you have created to new color then you can assign it to the tCAD layer.

Now draw a line from one side of the package outline.

Now move the line up while holding the ALT key.

Create the bottom edge, then draw the side while holding down ALT.

The completed outline should look like this.

Then select each edge with the information tool and adjust the line width to 0.6 microns to represent a part that is 0.6 mm high

Finished R0805 package with updated outlines.

Return to your board file and update all libraries.

Use the command input area to create layer 50 and switch to it. On this layer you will draw an outline of the circuit board which will be exported.

Draw the outline then change the width to 1.6 microns for 1/16" thick PCBs.

Finished outline.

Run the generate_3d_data.ulp

Edit options and hit ok.

Open the .IDB file in Solidworks and it will prompt you for the .IDL file. The holes were removed during the creation of this tutorial. As usual getting things working with Solidworks is easy. Unfortunately the files are not compatible with Pro/E since generate_3d_data.ulp is not fully standards compliant with IDF v3.0. The next tutorial will cover getting this working in Pro/E which as usual is more work but also more powerful.

EAGLE ULP to generate IDF v3.0 output (compatible with solidworks not Pro/E)
English translation of ULP's manual
This company provides resources and solutions for eCAD and mCAD translation
Information about creating 3D PCBs in Pro/E from something like OrCAD

IPC-7351A Land Pattern Viewer and Tools

No comments: