Layout Knowledge Base

Files

DXF from the mechanical world

Arcs, inches, and layers with names like ‘Contour’. Translation is culture as much as geometry.

Illustration: a CNC-milled aluminium lid with a pocket and four mounting holes next to a small bare silicon die, the two scales on one bench.

You are bringing a drawing from a mechanical program into a chip or mask editor, and the sizes refuse to match. The picture at the top is the mechanical object: a milled metal lid, a small silicon chip beside it so the two scales share a bench. The file that described the lid is often DXF. It likes arcs, inches, and layers with names like Contour. Chip streams like integer polygons and layer numbers. Translation is a change of culture, not a Save As.

Where the size goes wrong

Packages, laser-cut lids, microfluidic outlines, and some mask houses accept DXF because the mechanical team already lives there. Import is where a 10 mm part becomes 10 µm, or a 10 µm waveguide becomes 10 mm of chrome. At 1000 ticks per micrometer, 100 µm is 100000 ticks. A pocket 2.00 mm deep is a machine depth the layout does not store at all, only the outline. The editor will zoom to extents either way. You will not notice until a pad that should be a millimeter sits inside a single via.

Stay with the lid in the photograph. It has to clear a chip in a package. The mechanical engineer sends lid.dxf. Units hide in a header. Your editor assumes micrometers because you have been drawing transistors. The lid arrives as a speck. You scale by 1000 and now it is a barn door. Meanwhile every arc became a polygon with too few segments, and the manufacturing grid never saw a point it liked.

The second picture is the check you do with a hand, not with a zoom: jaws on the part, the chip still in the scene. If the imported outline does not match a dimension you can measure on the metal, the unit choice is wrong. Do that comparison before you boolean the lid into a mask.

Measuring the mechanical part, with the chip still in view for scale

What the translator has to decide

DXF stores layers by name, not by numbered chip layers. It stores arcs and circles as curves. GDSII stores polygons as integer corners in database units. Import has to pick a unit, explode curves, assign a layer number, and snap. Each of those picks can be wrong without a dialog looking angry.

A circle that should be 100 µm across, approximated by 32 segments, has chords that sit off a 5 nm grid. On that circle a 5 nm grid is 5 ticks. Off-grid vertices fail some foundry checks even when the circle looks round on screen. Explode on purpose, scale on purpose, snap on purpose. Then look.

The lid and the chip in the first photograph are allowed to share a drawing only after those choices are written down: which DXF layer became which mask layer, which unit won, and who checked a real dimension with a caliper or a drawing title block. Otherwise you mill the right shape at the wrong size, or you write a barn door in chrome.

The calipers in the second photograph are a stand-in for that title block. A mechanical drawing names a unit in the corner and a tolerance on the pocket. Import those as sentences, not as a hope that the editor’s grid will notice. Say the depth in the email, or the mask shop will treat a 3D pocket as a flat chrome region and the mill will never see it.

Arcs are the other half of the fight. A lid corner drawn as a true arc becomes a polyline. Too few segments and the mill, or the mask writer, cuts a facet you can feel. Too many and the integer grid sprouts slivers. Pick a segment length the process can hold — often a few micrometers on a mask, coarser on a mill — and write that choice next to the unit. Then overlay the imported outline on a known chip pad and see whether the clearance in the photograph still exists in the file.

After the polygons are in the layout, turn on a pad of the chip that lies beside the lid in the first photograph, and measure the clearance from the imported lid wall to that pad. Then measure the same gap on the metal with the calipers, the chip still in view. If those two clearances disagree, the unit choice is still wrong, even when the outline looks like a lid on screen. Do not boolean the outline into a mask until the file gap and the caliper gap are the same number.

If the clearances match and a hole is one grid step smaller than the title block, snapping ate the difference. Measure that hole again after the snap, and put the grid step in the same note as the unit. The mill will cut the number you send, not the arc you remember from the mechanical program.

Calipers, then the file, in one unit

The lid that is 10 mm in the mechanical drawing is 10 mm in the layout only after you say so. Read as micrometers, 10 becomes 10 µm and the lid shrinks a thousand times. Read the other way, a 10 µm feature becomes 10 mm. Overlay the imported outline on a pad of the chip that lies beside the lid in the first photograph, and measure the clearance in the file. Measure the same gap on the metal with calipers. If the two numbers disagree, the unit is still wrong, even when the outline looks like a lid.

A hole that arrives one grid step smaller than the title block was eaten by the snap. On a 1000-tick micrometer, a 100 µm feature is 100000 ticks, and a 5 nm grid step is 5 ticks. Measure the hole again after the snap and put the grid step in the same note as the unit. A corner that was a true arc is a polyline now. Pick a segment length the process can hold, often a few micrometers on a mask, and write it next to that unit before anyone booleans the outline into a mask.

Continue exploring