On 7 May 2025, at 13:29, Salvador E. Tropea
<[email protected]> wrote:
Hi Jeff!
On 7/5/25 08:54, Jeff Young wrote:
Only DXF supports the general “sketch all items”. The GUI
does not allow setting the sketch line width.
But Postscript and HPGL has "Plot mode" enabled, and you
can select "Sketch".
Which makes me think that DXF should be more consistent and
move its option to "Plot mode"
Only HPGL supports setting the default line width in the GUI.
But here the concept is different. This is the physical
size of the pen, but you might want to make traces wider
than this, which won't be achieved changing this parameter.
It does not support “sketch all items”.
It allows choosing "Plot mode" == Sketch, which is really
important here because when you use a real plotter (I
wonder if anybody still uses it) you don't want to fill the
polygons (wasting your pen too fast).
All formats now support sketching for pads. HPGL uses the
default line width; Gerber uses 0.1mm; all others use a
hairline at 1200dpi (0.0212mm).
But this isn't what the code is trying to do, as I posted
before. This is what we get.
I’m not sure we need user control over it, but the
discrepancy between Gerber and the others seems quite large.
But KiCad already has a setting for this in File|Board
Settings ...|Text & Graphics|Defaults. The "Line Thickness"
for "Fab Layers".
This is what the code is trying to use, and failing as I
explained.
And this was added for this, as Seth referenced in the "issues"
(Note that the hairline at 1200dpi stems from algorithmic
safety: one of PS/PDF/SVG will blow up if you give it 0
line widths, though I can’t remember which.)
BTW I remember that using this width made the printed stuff
annoying because this is too fine.
Regards, Salvador
Cheers,
Jeff.
On 6 May 2025, at 17:57, 'Seth Hillbrand' via KiCad
Developers<[email protected]>
<mailto:[email protected]>wrote:
This setting is pretty deep into the weeds. If we do
decide that we should keep it (and make it work), I don't
think that we should be exposing it into the cli as a
flag without defining our use case for it.
Looking at the bug reports from where it was implemented
(https://gitlab.com/kicad/code/kicad/-/issues/1885and
https://gitlab.com/kicad/code/kicad/-/issues/2274),
neither seems to require setting the trace width. I'd
suggest that we remove the non-functional feature barring
a well-defined need.
Seth
KiCad Services Corporation Logo
Seth Hillbrand
*Lead Developer*
+1-530-302-5483
Long Beach, CA
www.kipro-pcb.com
<https://www.kipro-pcb.com/>[email protected]
On Tue, May 6, 2025 at 5:59 AM Salvador E. Tropea
<[email protected]> wrote:
Hi All!
I'm trying to make "kicad-cli pcb export PLOTTER" as
functional as the
Python API, which IMHO is needed before moving to the
inter-process API.
Two years ago I opened
https://gitlab.com/kicad/code/kicad/-/issues/13957as
a suggestion by
@craftyjon
As some functionality remains unimplemented I'm
submitting patches to
fix them (PS and HPGL support already merged, scale
setting waiting for
approval)
One missing functionality is the equivalent to
SetSketchPadLineWidth, I
have working code that implements it, but I'm having
some doubts.
Looking at the code I see it was intended to be
useful, but from what I
see it never worked.
I tried it from the Python API using KiCad 6, 7, 8
and 9 without success.
The code does:
```
if( aPlotMode == SKETCH )
m_plotter->SetCurrentLineWidth( GetSketchPadLineWidth(),
&metadata );
```
https://gitlab.com/kicad/code/kicad/-/blob/master/pcbnew/plot_brditems_plotter.cpp?ref_type=heads#L279-280
This in BRDITEMS_PLOTTER::PlotPad
Then the code plots the pad calling FlashPad* but
when you look at its
implementation for the PS/PDF/SVG all these functions
does something
like this:
```
if( aTraceMode == FILLED )
SetCurrentLineWidth( 0 );
else
SetCurrentLineWidth( USE_DEFAULT_LINE_WIDTH );
```
https://gitlab.com/kicad/code/kicad/-/blob/master/common/plotters/PS_plotter.cpp?ref_type=heads#L147-150
Which defeats the caller intention. IMHO the else
part should be removed.
I removed them and I managed to make it work.
The GUI dialog can't set it directly, but is
controlled by:
```
m_plotOpts.SetSketchPadLineWidth(
board->GetDesignSettings().GetLineThickness( F_Fab ) );
```
So I see it was intended to work, but never tested.
My questions are:
1. Should I try to fix it?
2. Should we change the drivers so
USE_DEFAULT_LINE_WIDTH uses a default
that can be set from the callers? Currently this
default is driver
specific and usually "the smallest possible"
3. What about other sketch modes? I.e. the plot
dialog allows to set
Postscript in sketch mode ... but the
BRDITEMS_PLOTTER::PlotPad code
currently assumes that SKETCH ==
SketchPadsOnFabLayers ... What about
Postscript and HPGL? (BTW HPGL is full of bugs, some
of them really
complex to address)
Regards, Salvador
--
You received this message because you are subscribed
to the Google Groups "KiCad Developers" group.
To unsubscribe from this group and stop receiving
emails from it, send an email
[email protected]
<mailto:devlist%[email protected]>.
To view this discussion
visithttps://groups.google.com/a/kicad.org/d/msgid/devlist/3db8d9c0-428b-4e34-9b0f-5904395b5478%40inti.gob.ar.
--
You received this message because you are subscribed to
the Google Groups "KiCad Developers" group.
To unsubscribe from this group and stop receiving emails
from it, send an email [email protected].
To view this discussion
visithttps://groups.google.com/a/kicad.org/d/msgid/devlist/CAFdeG-p9t-8pSK0Kc-rG4QjhKOfZqaG-rae6y7VwaL0-JPt7Xw%40mail.gmail.com
<https://groups.google.com/a/kicad.org/d/msgid/devlist/CAFdeG-p9t-8pSK0Kc-rG4QjhKOfZqaG-rae6y7VwaL0-JPt7Xw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to
the Google Groups "KiCad Developers" group.
To unsubscribe from this group and stop receiving emails
from it, send an email [email protected].
To view this discussion
visithttps://groups.google.com/a/kicad.org/d/msgid/devlist/8D7D94DC-182E-4B42-829C-E3E53F67D78B%40rokeby.ie
<https://groups.google.com/a/kicad.org/d/msgid/devlist/8D7D94DC-182E-4B42-829C-E3E53F67D78B%40rokeby.ie?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the
Google Groups "KiCad Developers" group.
To unsubscribe from this group and stop receiving emails
from it, send an email [email protected].
To view this discussion
visithttps://groups.google.com/a/kicad.org/d/msgid/devlist/06e918ec-96d5-4200-b731-2b13934867ba%40inti.gob.ar
<https://groups.google.com/a/kicad.org/d/msgid/devlist/06e918ec-96d5-4200-b731-2b13934867ba%40inti.gob.ar?utm_medium=email&utm_source=footer>.