To the extent that you’d be willing to remove an existing feature? (Which is what I’m suggesting.)
Or just to not bother fixing the current warts? > On 7 May 2025, at 17:00, Jon Evans <j...@craftyjon.com> wrote: > > I would be in favor of us focusing on the kinds of outputs the vast majority > of users actually need: Interchange formats with other software, not pen > plotters. > > On Wed, May 7, 2025 at 11:55 AM Jeff Young <j...@rokeby.ie > <mailto:j...@rokeby.ie>> wrote: >> Hmmm… there are fundamental differences in the code between Plot Mode and >> DXF’s outline mode. I’m not sure what they amount to (or if they’re only >> historical). >> >> But I do not think we should be using Board Defaults for any of these >> things. Those are only queried when creating new objects; they’re not “hot” >> properties. >> >> Maybe this is all akin to fiducials, and should just be gotten rid of. It >> is pretty hard to imagine someone using a pen-based plotter…. >> >> (And it would be great to get rid of Plot Mode, as there’s a lot of code to >> implement it. We’d just need to keep the part for “sketch pads on fab >> layers”, and then decide how (or if) to control the pen width there.) >> >>> On 7 May 2025, at 13:29, Salvador E. Tropea <stro...@inti.gob.ar >>> <mailto:stro...@inti.gob.ar>> 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 >>>>> <devlist@kicad.org> <mailto:devlist@kicad.org> 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/1885 and >>>>> 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 >>>>> >>>>> >>>>> Seth Hillbrand >>>>> Lead Developer >>>>> +1-530-302-5483 >>>>> Long Beach, CA >>>>> www.kipro-pcb.com <https://www.kipro-pcb.com/> i...@kipro-pcb.com >>>>> <mailto:i...@kipro-pcb.com> >>>>> >>>>> On Tue, May 6, 2025 at 5:59 AM Salvador E. Tropea <stro...@inti.gob.ar >>>>> <mailto:stro...@inti.gob.ar>> 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/13957 as 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 to devlist+unsubscr...@kicad.org >>>>>> <mailto:devlist%2bunsubscr...@kicad.org>. >>>>>> To view this discussion visit >>>>>> https://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 to devlist+unsubscr...@kicad.org >>>>> <mailto:devlist+unsubscr...@kicad.org>. >>>>> To view this discussion visit >>>>> https://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 to devlist+unsubscr...@kicad.org >>>> <mailto:devlist+unsubscr...@kicad.org>. >>>> To view this discussion visit >>>> https://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 to devlist+unsubscr...@kicad.org >>> <mailto:devlist+unsubscr...@kicad.org>. >>> To view this discussion visit >>> https://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>. >> >> >> -- >> 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 to devlist+unsubscr...@kicad.org >> <mailto:devlist+unsubscr...@kicad.org>. >> To view this discussion visit >> https://groups.google.com/a/kicad.org/d/msgid/devlist/2C921F9A-74D8-451A-BAEA-4CAB44EC3B0F%40rokeby.ie >> >> <https://groups.google.com/a/kicad.org/d/msgid/devlist/2C921F9A-74D8-451A-BAEA-4CAB44EC3B0F%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 to devlist+unsubscr...@kicad.org <mailto:devlist+unsubscr...@kicad.org>. > To view this discussion visit > https://groups.google.com/a/kicad.org/d/msgid/devlist/CA%2BqGbCBmU%2BdGra4w3_EzVav8Vp5OF2gbymifjP7MUU6B1BBfPg%40mail.gmail.com > > <https://groups.google.com/a/kicad.org/d/msgid/devlist/CA%2BqGbCBmU%2BdGra4w3_EzVav8Vp5OF2gbymifjP7MUU6B1BBfPg%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 to devlist+unsubscr...@kicad.org. To view this discussion visit https://groups.google.com/a/kicad.org/d/msgid/devlist/286C2A32-8A05-42F4-9022-00926C14AAF8%40rokeby.ie.