pcbnew: Clarify DXF Options tooltips

Bug #1832595 reported by Olivier
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Committed
Low
Ian McInerney

Bug Description

Hello,

When I output a DXF file from the "Edge.Cuts" layer, the lines produced are the inner and outer edges of the KiCad line (taking into account the linewidth). For an edge of the board, two lines are produced in the DXF instead of one... and none of them is the real edge of the board! Indeed manufacturers usually consider that the edge of the board is the center line (linewidth is not a relevant parameter).

Request: The DXF output of "Edge.Cuts" should be made with single lines, indicating the real edge of the board (i.e. the center line).

Example of use case: One may want to import the DXF produced by KiCad in a mechanical CAD software, in order to represent the board edge. In the current situation, it is painful to remove the duplicate lines and correct for all the shifted positions.

If it is necessary for someone to have the thickness of the line taken into account in the DXF, a checkbox could give the user the choice of the type of line to be drawn in the DXF (either one center line, or two external lines).

Olivier (KiCad 5.1.2)

Revision history for this message
Ian McInerney (imcinerney) wrote :

This option already exists in 5.1.2. Uncheck the option to "Plot all layers in outline mode" to get a single line in the DXF that is located at the center of the line.

Changed in kicad:
status: New → Invalid
Revision history for this message
Olivier (oc-spam66) wrote :

Thank you for the explanation.
I didn't know the meaning of "outline mode", now I know.

Revision history for this message
Seth Hillbrand (sethh) wrote :

I took a look at the tooltip for this option and couldn't make heads or tails of it. I'm resetting the bug to just update the tooltip to a string that clarifies the effect.

summary: - DXF output should not produce thick lines for board outline (Edge.Cuts)
+ pcbnew: Clarify DXF Options tooltips
Changed in kicad:
importance: Undecided → Low
milestone: none → 6.0.0-rc1
status: Invalid → Triaged
Revision history for this message
Seth Hillbrand (sethh) wrote :

To clarify the intent here, we should remove the strings that say "DXF Only: Plot all layers in outline mode" as this just repeats what the checkbox says. The tooltip should state only what it does and not what it doesn't do. The extra statement about "layers that don't support polygons" doesn't make sense to me as I think we support polygons everywhere. So this either refers to a dxf limitation (?) or it is out of date.

tags: added: pcbnew starter
Revision history for this message
Ian McInerney (imcinerney) wrote :

@Seth, since I am touching the dialog anyway to add in the unit option for export we could update the tooltip at the same time (also since this dialog was made with form builder, any commit with it is going to be horrendous so this would consolidate things into 1 huge commit). That would push the change into 5.1.3.

Looking at the code that references that option, the reference to polygons probably is because one branch calls the function "ConvertBrdLayerToPolygonalContours" while the other does not. If all items that could go on those layers are handled by that conversion, then there should be no problem, and I don't think it was a limitation from the DXF code. Some testing just now shows that all the drawing tools seem to work (line, circle, arc and graphic polygon). They output their outline polygons when requested, and their center lines when requested. However, items such as a dimension are not able to be converted to a polygonal contour, so they are not exported when polygons are requested just when center lines are requested.

Perhaps the text for the box could be changed to:
"Plot all layers in outline mode"
with the tooltip saying:
"Check to plot all layers as the outlines of items (line segments become rectangles showing the drawn edges and their thickness). Note, dimension markers cannot be not exported with this option.
Uncheck to plot all graphic items on the *.SilkS, *.User, Edge.Cuts, Margin, *.CrtYd, and *.Fab layers with a line thickness of 0 (line segments are represented by their center line)."
or something to that effect. (Possibly shorten the description for checked, since it seems kind of long).

Revision history for this message
Seth Hillbrand (sethh) wrote :

Thanks for taking a look at this Ian. Your suggestion is a good improvement. Building on that, I'd adjust the text to

"Plot graphic items in outline mode"

and a tooltip saying

"Uncheck to plot graphic items using their center lines"

I think that the missing dimension is an oversight and they should be output as a DXF dimension entity, not a graphic at all, but I'll put that into a different bug report.

Generally, I think the details of what is exported and from which layers goes into documentation. The tooltip should be just enough to clarify and remind the difference.

Revision history for this message
Olivier (oc-spam66) wrote :

From my point of view as a user, I think the term "outline mode" is unclear. The purpose can not be guessed easily. "Outline of what? My board already has an outline! Confusion..."

-> Why not simply write this? "Plot layers with thick lines"

I think it would be far easier to understand the purpose. Sure, the term "outline mode" is very technically correct... but the meaning is obscure if you don't know it in advance (at least that was my experience).

Changed in kicad:
assignee: nobody → Ian McInerney (imcinerney)
tags: added: dxf
Revision history for this message
Seth Hillbrand (sethh) wrote :

Hi Olivier-

Thank you for the suggestion. It's closer to what we need. The only issue from a dxf standpoint is that there are no such thing as "thickness". All lines are 0-width. So what we are trying to convey is that we will draw the KiCad thick lines with dxf thin lines around the boundary.

Revision history for this message
Olivier (oc-spam66) wrote :

Another suggestion -> "Plot line contours (instead of line center)"
Or, with the reversed logic for the checkbox -> "Plot line center (instead of line contours)"

Changed in kicad:
status: Triaged → In Progress
Revision history for this message
Ian McInerney (imcinerney) wrote :

The tooltip was changed to be more understandable in this commit: https://git.launchpad.net/kicad/commit/?id=b2c848579a965ee22a518031054d969e676b1516 and has been also applied to the 5.1 branch.

I have opened a separate issue in the documentation repo (https://github.com/KiCad/kicad-doc/issues/723) to track adding information about the DXF plotting feature to the user documentation.

Changed in kicad:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.