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 <[email protected]> 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 <[email protected] > <mailto:[email protected]>> 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 <[email protected] >>> <mailto:[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/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/> [email protected] >>>>> <mailto:[email protected]> >>>>> >>>>> On Tue, May 6, 2025 at 5:59 AM Salvador E. Tropea <[email protected] >>>>> <mailto:[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/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 [email protected] >>>>>> <mailto:devlist%[email protected]>. >>>>>> 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 [email protected] >>>>> <mailto:[email protected]>. >>>>> 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 [email protected] >>>> <mailto:[email protected]>. >>>> 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 [email protected] >>> <mailto:[email protected]>. >>> 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 [email protected] >> <mailto:[email protected]>. >> 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 [email protected] <mailto:[email protected]>. > 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 [email protected]. To view this discussion visit https://groups.google.com/a/kicad.org/d/msgid/devlist/286C2A32-8A05-42F4-9022-00926C14AAF8%40rokeby.ie.
