Contributing to update of VRML librarys to STEP?

Just to clarify, the “library team” is a different team from the “development team”. So it is the library team you should make noise :slight_smile:

I assume there is no local disk past storage issues on any case.
Also there are less network problems today due the large bandwidth.
However it is not elegant and anti-natura the use of binary files (special compressed) with repositories.

If you use binary files in a repository and if you have the “file version A” and then you make a change to “file version B”
the repository will store: file@versionA and will store file@versionB.

If you use a text file the repository will store: file@versionA and will store difference between (file@versionB - file@versionA).compressed

This also allows you to inspect the textual differences between the files if you need.

This thread touches on a lot of issues that have come up repeatedly over the last couple of years.

There are a few different issues here, I’ll attempt to address (add my 2c) some:

Library Pollution

Currently the 3D models supplied in the official libs are provided in the kicad-library repository. Note that this is separate from where the footprint files are stored - these are the individual .pretty repositories.

There have been suggestions that the 3D models should be stored with the footprints they are associated with e.g. https://github.com/KiCad/kicad-library/issues/162 - I am in strongly in favour of this.

The current approach means that the schematic symbols library grows large with files that are not associated with the schematics. Adding STEP files which are nominally much larger than the WRL files they would replace (or complement) would only add to this.

Separating the 3D models out would at least allow users to select which footprint/3D repos they download.

By my count, the kicad-library repo (inc. 3D models) is just over 1GB. The sum total of all .pretty repos is under 100MB.

This must be addressed by both the lib team and the dev team.

Model Creation
Converting WRL files to STEP files is not a good idea. Many of the recent 3D file additions have been parametrically generated (FreeCAD) which is great. However a lot of models in the official libraries would need to be completely replaced.

Licencing
Any models added to the libraries would need to be checked in terms of copyright - many companies do not allow redistribution of their 3D model data.

Contributing
In the mean time, we gratefully accept any contributions of good-quality 3D models. Currently the best place to submit them is kicad-library

Are there any online repository systems suitable for large files? Off the top of my head, all the repo systems I know are designed for source code, i.e. text, so often don’t handle large blocks of data well. Delta versioning doesn’t really make sense for these files, maybe version control of 3D models is not even needed.

I started putting 3D models into my KiCad common repo, but the repo got noticeably slower to clone. I think I would want to store data files compressed, and uncompress at point of use (e.g. local cache).

GIT it self can deal with whatever type of file, I think it has some different behavior depending on the detected file type (ie: if it is a binary file or text file).
I know that there is an extension to GIT, I quickly find this reference here: https://git-lfs.github.com
that has in mind deal differently with really large files. (but I don’t know much how it works)

For the KiCad library, I don’t have a strong opinion if that should be versioned or not (just stored somewhere).
On you (ours personal) repositories, if you are not planning changing much the binary files, then I think GIT is a good option (or else you will need a different storage place if you sharing between colleagues or online)

Thanks @SchrodingersGat for come here and help clarifying!
Hope you can get more people working in the libraries and coordinate it well!

I think that the “library team” cannot do without the approval of main developers…
I have already covered both roads without results … but as I already said the panorama has changed…

agree so much :smiley:

Best panorama in my point of view

I would suggest something similar to what we discussed more than a year ago and that covers already some of the 3D MCAD parametric models


and

EDIT
SparkFun has a GitHub repo for 3D models which covers STEP, SolidWorks, IGES, STL, SKP, blend type of files…
(not for all parts there are all types of format)
A nice thing is the the README file covers most of the requirements for a file to be uploaded


About licensing I couldn’t find a clear statement
If they use CC BY-NC-SA 3.0 as per images, that licence without exceptions wouldn’t easy fit commercial use, in a interchanging of 3D data
Here an example of a product with 3D models

Personally I wouldn’t merge footprint folders with 3d model folders.
I don’t like the current original structure of the 3dshapes folder within the footprint folder either.
Do you keep STEP/VRML separate or do you mix them up?
In a not so distant future KiCAD will probably have a collection of spice models… will those be co-located with the symbols then?

Personally I keep the 3D models in the same folder structure as the footprint folders, in a separate folder at the same level as the footprint folder:

I hope the symbols, once in .sweet folders, will behave in a similar way.

