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

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.

Blender was around :wink: (open source since 2002) And i would argue it is more powerful now and also was more powerful back then. (Just the modifier support is worth it as it allows working similarly as with a parametric tool. It could however be that that was added later. I am sure it was already old news when i played with it back in 2007.)

It currently supports x3d which is the successor to wrl. Not sure if it supported wrl in the past or if it supported x3d from the very beginning. (x3d superseded wrl back in 2001)

1 Like

Blender did support wrl since what I remember … I used Blender for KiCAD rendering and movies…
Blender 2.8 ATM has an issue with KiCAD wrl code… people may have a look at here to help in fixing
https://developer.blender.org/T71232

PS this thread reminded me something I forgot :thinking: It took me two years to obtain the developers forget Wings3D …

1 Like

Yea and your scripting stuff (or in general your forum discussion about your 3d model lib) was the reason why i got interested. I made scripted 3d models for the phoenix MSTB and MC connectors as a result of that.
To showcase them meant i needed to make footprints. I did not want to make them by hand which brought me to the footprint generators of @pointhi.
Who was part of the library team and asked me to contribute my footprints to the lib. Which in turn resulted in https://github.com/KiCad/Connectors_Phoenix.pretty/pull/2. Well and the rest is history.

2 Likes

Yep, and way much more complex also… I’ve tried many times to learn it, but I never had the energy that it took. Wings has always been more straightforward, and given the (average) low complexity of our models, there was no need for the extra power of Blender.

By the way, I don’t know if this matters as, AFAIK, Blender does not export to STEP also… :frowning:

Because Blender is a serious artistic tool, when the appearance matters, not a CAD application.
Wings3d is also for artistic purposes, but a lot less capable than Blender

1 Like

Thank you to everyone for all the repsonses, I never expected as many. @Walter_Lain I am very happy to here the library is still alive and STEP files might happen. I to use Altium by day and KiCAD by night so I am well aware of the problems with step files, but right now I would agree they are the nearest thing to a usable standard we have. Again thank you for all the effort you have put into your libraries, and a thank you to the KiCAD developers, it’s a bit of software to be proud of !

Also I could never get along with Blender either :slight_smile: