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.

Reply via email to