Merging modern software development with electrons and metal
Random header image... Refresh for more!

Eagle 3D PCBs with Alibre: More on Creating DXFs

I mentioned in the previous post in this series that you cannot use the standard Eagle DXF ULP to generate DXF files that Alibre can use.  Now I will go into a little more detail.

All the files DXF files I mention are available in a ZIP file here Extrude

What are the problems with the normal DXF ULP?

  1. It creates the pads, not the drill holes.  The picture below shows, in green, the pads created by the normal DXF ULP.  I added the drill diameters in white using DoubleCAD.
    Pads created by Eagle DXF ULP

    Pads created by Eagle DXF ULP

    1. Notice the green  squares (which I use for pin 1).  I haven’t seen a square drill bit yet…
    2. Notice the the green square and green circle are much larger than the white circle.  This is because the DXF ULP is creating the pad outline; for each pad, Eagle adds some copper area around the drill diameter (how much depends on the active design rules).   But we want to extrude the actual hole size through the PCB, not the pad (drill area + copper area).
    3. You can get around this by creating a special set of design rules that does things like set all pad shapes to circular, pad size to the drill size, etc.  And you’d better remember to re-apply your normal design rules (or you’ll end up with a worthless board).  This approach will work OK for SolidWorks (I’ve tried it), but still doesn’t work with Alibre, because of other problems listed below.
  2. The DXF ULP creates the pads using object blocks (with different blocks for the different pad shapes).
    1. The ULP creates two identical blocks right on top of each other on the same layer (17, Pads).  Alibre will not extrude sketches with overlapping objects.
    2. For some reason, Alibre does not copy the blocks correctly.  When I imported the DXF into Alibre, they appeared at the right location, but when I copied the sketch to the new Alibre part, they moved to a totally wrong location.  The picture below shows this with the DXF (Extrude-Different Layers.DXF) on the left  and the part (Extrude-Different Layers.AD_PART) on the right — the pads have moved far to the right.

      Problem Copying Blocks

      Problem Copying Blocks

So what did I do?  Well, I didn’t have a lot of time, and I’m not a DXF expert, so I made the minimum changed required for Alibre to work:

  1. I changed the Via function to always create a circle with the drill diameter on the dimension layer (layer 20).
  2. I changed the Pad function to always create a circle with the drill diameter on the dimension layer.

So far these changes have worked for me, but I should note that AutoCAD 2000 doesn’t like my changes (I haven’t tried newer versions).

The final topic: a bit on the DXF ULP options.

DXF ULP Options

DXF ULP Options

  • Output file is the name of the DXF file that will be created.
  • Always vector font should force a vector font to be used, but I haven’t test this feature.
  • Unit selects whether to use inches or millimeters.  Always remember the units you choose, because when you import a DXF into Alibre Design, Alibre needs to what units you used.
  • Below I show the same simple board creating DXFs using 1) no wire wire or fill areas, 2) using the wire width option only, and 3) using the wire width and fill areas options.  For extruding PCBs, you should never select the Use wire width or Fill areas options.
    DXF no Wire Width and no Fill Areas

    DXF no Wire Width and no Fill Areas

    DXF using Wire Width, not using Fill Areas

    DXF using Wire Width, not using Fill Areas

    DXF using Wire Width and Fill Areas options

    DXF using Wire Width and Fill Areas options


1 Mike Price { 10.30.11 at 1:25 pm }

I am using Eagle to design some PCBs. That is going well, but some of the integrated plastic parts need to be sent to the fabricator in .STL format. I am evaluating Alibre to use for editing and conversion of the 3D models. Having trouble importing the .dxf file produced by the Eagle ULP into usable Alibre files.

When I import the .dxf file into Alibre, some of the lines are turned into symbols, and everywhere there is a radius curve, Alibre inserts a tiny circular symbol where the curve joins a line segment. With these anomolies, the sketches cannot be extruded. They can be edited out one at a time, but the process is so tedious it takes hours per drawing to get it all cleaned up.

What am I missing here? Is there some way to knock out these symbols as a batch?

2 Tony { 10.30.11 at 3:10 pm }

Did you try using my modified ULP, available from my download page? The original Eagle ULP creates overlapping lines, which Alibre does not like. The PCB’s I’ve extruded have been pretty simple: just squares, rectangles, and circles, so I’m not sure how everything would work with more complex shapes.

You might want to give Autodesk’s free 123D a try. I’ve mentioned it before, and IIRC, it will export STL and STEP files. (Some MCAD programs, like Alibre and CoCreate PE, are very picky about extrusions. Some, like ZW3D and Solidworks, aren’t. I’m not sure how 123D does, but it’s worth trying).

3 Ron { 05.28.12 at 2:32 pm }

Thanks very much for the tips (and the modified ULP)! I’ve been wrestling with this exact problem for a while now, and I’m very happy to have found your blog.

4 Tony { 05.29.12 at 2:47 pm }

Thank you for the feedback!
I’m pretty sure the issue is that Alibre is only a solid modeler and can’t handle surfaces (unlike SolidWorks and such).

Leave a Comment