3D models and smisioto (Step and WRL and wings) again

Actually… not? I’ve got an impression that the librarians have too much to do and can’t take “could you make” requests. And I have read that KiCad doesn’t like duplicating (creating Open source) models which can be obtained from the manufacturers (https://kicad.org/libraries/klc/M1.2/).

Welcome to the forum
I fully appreciate the impossibility of converting or redrawing your WRL models to STEP, at one stage your collection was the biggest and best 3D set openly available.

Humm … I’m not a librarian but the history says people here are very reactive to users requests…

If 3D model data provided by a manufacturer is of low quality or not available for public download, then these data may be added if the following criteria are met:

even this doesn’t seem to be applied strictly
look at https://kicad.github.io/packages3d/
i.e.
Connector_Samtec
Connector_Phoenix_GMSTB
etc …

Unfortunately, public download does not mean “open license” at all… that is a big issue from a legal point of view. And being legally faultless is a must if we want to keep the software and libraries open to everyone for the future…

That’s interesting. I know nothing about that, but I doubt the KiCad project’s represantives would have “demanded” to change a licence of a 3rd party repository, especially when it was Open Source. Maybe there has been some misunderstanding.

BTW, the world has changed even in this respect. See https://www.fsf.org/blogs/licensing/creative-commons-by-sa-4-0-declared-one-way-compatible-with-gnu-gpl-version-3. You can use BY-SA-4.0 licence and it’s one way compatible with GPL3, so there’s no need to mention GPL3 explicitly.

IMO this clause should be removed. I don’t see a point of it, knowing that manufacturer files aren’t free. Actually they often aren’t licenced at all, they are just provided (with unexpressed assumption that people use them only for some proper purposes in proper ways). Grabcad is even more restricted.

That’s very, very true. But it doesn’t mean STEP isn’t good for Open Source. If you say it isn’t, you should at least offer good arguments. This far you haven’t showed you fully know what the STEP is about. Using it doesn’t mean you know much about it - I have used it, too, but don’t share your view on that matter (and I don’t claim I would know much about it, either, but I’m ready to learn).

BTW, this is a different subject matter than your library. Everyone respects what you have done and the licencing etc. We also fully understand that life gets in the way etc. I’m not criticizing anything you have done; I just want to make sure that if someone makes decisions or forms opinions, they are based on facts and logic.

Here are facts and logic as far as I can understand them:

  • STEP file is an ISO standard, not “not well defined”.
  • C, C++ and many other languages have ISO standards. See https://en.wikipedia.org/wiki/Category:Programming_languages_with_an_ISO_standard.
  • C and C++ are used by Open Source and Free Software projects (no need for a list, they are so ubiquitous!)
  • If ISO standard means that something is bad for Open Source, C and C++ are bad for Open Source.
  • If C and C++ are bad, most FLOSS software should be rewritten and GNU and Clang compilers should be discarded.

Do you have some other presuppositions about STEP which lead to your final conclusion?

Most (all) of manufacturer’s 3D models are licensed as free for personal use… that means you cannot share your 3D model of the pcb+connectors to any of your collaborators outside of your company / or to any customer… that is why we don’t have any manufacturer model inside kicad libs.

Moreover manufacturer’s 3D models are often (always) not aligned to KiCAD origin/footprints, then you cannot simply share your board and tell the user to download the 3d model from the manufacturer as is…

I agree so much if you mean that
(https://kicad.org/libraries/klc/M1.2/ If a manufacturer provides 3D model data for download from its website, these models should not be duplicated in the KiCad library.)
should be removed.
I don’t see any redundancy because manufacturer’s models are not usable to any way of interchange… just ‘good’ enough for internal use

1 Like

You are drawing false parallels here with c/c++. Fact that it’s standardized by ISO is irrelevant to almost anyone because full language documentation and fully open source compiler implementations are available. That’s not the case with STEP.

Oh and it’s absolutely not well defined. STEP is like a syntax and behind that syntax it can implement a lot of different and often not inter operable and incompatible things which are different APs (application protocols). Every software as far as I know only supports subsets of some of the more common APs and you will frequently run into fun compatibility problems when you try to exchange step between different CADs.

That said, it’s still the best thing we have right now in terms of more or less common standard.
Maybe one day there will be a strict, comprehensive, deterministic and actually free standard accepted by industry, until then that’s what we have to work with.

1 Like

No one of closed source CAD sw firm wants a clear interchange standard, because they want you to stack with their closed standards and closed sw.
Said that, STEP is the only strong available standard we can count on, and luckily OpenCascade (the mechanical kernel of FreeCAD) is one (unique as far as I know) of the commercial and open source firm which is extremely supporting it …

Mainly the issues on STEP interoperability are present because many vendors are used to defeaturing the models to avoid a full interchange of data.

1 Like

thanks @Qu1ck for that, I know enough to say that, based on many years of working close to mechanic designers… hearing “WTF, this step is not opening right” or similars was quite common…

Anyway, sorry if I pushed the topic off a bit, my intention was simply to say that:

  1. ok, there is no way I can simply grab commercial 3D models
  2. there seems not to be a simple way of converting from wrl or wings to step
  3. what are my options?

Let me rephrase: I am quite willing to improve my library usability (even not being 100% happy with STEP), with the time I am able to dedicate to it, so any suggestion on what to do is well accepted and will be considered. Thanks to everyone

2 Likes

you should ask your mechanical designer to ask his or her 3D model provider not to add any proprietary protection technique on the shared model…

I cannot see any user of KiCAD 3D library raise an issue on STEP model interoperability (not here nor at the GH repo)… and that is because the K library and the exporters (K or FC) are developed to allow and promote free interchange and not the opposite, as you can find in commercial environment…
And the exporting quality is depending on the quality of ALL of the contained 3D models…
This thread may add some tips:

This would be really off-topic to discuss. Is there a way here to PM?

Yes, you can click on a person’s avatar and choose “Message”.

As for the discussion about STEP, I’m happy with qu1ck’s answer as long as it explained your attitude towards STEP.

I have been very grateful for some of your models in the past and it would be a great shame to loose them from the community. Many have been superseded in the KiCad 3d library but there are some obvious gaps.

Maybe I’m missing something here but what programme did you use to design these models in the first place? Do you still have the original design files or only the .wrl files? I appreciate that you cannot convert wrl to step but is there not a .step export available from your original software?

EDIT I think you must have used Wings 3d which I am not familiar with - I see this is only a surface modeller so there is no reliable way to generate any form of solid model using this.

1 Like

Yes, I use Wings.

Back when I started, about 15 years ago, it was almost the only way to do it freely. I am not a 3d cad user, so I learned that and kept using it… the source files are the wings files. Unfortunately wings can’t export to step.

Everything was done in Wings3D…
unfortunately as pointed out

Moreover Wings3D is not scriptable… everything has to be done manually … that is an other reason why we moved to FreeCAD and STEP.

1 Like

I assume wings was chosen by the KiCad team because KiCad uses vrml. Wings is one of the few programs that natively support that format. It seems logical that you therefore chose Wings.

Wings was even suggested by the installer (at least under windows) until the end of the v4 release cycle. The library only converted to step and therefore freecad a short time before that (I think around the 4.0.5 release but it could have been even later).

KiCad native step support only came with version 5.

So in the end your lib is not that much behind.


I am not sure if i would call our scripts the future either. The cadquery plugin is no longer developed as the cadquery team focuses on developing their stuff as a standalone unit. Which means our scripts will break sooner or later unless we take on the task of supporting cadquery. We already have problems with python 3 if i remember correctly.

I am not sure if the scripts can be transferred to the standalone option of cadquery (the wrl generation part will not work in the current way as we use freecad functionality there. Similarly the step export. And i suspect the syntax for the rest might have diverged a bit breaking the rest.)

I don’t see any issue in keeping the standard FC CadQuery 1.2 Workbecnh with FreeCAD… we had only small issues with the big switch from python 2 to python 3 but not from FC native code… 0.15->0.16->0.17->0.18->0.19 … so I don’t see any dark in the next future…
we can keep the CQ WB alive in case it is going to be abandoned… for what we need for Kicad, we just need basic features both from CQ and from FC.

As @Walter_Lain pointed, 15y ago, there were no much options to create 3D (polygon) files. Lightwave 3D and 3D Studio MAX (most popular at that time) probably were able to export VRML but they were not open source.