If you mix them into the footprint repos it will become a lot more messier.

Once that is all set up one can start to write some part management tool to make the life of professional KiCAD users (I’m not :wink: ) a whole lot easier.

1 Like

Good question, someone should ask Sparkfun what they think.

However, I am fairly sure under Copyright law that a 3D model of a utility object is not a copyrightable thing. In general, copyright applies to creative or artistic works, and “utility articles” are specifically exempted. For example, this is why it is difficult to get copyright protection for clothing or costumes, even if they have a creative element, in whole clothing is considered a useful article.

Actually, it is also arguable whether an image of a switch is copyrightable, since there is so little creative element, which would make the CC license inapplicable.

Unfortunately, in all cases of infringement, a court must decide on issues of creativity, there is no blanket rule pre-applied (ie. there is no law saying pictures of switches for retail purposes are not copyrightable, or that pictures of dragons are copyrightable).

I’m also fairly sure that if someone thinks they are threatened by competition, they will create a claim under copyright, trademark, trade secret, even if it is totally bogus but have a large legal budget. DMCA makes it fairly easy for people to issue takedowns to make life awkward, there is a right of reply but still going through the paperwork is tedious.

I was only able to find one case relating specifically to copyright of 3D engineering data, where the object was not an artistic one. Michael Weinberg is an expert on this stuff, he wrote an article on the CanadaDrones suit http://makezine.com/2014/06/25/us-legal-lessons-from-canadas-first-stl-ip-infringement-case/ Weinberg concludes that the suit was probably not likely to succeed, but was settled out of court, so we don’t have a court opinion.

so go ahead against 3dcontent central, tracepartsonline and grabcad etc… :smiley:
Just a quick search would have pointed to

Copyright is a legal right created by the law of a country that grants the creator of an original work exclusive rights for its use and distribution.

original work is enough to cover what we are talking about…
Moreover copyright is strongly dependent of countries and jurisdictions…
In case of a so widely diffuse sw as kicad is, I would not allow to be in the library any 3D model which has not stated clearly a correct license of use.

Yes, that is the naive view, and pretty much 100% wrong, it’s a whole lot more complicated than that. “Original work” has a very specific meaning in law, and is not the simple meaning enjoyed by lay people. It DOES NOT mean, “anything you might create”.

Did you even read the article I linked?

The important point here is not what we might want to “acquire” from other people. The real important point is that if we contribute our models to a 3D model repo which has a copyright based license such as GPL, that license very probably has no legal meaning. So if our work gets “ripped” off, then we have no leg to stand on. It is very misleading to let people think their model has any GPL protection.

There is no copyright law that covers a functional object I am pretty sure that is true in every jurisdiction, copyright law is fairly well aligned internationally. There are jurisdictions where you get less protection from copyright. Even if a work is subject to copyright, statutory exemptions such as “fair use” may apply.

If you contribute a 3D model of a functional object to a public repository, DO NOT expect it to be covered by GPL, CC or any copyright license

Every lawyer will tell you exactly the same thing, everything else is just popular folklore from people who do not understand copyright law, and have never studied it. And trust me, you won’t get a good understanding by a quick glance at Wikipedia.

you can bold all your post text, but the final point is that nobody wants to have a legal dispute for what can be avoid with the right premises
Anyway if you want to start a legal dispute with the public repositories that I suggested above, you are very welcome to enjoy your time

I don’t

You are not arguing in good faith, I never suggested anything like that.

You are welcome to enjoy your ignorance, but there is no point discussing further.

I guess you are still upset with the criticism I made of your 3D tools? I see you love using bold text there :slight_smile:

[edited by Joan]

The most recent discussion regarding potential IP issues is a very big argument for parametric derived models. At least for the most used packages, non-series/discreet parts should be treated separately.

One of the first questions I ask on starting an engineering project is what standards are we designing to? Electronics is currently a hobby for me so I am not familiar with the various standards bodys for electronic component design. But a quick search indicates that JEDEC has open standards for many component packages.

By using parametric models (of which a large number appear to already been generated/setup) where it is easy to compare a table of the driving dimensions against a table from a referenced design standard, you can quickly make the check for compliance and at the same time the person who developed the parametric model is able to transfer whatever rights are deemed necessary for the parts to be incorporated into the library.

