DXF Conversion Secrets for Gerber, GDS-II, ODB++, etc.
By Simon Garrison, Applications Manager - Numerical Innovations
It is estimated over 10%-15% of all electronic layouts (for PCB's, RF, IC/MEMs, etc) are still designed using Mechanical CAD tools (like AutoCAD, SolidWorks, ProE, etc). Why?
The power of MCAD tools (like AutoCAD) are that they support a wide array of entities types which can be used to easily construct electronic designs from the simplest PCB to the most complex IC/MEMs circuit. Designers generally choose to layout their designs in MCAD when existing EDA/Layout tools do not possess the capabilities to meet unique geometrical requirements. Once the layout is completed and a DXF file is outputted; they will attempt to convert to a manufacturing format (such as Gerber data, GDS-II, ODB++, NC, etc.) – seems simple enough right? Wrong! This approach usually results in an astonished look on the designers face, when they view their converted manufacturing files and discover those files are not worthy of sending out for fabrication... Why?
This has been a mystery which has plagued designers and mask makers for well over 20 years, and the purpose of this article is to help explain common problems and how to solve them.
FACT: Most Fabricators & Mask shops won’t touch your DXF data with a 10 foot pole and ask that you provide them only with the manufacturing formats (such as Gerber data, GDS-II, ODB++, NC, etc.) – which is probably why you are reading this article in the first place :)
1. Understand the file format basics:
DXF/DWG Format :
DXF stands for Drawing Exchange Format, and it is a format for transferring drawings between Computer Aided Design systems. DXF is widely used as the de facto standard in the engineering and construction industries. The DXF format is a tagged data representation of all the information contained in an AutoCAD® drawing file. Tagged data means that each data element in the file is preceded by an integer number that is called a group code. A group code's value indicates what type of data element follows. This value also indicates the meaning of a data element for a given object (or record) type. Virtually all user-specified information in a drawing file can be represented in DXF format. DWG is essentially a binary version of DXF which tends to be smaller and cause less parsing errors during conversions.
Gerber Format :
To figure out the problems and how to overcome them, first lets look that the format you want to convert your AutoCAD drawing to: Gerber. The Gerber format is well over 35 years old and is simply an ASCII text file containing X,Y coordinates, and shapes (i.e apertures/dcodes). For more information about Gerber, visit the following link: http://www.numericalinnovations.com/pages/gerber-format
GDS-II Format:GDSII is a binary file format created in the 1970's which is classified as a "data interchange format", used for transferring mask-design data between the IC designer and the fabrication facility. GDS-II can only support simple physical objects such as Polygons, Paths, Rectangles, and Instances (for hierarchy).
FACT: Unlike the older Gerber and GDSII formats, every year you can expect there’s going to be a new release of AutoCAD and with each release there are usually changes to the entity types, DXF format, which continuously pose compatibility issues and other problems.
ODB++ Format:ODB++ is the most intelligent PCB data exchange format available today, capturing all CAD/EDA, assembly and PCB fabrication knowledge in one single, unified database. Originally developed by Valor Computerized Systems for use in its own PCB CAD/CAM systems, Genesis 2000, Enterprise 3000 and Trilogy , ODB++ has already become widely accepted as the de facto industry standard, providing unprecedented power to PCB design, fabrication and assembly, with the flexibility to expand as required. In parallel, ODB++ is providing most of the technological basis for the new IPC2581 standard for data exchange in the PCB fabrication and assembly industry.
2. When possible, keep your Drawings simple (Using 5 Fundamental Entities)
The easiest way to convert DXF to manufacturing formats (such as Gerber data, GDS-II, ODB++, NC) is to keep things simple. DXF files support hundreds of various entity types (like Hatches, Blocks/Inserts, 3D objects, Tapered Polylines, TrueType fonts & Multiline-text, Splines, Regions, plus Model/Paper Space considerations, and much more), so the question remains how do we convert those fancy entity types into simple manufacturing formats which only contains X,Y coordinates, and shapes – Simple, for best results create your layouts using the 5 fundamental DXF entities that will lead to successful conversions.
What are the 5 fundamental DXF entities?
Polylines (or LW Polylines), Circles, Text, Blocks, Inserts. Believe or not, you can create just about any PCB/RF layout using only these 5 entities, and they most closely represent objects in Manufacturing data.
Polylines (or LW Polylines): A series of connected lines and arcs than may have varying widths. This is the most common entity used to construct a PCB/RF layout and is used in about 80% of the layout. Polylines with width are used to draw traces (i.e. tracks) to connect pads. Polylines with 0-width are commonly used to create filled boundaries. Polylines may also be used to created square and donut pads.
Circles: Most commonly used to draw round pads.
Text: Used to draw silkscreen and labels. Typically using stick fonts which are AutoCAD compiled fonts (SHX) provide the best results, and are output as trace segments in manufacturing data. TrueType fonts are acceptable provided your conversion tool can output them as simple polygons.
Blocks / Inserts: Typically used to create a hierarchy in your design, and provide an optimized method to add repeated entities into your drawing. Blocks are essentially individual drawings that are inserted into a parent drawing. During the insertion, blocks can be rotated, scaled, and transformed in any direction. Blocks can be inserted multiple times as and array using Minsert (Multiple Inserts) which allows an array of blocks either rectangular or polar.
3. Understand how to Fill Boundaries generated from MCAD
A filled boundary in manufacturing formats (such as Gerber, GDS-II, ODB++) typically represents areas where metal will be present. Most MCAD tools (like AutoCAD) do not support filled boundaries and instead only display object outlines or wire-frame.
FACT: The most common reason Designers have problems when converting their DXF to manufacturing formats (such as Gerber, GDS-II, ODB++) is directly tied to the fact MCAD tools typically do not display filled boundaries correctly -- thus a Designer must visualize how their layout will be filled -- even though their MCAD tools is displaying outlines & wire-frames only.
How do I create a filled area in my Manufacturing data?
To create a filled area, first draw a closed, continuous boundary (with 0-width polyline) that does not self-intersect. Remember manufacturing formats (such as Gerber, GDS-II, ODB++) have stringent fill rules: All boundaries must be continuous, with no overlapping or self-intersections (like a bow-tie). The direction is typically not significant for filled boundaries (i.e clockwise or counter-clockwise).
Using JOIN: The Boundaries in my Manufacturing data are still not filled, why?
Most likely your boundaries are not closed & continuous (as described above). In many cases you may have a drawing which consists of individual line and arc segments – which are not continuous. We recommend that you convert those boundaries to Closed, 0-width polylines using the command “Pedit” and then select “Join”. We offer two conversion tools: FAB 3000 and ACE 3000 which have built in join tools that instantly connect all adjacent lines/arcs and convert them to closed boundaries. See movie tutorial "FAB 3000: Using Join and DeEmbed"
4. Understand COMPOSITE Fill. Determine what areas should be Dark or Clear (i.e. Island).
To understand composites, we first recommend checking out an article from the ACE 3000 help manual called Composites 101
Depending on the manufacturing format you're outputting to composites will be handled different.
Gerber / ODB++ Format: In the Gerber and ODB++ format, there is no such thing as island/hole detection. Fortunately both formats directly support Composites which allow you to explicitly define what to make clear or dark using the gerber commands “LPD” (Layer Polarity Dark) and “LPC” (Layer Polarity Clear). The most reliable way to define a composite, is to create separate DXF layers for each polarity change. For example: If you require a dark rectangular boundary with many clear holes, you should create two layers:
One layer which contains only the rectangular boundary, and a second layer which only contains the holes. During DXF conversion you can create a composite gerber merge and assign the polarity for each layer.
GDS-II Format: GDS-II doesn't support Composites (Dark/Clear), it only supports simple Polygons/Rects/Paths, so you must use a boolean engine to add "cutlines" that connect inner holes with outer boundaries.
What is Polygon De-Embedding?
Some conversion tools will have a featured called “Polygon De-Embedding”, where the conversion tool will decipher which objects are contained inside of other objects and logically try to determine what should be an island or hole and then explicitly output that information to the manufacturing format file.
Should I use Solid Hatch to composite fill an area?
Solid hatches look good in AutoCAD because they are the one of few entities in AutoCAD that appeared filled (on the AutoCAD screen). But remember a solid hatch is drawn on top of your existing drawing, causing duplicate data in the DXF, and results from a Gerber conversion can be messy because of the duplicate objects. If you must use solid hatches, please make sure your conversion software supports solid hatching and has the ability to detect islands/holes when necessary.
Using ACE Translator 3000 to convert DXF to Gerber, GDSII, and more.
|DXF to Gerber, GDSII, and more.||Converting DXF to Gerber (for a microwave coil)
Using FAB 3000 to convert DXF
|Easily Convert DXF to Gerber
||FAB 3000: Import DXF, use join and export to gerber|
Use EasyGerb to output Gerber files, while directly inside AutoCAD
|Using EasyGerb 5 Inside AutoCAD to export Gerber files.||Generate Composite Layers using EasyGerb
Checkout the User Forum for more assistance and answers to frequently asked questions about DXF conversions and more.
ACE Translator Forum: http://forums.numericalinnovations.com/?forum=106289
FAB 3000 Forum: http://forums.numericalinnovations.com/?forum=106290
EasyGerb Forum: http://forums.numericalinnovations.com/?forum=106292
Have more questions? Feel free to contact us directly: firstname.lastname@example.org