← Back to team overview

kicad-developers team mailing list archive

Re: [RFC] 3D models repository

 

One way would be to separate the input data to the scripts (dimension
tables) and declare that public domain, then keep the scripts GPL but
clarify that they will not impose on the output any more restrictions than
the license of the input.

On Sun, Feb 26, 2017 at 3:16 PM, Cirilo Bernardo <cirilo.bernardo@xxxxxxxxx>
wrote:

> If the authors of the scripts agree, perhaps we can simply declare
> the output Public Domain.  Since the output can't be meaningfully
> modified without modifying the GPL-copyrighted scripts I believe
> the protection of the scripts is sufficient. Since we can't change
> licenses of existing models without the creators' permission, we
> will probably have to cull models at some stage or else maintain
> separate repositories for different licenses.
>
> - Cirilo
>
> On Mon, Feb 27, 2017 at 4:21 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx>
> wrote:
> > I'm still waiting for our friends at CERN for an answer on library
> > licensing.  We are leaning towards CC-SA with the use exception clause.
> > I turning out to be the longest time ever to write a single sentence. ;)
> >  I'm not sure this license will be applicable to script generated models.
> >
> > On 2/25/2017 8:23 PM, Cirilo Bernardo wrote:
> >> GPL scripts with no restrictions on the generated models is perfect.
> >>
> >> - Cirilo
> >>
> >> On Sun, Feb 26, 2017 at 12:02 PM, Oliver Walters
> >> <oliver.henry.walters@xxxxxxxxx> wrote:
> >>> The licence on the legacy models I am unsure about.
> >>>
> >>> Maurice, Rene, Jan and myself have been discussing the licence for
> models
> >>> that we create (script). It is GPL with an explicit exception stating
> that
> >>> models can be freely used and shared without normal GPL requirements.
> >>>
> >>> If you look at Maurice's scripts (https://GitHub.com/easyw) he has
> already
> >>> implemented this.
> >>>
> >>> Oliver
> >>>
> >>>
> >>> On 26 Feb 2017 11:25 AM, "Cirilo Bernardo" <cirilo.bernardo@xxxxxxxxx>
> >>> wrote:
> >>>
> >>> I think one repository for the old VRML models, another for MCAD
> >>> models, and a third for scripts. In cases where an MCAD model has a
> >>> corresponding VRML model which has been specially crafted to look
> >>> better in the 3D viewer, that VRML model should be alongside the MCAD
> >>> model and in the MCAD directory.  I think this scheme gives us a path
> >>> to eventually deprecate the old VRML models as we build up
> >>> replacements on the MCAD side.
> >>>
> >>> Package maintainers can decide what to offer on each platform and sort
> >>> out the dependencies. I imagine the old VRML will be included simply
> >>> because so many people use it; MCAD+VRML would probably be a separate
> >>> option due to the sheer volume, and some package maintainers might
> >>> decide to offer the scripts instead and pull in all the dependencies.
> >>> At any rate, the scripting option is definitely not for beginners.
> >>>
> >>> There is also the issue of licenses for the models. A few users have
> >>> expressed concerns that some models are licensed under GPL (whatever
> >>> that means for something which is not software) but in general people
> >>> are concerned that kicad models may be of no value to them because (a)
> >>> licensing might be mixed and difficult to determine and (b) some
> >>> licenses may prevent them from using models in their commercial
> >>> projects.
> >>>
> >>> - Cirilo
> >>>
> >>> On Sun, Feb 26, 2017 at 10:02 AM, Oliver Walters
> >>> <oliver.henry.walters@xxxxxxxxx> wrote:
> >>>> Cirilo,
> >>>>
> >>>> Some great ideas there - I was being more than slightly facetious by
> >>>> suggesting it would be the work of a weekend :)
> >>>>
> >>>> Should we have separate repositories for MCAD models and wrl? And a
> third
> >>>> for scripts?
> >>>>
> >>>>
> >>>> On 26 Feb 2017 08:31, "Cirilo Bernardo" <cirilo.bernardo@xxxxxxxxx>
> wrote:
> >>>>
> >>>> On Sat, Feb 25, 2017 at 3:53 PM, Oliver Walters
> >>>> <oliver.henry.walters@xxxxxxxxx> wrote:
> >>>>> Simon,
> >>>>>
> >>>>> Are you saying we should host the models and provide them on demand?
> >>>>>
> >>>>> I would agree. This way we can provide models independent of the
> source
> >>>>> (scripts, etc).
> >>>>>
> >>>>> It also makes it way easier for users.
> >>>>>
> >>>>> I like the idea of a KiCad-integrated model wizard but I'll leave
> that
> >>>>> for
> >>>>> Cirilo to code when he has a free weekend.
> >>>>>
> >>>>
> >>>> I'm sure it would take more than a weekend. Whatever your solution for
> >>>> now, I think it is important to separate the old Wings3D/VRML models
> >>>> from any models generated from MCAD. Better still, if there can be
> some
> >>>> text file associated with each STEP/VRML pair (or script) stating the
> >>>> author, source of data, and whether or not the mechanically important
> >>>> dimensions were verified (and by who). Such text files with a
> 'checked by'
> >>>> entry could also be useful for footprints and schematic symbols as
> well.
> >>>>
> >>>> I'll put scripted STEP model generation on my list of things to do,
> but
> >>>> given that existing bugs have the highest priority and then the PCB
> API
> >>>> after that, I have no idea when I'll get around to it. For me the
> ideal
> >>>> scripting solution would consist of (a) compiled C++ parametric tools
> >>>> (b) python scripts (c) XML schema for describing the scripts and how
> to
> >>>> invoke them (d) GUI for searching the XML files and magically creating
> >>>> the menus for controlling parameters on the selected XML file. It's an
> >>>> awful lot of work for what would be only a small improvement on
> Maurice's
> >>>> current tools, but once (a) and (b) are done we will at least be in a
> >>>> position to ship scripts rather than models and we could always have
> >>>> some hard-coded tool for selecting and executing scripts in the short
> >>>> term.
> >>>>
> >>>> - Cirilo
> >>>>
> >>>>> I'll let all this percolate. Thanks for the input.
> >>>>>
> >>>>> On 25 Feb 2017 1:41 PM, "Simon Wells" <swel024@xxxxxxxxx> wrote:
> >>>>>>
> >>>>>> i don't see why on-install and if it can be done at install time why
> >>>>>> not just do it on-demand of the model... if its slow cache but still
> >>>>>> ondemand,
> >>>>>>
> >>>>>> providing models that we gen will likely require a full stack of
> >>>>>> development as git/github isn't really ideal for stuff like this
> >>>>>>
> >>>>>> On 25 February 2017 at 15:15, Oliver Walters
> >>>>>> <oliver.henry.walters@xxxxxxxxx> wrote:
> >>>>>>> I personally find the idea of on-demand model creation appealing.
> >>>>>>>
> >>>>>>> I think that if we are to "promote" this as the preferred method,
> it
> >>>>>>> should
> >>>>>>> be improved through simplification and consolidation.
> >>>>>>>
> >>>>>>> Scripted models have only been added in the last week. Most of the
> >>>>>>> models
> >>>>>>> are legacy (poor quality wrl made in wings etc). There are also
> now a
> >>>>>>> lot of
> >>>>>>> models that have been generated via the spreadsheet functionality
> in
> >>>>>>> Freecad.
> >>>>>>>
> >>>>>>> So already there are two competing scripting methods. What I want
> to
> >>>>>>> achieve
> >>>>>>> is a simplified and unified library structure.
> >>>>>>>
> >>>>>>> I realise that due to file size this is not so practical for the 3D
> >>>>>>> models.
> >>>>>>>
> >>>>>>> Perhaps a good idea is to dictate a scripting architecture that
> allows
> >>>>>>> us to
> >>>>>>> be somewhat forward-compatible, and not actually provide 3D models.
> >>>>>>>
> >>>>>>> The current scripts could be made more generic and "publish" their
> >>>>>>> parameters in such a way that an external tool can have some
> >>>>>>> introspection
> >>>>>>> of the scripts. Much like the python footprint wizards currently
> work
> >>>>>>> in
> >>>>>>> KiCad.
> >>>>>>>
> >>>>>>> Then, a "helper" script can parse the generator scripts, and the
> user
> >>>>>>> can
> >>>>>>> select which models to generate. This could even be run on KiCad
> >>>>>>> install.
> >>>>>>>
> >>>>>>> e.g. a list of checkboxes to install "all JST connectors" or
> "R0603".
> >>>>>>>
> >>>>>>> Alternatively, we host all the generated models, and provide a
> >>>>>>> download
> >>>>>>> tool
> >>>>>>> which downloads models as required.
> >>>>>>>
> >>>>>>> Thoughts?
> >>>>>>>
> >>>>>>> On 25 Feb 2017 10:48 AM, "Cirilo Bernardo" <
> cirilo.bernardo@xxxxxxxxx>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>> Hi Oliver,
> >>>>>>>
> >>>>>>>  The scripts will easily generate many GB of data in time and for
> me
> >>>>>>> it's
> >>>>>>> not
> >>>>>>> reasonable to download that amount of data. I think new users
> should
> >>>>>>> simply
> >>>>>>> learn to read documentation and generate the models rather than
> >>>>>>> downloading
> >>>>>>> them. Package maintainers can automatically run the scripts. Users
> >>>>>>> will
> >>>>>>> still
> >>>>>>> have access to all the old VRML models and if they want to use the
> >>>>>>> newer
> >>>>>>> models, especially the STEP+VRML models, they should learn to set
> up
> >>>>>>> the
> >>>>>>> required tools. As I said, this requires a lot more thought.
> >>>>>>>
> >>>>>>>  I suspect we can indeed develop our own parametric 3D modeling
> tools
> >>>>>>> for
> >>>>>>> KiCad based on OCE and provide a scheme to specify good material
> >>>>>>> appearances for the VRML export as Maurice's tools do, but it's
> really
> >>>>>>> a
> >>>>>>> question of time and planning.  Having scripts available in the
> >>>>>>> official
> >>>>>>> repo
> >>>>>>> I think is a good start and will keep the expert users happy until
> >>>>>>> someone
> >>>>>>> gets around to creating these specialised tools for kicad.
> >>>>>>>
> >>>>>>> - Cirilo
> >>>>>>>
> >>>>>>>
> >>>>>>> On Sat, Feb 25, 2017 at 10:10 AM, Oliver Walters
> >>>>>>> <oliver.henry.walters@xxxxxxxxx> wrote:
> >>>>>>>> Cirilo,
> >>>>>>>>
> >>>>>>>> Unless we made script generation of models completely idiot
> proof, I
> >>>>>>>> think
> >>>>>>>> that requiring another niche toolset would only serve to increase
> the
> >>>>>>>> already high barrier to entry for new users.
> >>>>>>>>
> >>>>>>>> The 3D scripts require, currently:
> >>>>>>>>
> >>>>>>>> - Freecad
> >>>>>>>> - cadquery plugin
> >>>>>>>>
> >>>>>>>> Plus the scripts themselves are a bit opaque to use.
> >>>>>>>>
> >>>>>>>> I think that if we are going to distribute recipes for models
> rather
> >>>>>>>> than
> >>>>>>>> the models themselves, that should be integrated into KiCad?
> >>>>>>>>
> >>>>>>>> You're the expert on the 3D code, is there any possibility that we
> >>>>>>>> could
> >>>>>>>> have a 3D wizard that operates in a similar way to the footprint
> >>>>>>>> wizard?
> >>>>>>>> Then it would be fantastic to have the repo contain scripts as you
> >>>>>>>> say.
> >>>>>>>>
> >>>>>>>> Connectors are an obvious use for parametric scripts as it takes
> lots
> >>>>>>>> of
> >>>>>>>> space to store each of hundreds of variants.
> >>>>>>>>
> >>>>>>>> Oliver
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On 25 Feb 2017 8:44 AM, "Cirilo Bernardo" <
> cirilo.bernardo@xxxxxxxxx>
> >>>>>>>> wrote:
> >>>>>>>>
> >>>>>>>> On Sat, Feb 25, 2017 at 1:12 AM, Simon Wells <swel024@xxxxxxxxx>
> >>>>>>>> wrote:
> >>>>>>>>> why should packages be a subfolder of modules, it seems that they
> >>>>>>>>> don't really belong in there and should be directly in the
> >>>>>>>>> share/kicad
> >>>>>>>>> folder
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> That would certainly be my preference. Since the root of the 3D
> >>>>>>>> models
> >>>>>>>> is
> >>>>>>>> determined by KISYS3DMOD and hasn't had a hard-coded relation to
> the
> >>>>>>>> *.lib files for quite a few years now, I would move it out of
> >>>>>>>> 'modules'
> >>>>>>>> and
> >>>>>>>> into
> >>>>>>>> a 'packages3d' directory. Looking at the structure on github,
> >>>>>>>> 'packages3d'
> >>>>>>>> is currently the only directory within 'modules' so the modules
> >>>>>>>> directory
> >>>>>>>> seems silly.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> On 25 February 2017 at 02:00, Adam Wolf
> >>>>>>>>> <adamwolf@xxxxxxxxxxxxxxxxxxxx>
> >>>>>>>>> wrote:
> >>>>>>>>>> Yeah, let me clarify--by "wouldn't be a problem" for OS X, I
> meant
> >>>>>>>>>> "if
> >>>>>>>>>> you did it without saying where it's going and when it's
> changing",
> >>>>>>>>>> it
> >>>>>>>>>> would break the OS X package, but the change would only take a
> >>>>>>>>>> minute
> >>>>>>>>>> or two, and would be quickly testable.
> >>>>>>>>>>
> >>>>>>>>>> On Fri, Feb 24, 2017 at 6:57 AM, Wayne Stambaugh
> >>>>>>>>>> <stambaughw@xxxxxxxxx>
> >>>>>>>>>> wrote:
> >>>>>>>>>>> On 2/24/2017 3:45 AM, Oliver Walters wrote:
> >>>>>>>>>>>> Hi everyone,
> >>>>>>>>>>>>
> >>>>>>>>>>>> Recently I raised this issue:
> >>>>>>>>>>>>
> >>>>>>>>>>>> https://lists.launchpad.net/kicad-developers/msg27922.html
> >>>>>>>>>>>>
> >>>>>>>>>>>> There were some good responses, thanks for the input.
> >>>>>>>>>>>>
> >>>>>>>>>>>> First task is going to be moving the 3D models, as this will
> be
> >>>>>>>>>>>> significantly easier.
> >>>>>>>>>>>>
> >>>>>>>>>>>> e.g. something like GitHub.com/KiCad/packages3D
> >>>>>>>>>>>>
> >>>>>>>>>>>> To this end, I'd like some further information from those in
> the
> >>>>>>>>>>>> know:
> >>>>>>>>>>>>
> >>>>>>>>>>>> A) is there any impediment to having the KISYS3DMOD envvar
> point
> >>>>>>>>>>>> to
> >>>>>>>>>>>> somewhere different? e.g. ./KiCad/share/packages3D/
> >>>>>>>>>>>
> >>>>>>>>>>> I believe you mean share/kicad/modules/packages3d.  Why would
> >>>>>>>>>>> change
> >>>>>>>>>>> the
> >>>>>>>>>>> install path?  Irregardless of what repo the 3D models are in,
> >>>>>>>>>>> they
> >>>>>>>>>>> should always get installed in this location.  Where else
> would be
> >>>>>>>>>>> appropriate to install them?  Changing this path would most
> likely
> >>>>>>>>>>> break
> >>>>>>>>>>> everyone's 3D viewing experience.
> >>>>>>>>>>>
> >>>>>>>>>>>> B) To the package managers, how much effort to package 3D
> models
> >>>>>>>>>>>> from
> >>>>>>>>>>>> a
> >>>>>>>>>>>> separate repo?
> >>>>>>>>>>>
> >>>>>>>>>>> I'll leave this to our package devs.
> >>>>>>>>>>>
> >>>>>>>>>>>> C) to the docs maintainers, would there be much to change if
> we
> >>>>>>>>>>>> redirected the 3D repo?
> >>>>>>>>>>>> D) Generally, what other considerations would be required?
> >>>>>>>>>>>>
> >>>>>>>>>>>> Essentially, if I made this change right now without telling
> >>>>>>>>>>>> anyone,
> >>>>>>>>>>>> what would I break?
> >>>>>>>>>>>
> >>>>>>>>>>> I'm sure all of the package builders.  You would need to
> >>>>>>>>>>> coordinate
> >>>>>>>>>>> this
> >>>>>>>>>>> change with the package devs.
> >>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> As a side note there have been some great recent
> contributions to
> >>>>>>>>>>>> the
> >>>>>>>>>>>> 3D
> >>>>>>>>>>>> data, with a fair bit of momentum over at the forums.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Regards,
> >>>>>>>>>>>> Oliver
> >>>>>>>>
> >>>>>>>> Some thought is needed about how to handle the 3D model
> repository in
> >>>>>>>> the
> >>>>>>>> future. In the past we only had VRML which was pretty but next to
> >>>>>>>> useless
> >>>>>>>> for mechanical verification. Now we have IGES and STEP in all the
> >>>>>>>> gloriously
> >>>>>>>> ugly MCAD color schemes. Personally I only use IGES and STEP, but
> >>>>>>>> some
> >>>>>>>> people like to have a STEP model for mechanical verification and a
> >>>>>>>> VRML
> >>>>>>>> model for eyecandy. At the moment various scripts written to work
> >>>>>>>> with
> >>>>>>>> Maurice's StepUp tool are the only scheme I'm aware of which make
> it
> >>>>>>>> easy
> >>>>>>>> for people to have a STEP file while having improved material
> >>>>>>>> appearances
> >>>>>>>> applied to the surfaces in a corresponding VRML file. I suspect
> it is
> >>>>>>>> inevitable
> >>>>>>>> that we start to have a diverse collection of 3D model sources:
> >>>>>>>>
> >>>>>>>> a. old VRML models with no corresponding MCAD model
> >>>>>>>> b. IGES/STEP models from manufacturers with no aesthetic coloring
> >>>>>>>> c. script-based parametric generators which produce STEP models
> and
> >>>>>>>> corresponding VRML models with aesthetic material appearances
> >>>>>>>>
> >>>>>>>> For (c) it really makes no sense to store the models themselves
> >>>>>>>> because
> >>>>>>>> these can really waste storage space. My preference is for the
> >>>>>>>> scripts
> >>>>>>>> to
> >>>>>>>> be made available for various tools (StepUp being the only one so
> >>>>>>>> far)
> >>>>>>>> and for the end user to install the tools.
> >>>>>>>>
> >>>>>>>> - Cirilo
> >>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> _______________________________________________
> >>>>>>>>>>>> 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
> >>>>>>>>>>
> >>>>>>>>>> _______________________________________________
> >>>>>>>>>> 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
> >>>>>>>>
> >>>>>>>> _______________________________________________
> >>>>>>>> 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
> >>
> >
> >
> > _______________________________________________
> > 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
>

Follow ups

References