In the GUI sketch DNP components is tied to “Cross-out” under “Indicate DNP on 
fabrication layers”.  There’s no independent control.

And yes, it uses SketchPadLineWidth.

I’d be inclined to expose SetSketchPadLineWidth somewhere, but I don’t feel 
strongly.

Cheers,
Jeff.

> On 15 May 2025, at 15:24, Salvador E. Tropea <[email protected]> wrote:
> 
> Hi!
> 
> Looking at the current code I see:
> 
> 1. HPGL is gone
> 
> 2. Full sketch is gone (only sketch pads)
> 
> My remaining doubt: What about SetSketchPadLineWidth? Will be added to this 
> dialog to avoid using a global (and hidden) option?
> 
> Also: the command line can "sketch" DNP components ... should this also use 
> SetSketchPadLineWidth? Which is the GUI counterpart for this option?
> 
> Regards, Salvador
> 
> On 7/5/25 14:07, Salvador E. Tropea wrote:
>> Hi Jon!
>> 
>> PS output is handled by the same code as PDF and SVG (is the base class), Is 
>> this correct?
>> 
>> Also: A lot of laser printers has native PS support and still working, 
>> transferring toner to a PCB using heat is a popular DIY mechanism, and 
>> avoiding PDF -> PS manipulation to send the PS directly to the printer is 
>> better.
>> 
>> About HPGL (real pen) the driver is hardly broken, the code assumes you can 
>> draw a pad and then draw its hole as a white object, which is conceptually 
>> wrong when applied to the HPGL driver ... well ... unless you add pen 
>> control and include a liquid paper pen in your plotter :-)))
>> 
>> Regards, Salvador
>> 
>> On 7/5/25 13:50, Jon Evans wrote:
>>> For the sake of argument, I would propose removing pen-plotter specific 
>>> stuff in V10 and putting no effort into supporting it in CLI and API in V9.
>>> 
>>> I would be open to hearing about why this is actually important to people, 
>>> but for the moment it just seems like an extra burden on development for a 
>>> tiny fraction of users, and I've never heard of HPGL or PS formats actually 
>>> being used in industry when it comes to PCB design software exports.  Users 
>>> who *do* have a pen plotter also probably have other software that can 
>>> convert one of our actually widely-used formats (like DXF) as required.
>>> 
>>> -Jon
>>> 
>>> On Wed, May 7, 2025 at 12:27 PM Jeff Young <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>>> 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] 
>>>>> <mailto:[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] 
>>>> <mailto:[email protected]>.
>>>> To view this discussion visit 
>>>> https://groups.google.com/a/kicad.org/d/msgid/devlist/286C2A32-8A05-42F4-9022-00926C14AAF8%40rokeby.ie
>>>>  
>>>> <https://groups.google.com/a/kicad.org/d/msgid/devlist/286C2A32-8A05-42F4-9022-00926C14AAF8%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%2BqGbCA7Ts_kmqJ5MLkbatvda%2By2uprdV7cUnvNOT9AJ_xDWYg%40mail.gmail.com
>>>  
>>> <https://groups.google.com/a/kicad.org/d/msgid/devlist/CA%2BqGbCA7Ts_kmqJ5MLkbatvda%2By2uprdV7cUnvNOT9AJ_xDWYg%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/5804b8f7-186e-4f61-a30f-7155af1855e0%40inti.gob.ar
>>  
>> <https://groups.google.com/a/kicad.org/d/msgid/devlist/5804b8f7-186e-4f61-a30f-7155af1855e0%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/a9245660-6f20-41b2-9efc-b04b8f75c81b%40inti.gob.ar
>  
> <https://groups.google.com/a/kicad.org/d/msgid/devlist/a9245660-6f20-41b2-9efc-b04b8f75c81b%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].
To view this discussion visit 
https://groups.google.com/a/kicad.org/d/msgid/devlist/9A85A268-D280-44B1-933E-7C7499A9395F%40rokeby.ie.

Reply via email to