← Back to team overview

kicad-developers team mailing list archive

Re: What happened to the dxf plotter???

 

On Thu, Feb 26, 2015 at 07:51:34PM -0500, Mark Roszko wrote:
> I wonder if theres a bug. It literally takes 5 minutes to run a DXF
> plot of the "pic programmer" demo kicad has. Gebers are instant.

It's not a question of time or a bug, for some reason they wanted to do
it that way... it generates the composite polygon of all the borders
(like for zone filling) and outputs that as DXF.

Now, I agree that's a useful way to obtain a contour plot for the copper
layers (I can't see how would be useful a DXF of a copper layer, but
maybe they had some idea for it). The issue is for purely graphics
layer, like, well, the Drawing layer (also comments, eco, courtyard and
maybe some other one).

Typical example: two crossed lines (like the centre point for a hole or
something). I draw it in pcbnew in this way

    |
    |
----+----
    |
    |

With a thickness of, say, 0.12 mm. Originally the exported DXF (in LINE
mode) was like this:

    |
    |
----+---- <<< Notice the similarity :D
    |
    |

these are 2 line entities, and I can snap to the intersection, midpoint,
whatever. Note that, however, you lose width information: newer DXFs
have a pen width attribute; 'true' geometrical (not plotting) linewidth
could be obtained using a lwpolyline but I refrained to use it because
polylines are somewhat advanced primitives and I was targeting to
usefulness of the output, not accuracy (that would have needed Yet
Another Option for the plotter).

To have geometrical width you could have used SKETCH mode (in the DXF
plotter FILL was exactly like SKETCH; polylines would have been needed
for that). Output would have been like tracks in sketch mode, i.e. two
lines capped with two halfcircles:

      ---  <<< These are rounds, of course
     |   |
     |   |
 ----+---+----
|    |   |    | <<< DXF in sketch mode
 ----+---+----
     |   |
     |   |
      ---

I agree, that doesn't make too much sense; I added that for completeness.

Today the DXF plotting does the sketch process and sums everything in
one big polygon. Result:

      ---
     |   |
     |   |
 ----     ----
|             | <<< DXF plots today
 ----     ----
     |   |
     |   |
      ---

How do you snap to the line intersection, midpoints or whatever?
Remember that usually in DXF the line thickness is determined by
layer/color (for plotting) or by polyline width (for geometric
thickness). Yes, DXF really sucks for thick lines because CAD lines
*have no thickness* (unless you use polylines).

That kind of processing *is* actually useful if you want to represent
copper areas (and maybe pads/stencil) and I suppose that was the
original idea. However for board border, drawings and so on is
completely useless (no sane CAD operator would use these as reference
lines for mechanical design). As an aside, the polygon conversion
completely destroys arc and circle entities (so no center snap).

-- 
Lorenzo Marcantonio
Logos Srl

Attachment: smime.p7s
Description: S/MIME cryptographic signature


Follow ups

References