← Back to team overview

kicad-developers team mailing list archive

Re: What happened to the dxf plotter???

 

On 2/27/2015 3:20 AM, Lorenzo Marcantonio wrote:
> 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.

I requested this change and JP was kind enough to do it.  For me, the
outline drawings were worthless.  I was spending hours turning the
outlines into filled polygons for production documentation purposes.
Please do not remove this feature.  I'm fine with an option to output
the DXF files as outline segments or polygons.

> 
> 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).

Easy.  Draw a temporary aid line like this

       ---
      |   |
      |   |
  ----     ----
 |-------------|
  ----     ----
      |   |
      |   |
       ---

and snap to the center of the aid line.  I usually put temporary aid
lines on a separate layer so I can turn them on and off as needed.

> 
> 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).
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 



References