kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #35868
Re: More default fields in schematic
The proposed patch would intermingle the default > fields with existing schematic symbol fields which would break >
existing BOMs which I don't think users will appreciate. The proposed
patch will only change default settings, existing users with a config
already in place will not be affected. I realised that the fields now
accept empty values as well, so existing boms on new installations will
not be affected either. I updated the patch, so it will not affect
anyone that doesnt use the fields.
As I've stated before, I can set 10 different designers down > and I will get 10 different sets of default field names. This really
> seems like me to be a configuration issue. This is the problems I
want to address, because those 10 designers will by experience also
spell the same field in 10 different ways. Making their designs
incompatable, resulting in 100 different fields, but only describing 10
different things
Is this feature not > useful enough or not documented well enough for users? Hard coding >
default field names that no one can agree upon is not going to > happen.
The problem is that they will spell differently, MPN, MFPN, #mfg,
ManufPart, etc etc The problem is really that those who want to embedd
the part number can not to that in an easy way, they cannot set the
field in any compatible way, creating many problems for people that has
to compare/view others design. Many hours can be lost, just because the
simple phrase "Set the Manufacturers Part number in the schematic of
your desing", all that can be solved by a single step of spelling the
value name for the users. Ofcourse they will still be able to change it
later if they want.
the same optional field names for every project without having to add > them by hand to each symbol As long as you assume there will only
ever be one person involved here, and that they will always use the same
computer over the projects lifetime. > The only possible solution that I
would accept is to move the > default field definitions from the
eeschema configuration file into > the default kicad project file. This
way existing projects would not > be polluted with the proposed default
fields and users could define > their own default fields in a custom
project file. I would like this as well, all I want is a default name,
to give users a hint, I really do not care where it is set, or even if
there would be a lot of fields that I personally will never use in it,
because it is much easier to remove the fields than to add them in a
uniform way over the globe. Still though, I think having the fields set
in eeschema is better, makes my changes stick over different projects. >
This would allow for multiple > custom project files instead of forcing
the user to use only a single > default project file. As long as the
"File->New Project" would include the additional fields and then people
can use "New from Custom Template" means they can use a template that is
free from the fields, sure. Otherwise we are back at square one, and we
added a lot of shit, helping no one. - Kristoffer On 2018-05-22 00:22,
Wayne Stambaugh wrote:
introduced a change that allows the user to define a custom template > path which takes precedence over the system template path so this >
solution is workable. A more flexible solution would be to add a >
"File->New from Custom Template" command to KiCad to allow the user > to
select any custom project file. > > Cheers, > > Wayne > > On 05/20/2018
06:27 PM, Andrey Kuznetsov wrote: >> I agree, I had the same issue when
I was doing my board, I needed >> a field for all components, and I had
to manually add it for every >> item, there was no way to add this field
to all components at the >> same time or to have it add by default from
the addition of a new >> component to the sheet. >> >> Which reminds me,
Cadence Designer has tools to manipulate fields >> on a large scale,
whether to add, delete, show, hide, etc, this is >> something that would
be nice to have in KiCAD, either that or a >> table of all components
for the sheet or schematic and columns for >> each field, with ability
to show/hide each cell individually. >> >> I think the ultimate goal is
to make the Symbol Table more useful, >> but that'll take to long for v5
so if Kristoffer's patch allows an >> easy way to add fields to all
components or similar, I'd say do it >> because people will be pissed
and waste their time doing it for >> every component in their schematic.
>> >> On Sun, May 20, 2018 at 3:01 PM, kristoffer Ödmark >>
<kristofferodmark90@xxxxxxxxx >> <mailto:kristofferodmark90@xxxxxxxxx>>
wrote: >> >> I obvviously disagree, the correct solution would be to
have both. >> This does not hinder that, its not even the same problem.
>> >> The problem is for everyone who want for example the Manufacturer
>> Part Number will have to define a fieldname, which every time >>
results in them abbreviating it to something different. Hence >> nobody
can work with Manufacturer Part Numbers. >> >> Here is something
similar, Imagine all of the colours in Kicad for >> all of the layers
where white by default. Have fun defining all >> the colours yourself.
Maybe you want to define them yourself, >> nobody is stopping you now
either, just get cracking. >> >> How easy would it be for you to look at
the board someone else >> made later and understand what is what? Maybe
for some that is a >> better solution, but for me that would be an
extreme example of bad >> default values. >> >> This is how the default
fields are now, they are white, or more >> like see-throught, which
makes life harder for anyone that wants to >> contribute or create tools
that interact with kicad, and as I >> previously said, this is only a
default, you are still equally able >> to add/remove or change the
fields how you want to. But, tools like >> kibom or various other
web-based tools can much easier integrate to >> it, or at least support
a default value as well. So for the >> majority of users, who doesnt
change defaults, the tool would just >> work. >> >> I will reiterate, I
do not care what they are named, I want a >> default field where I can
put my manufacturer part number, amongs >> others. The specific
abbreviation or name does not matter, If i >> care, I can manually
add/remove my own fields *JUST AS I DO NOW*, >> but for the people who
use it, it will be easier across projects, >> for the people that dont,
It will not matter. >> >> Sane defaults matter. A lot actually. >> >> -
Kristoffer >> >> On 2018-05-20 23:40, José Ignacio wrote: >> >> I dont
like this, the right solution would be to allow for >> importing a
default config into kicad for things like that, as >> different groups
will have different policies. >> >> On Sun, May 20, 2018 at 3:31 PM,
Kristoffer Ödmark >> <kristofferodmark90@xxxxxxxxx >>
<mailto:kristofferodmark90@xxxxxxxxx> >>
<mailto:kristofferodmark90@xxxxxxxxx >>
<mailto:kristofferodmark90@xxxxxxxxx>>> wrote: >> >> The patch should
only affect first startup, changes to the fields >> will be saved >> >>
On May 20, 2018 22:18, "Seth Hillbrand" <seth.hillbrand@xxxxxxxxx >>
<mailto:seth.hillbrand@xxxxxxxxx> <mailto:seth.hillbrand@xxxxxxxxx >>
<mailto:seth.hillbrand@xxxxxxxxx>>> wrote: >> >> Hi Kristoffer- >> >>
This feels like a management issue rather than a tool issue. If the >>
user doesn't want any extra fields, how would your patch allow >> that?
>> >> -S >> >> >> Am So., 20. Mai 2018 um 13:00 Uhr schrieb kristoffer
Ödmark >> <kristofferodmark90@xxxxxxxxx >>
<mailto:kristofferodmark90@xxxxxxxxx> >>
<mailto:kristofferodmark90@xxxxxxxxx >>
<mailto:kristofferodmark90@xxxxxxxxx>>>: >> >> >> Hello! >> >> I will
open this can of worms again, I feel that I have to. So from >> what I
gather we have proffessionals as the main aim in Kicad. The >> reason I
will open this issue again is that I feel we have a >> collaboration
issue, maybe not a mayor one. But one nonetheless. >> >> We really need
more default fields for our schematic symbols. Im >> not proposing
required fields, I am *ONLY* proposing that there >> should be default
fields added into the default fields settings >> tab. I am not proposing
they need to be filled in the libraries, >> nor that people need to use
them. only that they need to exist with >> a fresh install of kicad so
that easy problems such as theese do >> not happen: >> >> -
Collaborators working on the same project will not create >> duplicate
fields in libs/projects describing the same thing by >> mistake -
Projects that aim to interact or add to Kicad can assume >> that the
Fields will exist, and will know what name/tag to look >> for (bom
exporters, price checkers, MacroFab, etc) - Open source >> projects will
be easier to collaborate, read and order >> >> The reason I think it is
better to have the fields by default than >> the current solution to add
them is that the majority will use what >> exists, and tools can support
it from the very beginning, people >> with inhouse tools seems to
dislike this, since they map their >> parts with an inhouse number - and
then handle the information >> about the part there. From what I gather,
this is not the majority, >> and these persons still modify the default
fields settings. >> >> I spent maybe 30-40 mins checking the "made with
kicad" projects, >> I found that the most common addition to libs and
schematics are: - >> Manufacturers part number, these were named widely
different in >> projects, (BOM, MP, MPN, #mfg, or different syntaxes in
the Value >> field ) I even saw a mix of these in the same project once,
along >> with some people having the vendor id only. - Manufacturer (
found >> some different languages though ) >> >> more uncommon things
was, Tolerance( 10%, 20pps), Ratings ( 1/4W, >> 85C, 16V ), Vendor
information and different Descriptions. They >> were named and
abbreviated very differently accross projects. >> >> What I would like
to see is these additional fields by default, >> but hidden from the
schematic unless changed by user. Tolerance ( >> used for setting
tolerances of resistors, capacitors, oscillators, >> etc ) MaxRating (
field were one can specify max Voltage, Ampere, >> Frequency, or
whatever the component needs ) Manufacturer ( For >> inhouse numbers,
they could either just remove it, or use the >> company/group name ) MPN
( Maybe PartNumber could be used here, >> and people who use inhouse
numbers use it aswell, I dont really >> care what its called, as long as
its called something ) Vendor >> Notes >> >> I would be all up for extra
additions/removals, but I would prefer >> if the naming is not
discussed, but rather just decided/agreed upon >> by someone in the lead
team. The very least I think should be added >> in case the previous is
to much are: Tolerance Manufacturer MPN >> >> I attach a patch for the
minimal set, tested on linux by removing >> the .config/kicad/eeschema
file. >> >> - Kristoffer >> >> >> ps Some github files i reviewed, not
all: >> >>
https://github.com/AnaviTechnology/anavi-gardening/blob/master/MCP3002-I_SN.lib
>> >>
<https://github.com/AnaviTechnology/anavi-gardening/blob/master/MCP3002-I_SN.lib>
>>
<https://github.com/AnaviTechnology/anavi-gardening/blob/master/MCP3002-I_SN.lib
>> >>
<https://github.com/AnaviTechnology/anavi-gardening/blob/master/MCP3002-I_SN.lib>>
>>
https://github.com/jonpe960/blixten/blob/master/Blixten%20LED%20Device/Blixten.sch
>> >>
<https://github.com/jonpe960/blixten/blob/master/Blixten%20LED%20Device/Blixten.sch>
>>
<https://github.com/jonpe960/blixten/blob/master/Blixten%20LED%20Device/Blixten.sch
>> >>
<https://github.com/jonpe960/blixten/blob/master/Blixten%20LED%20Device/Blixten.sch>>
>>
https://github.com/paltatech/half-bridge/blob/master/pcb%20design/IGBT_board-cache.lib
>> >>
<https://github.com/paltatech/half-bridge/blob/master/pcb%20design/IGBT_board-cache.lib>
>>
<https://github.com/paltatech/half-bridge/blob/master/pcb%20design/IGBT_board-cache.lib
>> >>
<https://github.com/paltatech/half-bridge/blob/master/pcb%20design/IGBT_board-cache.lib>>
>> https://github.com/pluggee/KiCADLibs/blob/master/sch/cap_smd.lib >>
<https://github.com/pluggee/KiCADLibs/blob/master/sch/cap_smd.lib> >> >>
<https://github.com/pluggee/KiCADLibs/blob/master/sch/cap_smd.lib >>
<https://github.com/pluggee/KiCADLibs/blob/master/sch/cap_smd.lib>> >>
>> >>
https://github.com/jim17/memtype/blob/master/schematic_pcb/electronic_design_kicad/electronic_design_kicad.sch
>> >>
<https://github.com/jim17/memtype/blob/master/schematic_pcb/electronic_design_kicad/electronic_design_kicad.sch>
>>
<https://github.com/jim17/memtype/blob/master/schematic_pcb/electronic_design_kicad/electronic_design_kicad.sch
>> >>
<https://github.com/jim17/memtype/blob/master/schematic_pcb/electronic_design_kicad/electronic_design_kicad.sch>>
_______________________________________________ Mailing list: >> https://launchpad.net/~kicad-developers >>
<https://launchpad.net/~kicad-developers> >>
<https://launchpad.net/%7Ekicad-developers >>
<https://launchpad.net/%7Ekicad-developers>> Post to : >>
kicad-developers@xxxxxxxxxxxxxxxxxxx >>
<mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx> >>
<mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx >>
<mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>> Unsubscribe : >>
https://launchpad.net/~kicad-developers >>
<https://launchpad.net/~kicad-developers> >>
<https://launchpad.net/%7Ekicad-developers >>
<https://launchpad.net/%7Ekicad-developers>> More help : >>
https://help.launchpad.net/ListHelp >>
<https://help.launchpad.net/ListHelp> >>
<https://help.launchpad.net/ListHelp >>
<https://help.launchpad.net/ListHelp>> >> >> >> >>
_______________________________________________ Mailing list: >>
https://launchpad.net/~kicad-developers >>
<https://launchpad.net/~kicad-developers> >>
<https://launchpad.net/%7Ekicad-developers >>
<https://launchpad.net/%7Ekicad-developers>> Post to : >>
kicad-developers@xxxxxxxxxxxxxxxxxxx >>
<mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx> >>
<mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx >>
<mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>> Unsubscribe : >>
https://launchpad.net/~kicad-developers >>
<https://launchpad.net/~kicad-developers> >>
<https://launchpad.net/%7Ekicad-developers >>
<https://launchpad.net/%7Ekicad-developers>> More help : >>
https://help.launchpad.net/ListHelp >>
<https://help.launchpad.net/ListHelp> >>
<https://help.launchpad.net/ListHelp >>
<https://help.launchpad.net/ListHelp>> >> >> >> >> >>
_______________________________________________ Mailing list: >>
https://launchpad.net/~kicad-developers >>
<https://launchpad.net/~kicad-developers> Post to : >>
kicad-developers@xxxxxxxxxxxxxxxxxxx >>
<mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx> Unsubscribe : >>
https://launchpad.net/~kicad-developers >>
<https://launchpad.net/~kicad-developers> More help : >>
https://help.launchpad.net/ListHelp >>
<https://help.launchpad.net/ListHelp> >> >> >> >> >> -- Remember The
Past, Live The Present, Change The Future Those who >> look only to the
past or the present are certain to miss the future >> [JFK] >> >>
kandrey89@xxxxxxxxx <mailto:kandrey89@xxxxxxxxx> Live Long and >>
Prosper, Andrey >> >> >> _______________________________________________
Mailing list: >> https://launchpad.net/~kicad-developers Post to : >>
kicad-developers@xxxxxxxxxxxxxxxxxxx Unsubscribe : >>
https://launchpad.net/~kicad-developers More help : >>
https://help.launchpad.net/ListHelp >> > >
_______________________________________________ Mailing list: >
https://launchpad.net/~kicad-developers Post to : >
kicad-developers@xxxxxxxxxxxxxxxxxxx Unsubscribe : >
https://launchpad.net/~kicad-developers More help : >
https://help.launchpad.net/ListHelp
>From 8a81d27424e96bd4abeec7d1fdaa68774d6522b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristoffer=20=C3=96dmark?= <kristoffer.odmark90@xxxxxxxxx>
Date: Sun, 20 May 2018 21:59:13 +0200
Subject: [PATCH] Added default fields, not affect previous designs
There is a problem of coherency for people using Manufacturer
Part Number in the schematic. This solves that.
Added default fields for Tolerance, Manufacturer, MPN
the default values are empty, so they will not be stored
in schematic symbols or designs unless they are set to
something.
This will mean that people who does not use them, will not
be bothered, and people who wants to use them, will have a
easier time.
---
eeschema/eeschema_config.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eeschema/eeschema_config.cpp b/eeschema/eeschema_config.cpp
index 205ab2674..53b510bac 100644
--- a/eeschema/eeschema_config.cpp
+++ b/eeschema/eeschema_config.cpp
@@ -588,7 +588,10 @@ void SCH_EDIT_FRAME::LoadSettings( wxConfigBase* aCfg )
m_replaceStringHistoryList.Add( tmpHistory );
}
- wxString templateFieldNames = aCfg->Read( FieldNamesEntry, wxEmptyString );
+ // Read the template field settings, use default if no found
+ const wxString defaultTemplateFieldNames =
+ "(templatefields (field (name Tolerance)(value ~)) (field (name Manufacturer)(value ~)) (field (name MPN)(value ~)))";
+ wxString templateFieldNames = aCfg->Read( FieldNamesEntry, defaultTemplateFieldNames );
if( !templateFieldNames.IsEmpty() )
{
--
2.17.0
References