This should cover a large portion of the standard component parts, and minimise the time required to incorporate into the library. The remaining unique/discreet components will need dealing with on a case by case basis. If you can convince suppliers to engage/sponsor with the project and supply models and foot prints then all the better.

These models are/should only ever be used for geometric/visual purposes. If people are running thermal and other simulations then they will be building functionally accurate models for their chosen simulation software.

1 Like

First: I dislike your way of talking in a public forum
Second: regarding the criticism you made on my tools, I thought it was you that were disappointed not to be able to use a set of tools that thousand of people are using easily

and referring to ignorance, I will let you enjoy yours

I’m talking for my 3D MCAD models…
I used manufacturer’s data sheet as reference … for example


in the README you can find the reference documents
http://www.kemet.com/ProductCatalog%20Documents/KEM_TC101_STD.pdf
http://www.mouser.it/pdfdocs/KEMETT491Datasheet.pdf
For all my libraries you will find the manufacturer reference document, with dimensions and tolerances

It may depend a lot on which deep is your simulation…
probably you will need a more specific model to adhere exactly the manufacturer you have chosen with thermal coefficients and more data…

I think manufacturers data sheets are reasonable basis for series parts (parametric) provided that they have data for the whole of the series. Otherwise if there is a source of for series parts that can be built from a dimension table of the variants then it becomes much quicker to check and in theory to get them incorporated into any library, because there is a single reference to check against.

Yes that’s my point, that the models included should only be used for geometric and visual purposes, so slight variation between manufacturers (for a common package) is irrelevant in this context.

Hi @bobc, I read the article you pointed.

From what I understand from the article, the main point is that what you physically create by using the information from a 3D model file, the physical creation is not subject to be copyrighted (it can be however patented… by some other meanings…etc)
However,
I extracted two main parts I found here interesting for discussion:

Unlike a functional object, a file is just code. And code is generally protectable by copyright. That means the even if the object is not protectable by copyright, the file may well be.

it may very well be that while code is generally protectable by copyright, the code that simply represents an object is not protectable by copyright.

From MY interpretation of the second quote, I don’t think it will be applied on this cases (but I may understand on each cases it can be applied… just can’t get with an example… )

But so, it still looks OK (to me) to license somehow the files (generally the copy / share of the files)
Do you have any suggestion / examples for this kind of license?

Related with this discussion, the diptrace software provides tons of STEP files:
http://diptrace.com/libraries-and-3d-models/3d-models/
it would be nice to know/understand what kind of license they are sharing the files. (they provide auto-extract.exe files so I couldn’t extract it on linux)

Any data, file, contents, information and software provided by this website only for the purpose of using DipTrace. No other purpose permitted.
http://diptrace.com/policy/

there is the Mac version of 3D libraries which is zipped

if you are looking for more models, there are quite a lot of parametric models @ FreeCAD library repo


particularly for electronics
https://github.com/FreeCAD/FreeCAD-library/tree/master/Electrical%20Parts/electronic-components
The models are licensed as stated in the README

License

All Parts in this repository are licensed under CC-BY 3.0 http://creativecommons.org/licenses/by/3.0/
Each Part is copyrighted by and should be attributed to its respective author(s).
See commit details to find the authors of each Part.

If you are uploading parts to this repository, please make sure you are the author of the model,
or otherwise that you have right to share it here under the CC-BY 3.0 license, and make sure the author
is mentioned in the commit message.

As I already mentioned I don’t think this kind of license is fine for kicad library, but I think something like gEDA exception could be managed contacting directly FC people… many of them are also present on this forum :smiley:
Anyway this is only my opinion, others may disagree, but consider that my opinion is aligned to what Wayne said few time ago
http://www.mail-archive.com/kicad-developers@lists.launchpad.net/msg16679.html
and it is also aligned to FSF lawyers thinking…
so in case I’m wrong, at least I’m in good company :smiley:

1 Like

Kemet have a huge selection of detailed models - their entire range it would seem at https://search.kemet.com/component-edge/#/?id=410. No registration required and I can find no specific licensing restrictions on their use.

They all need scaling and aligning though.

2 Likes