Force all WRL to STP as default

I just gave the topic below an upvote (Current count is now 5):

I think WRL support was added long ago because the used libraries could not handle transparency and colors for STEP models, but that has improved over the last few years.

3D models (in two formats) are also around 90% of the size of a complete KiCad installation, and when I read that WRL does not even support units related to any real life measurements (KiCad Stepup applies some weird scaling factor to generate WRL models compatible with KiCad) I almost fell of my chair.

Those are linux shell commands. I don’t know a win shell alternate, but perhaps someone here does. I will edit my above post to tidy up. thanks

Yes I have read over and over that WRL is supported because it does things that STEP cannot. Like Transparency, but then we run into issues of support like that Autodesk is the Juggernaut in the engi8neering world and they refuse to support WRL, they wont even import it. At least in any product I use. I didn’t know about it not supporting dimensional accuracy.

What concerns me is the issue of the overwhelming demand to use WRL for artistic purposes. But seriously how many of us, use KiCAD to make museum art?
If there is a greater issue it is that some of the developers dont understand why WRL is a problem and why it should not be the default, and exemplified by the comment from jean-pierre charras · GitLab. Thankfully there are voices like kliment · GitLab, who pointed out why we need STEP.
EDIT: And I can confirm, yes I did misunderstand his post. I had to read that one specific reply several times. But I see I was mistaken in interpreting his reply for a defense of WRL.

If size of download is an issue, then why not just make the two formats their own download? I don’t care if they are otherwise dedicated to the same directories. Let each KiCAD sourced footprint come with both addresses predefined and whichever one is available will render as apposed to current where ONLY WRL is defined, and all files are downloaded regardless.

The topic itself as posted is a little concerning as I don’t have a internal need to decide for others what they should use. Just to gain the tools that I need to get work down, and if it helps others, great.

I see you removed the first section. Honestly I would have left it in place just add clarification that it was a Linux command. I might not be able to use it directly, but others who visit the topic might.

Some good info in this FAQ if you haven’t seen it already . . .

You should rather assume you misunderstood what was written. The developer you mentioned seems to be aware of the issues involved. The point was whether the WRL files should be removed from the official KiCad library or not. Then there were several details about default behavior etc. in that discussion (in the issue linked to by Paul), but I didn’t see real disagreements about them.

FYI - I recently upgraded to v7.0.10 and finally got around to do some Kicad file/setup cleaning. I’ve done this enough times (from v4 thru v7) such that it’s very quick to do and includes my resetting the Footprints and Symbols. The result’s are:

• Loads Footprints and Symbols instantly, Zero time (you know, that pop-up message with Time counting while loading). Not enough time for it to even pop-up now.

What I did:
• Deleted 1.4 Gig’s of .WRL files (I never use them)
• Disabled Footprints and Symbols I never use
• Bulk changed All links in Footprints from .WRL to .STEP (one-click and done)
• Bulk changed All Project PCB’s to ensure using .STEP and Not .WRL (one-click and done)

When you say bulk changed, this is what I am looking for, what did you do that could be done at install to make a change?


Not quite the same window

Tested Export with option checked. No change. No STEP files loaded. Exported object is a barren PCB save only for footprints manually edited to include reference to STEP.

I am pretty sure that as recent as V6, footprints did include reference to both WRL and STEP but now under V7 it is WRL only. I think it is clear the Developer Artists won the argument ignoring the Developer Engineers.

I also just noticed that no traces exported as part of the model. I guess they are also WRL? I mean I don’t need them for fit check but I am pretty sure they had been modeled on STEP exports prior.

They never have been as far as I know (in STEP), it is an option in V8 though

1 Like

Assuming a User has some programming skill (could be done in any programming language):

• Either Run Code from IDE or from homegrown App
Code/App to do Search and Replace (via walking through the DIR)
(I Place a Dummy Footprint in Kicad’s Shared Support>footprints, and a Dummy PCB in my Project DIR to start the Walking through all folders/files)

• Can do for Symbols, if that’s needed

Assuming a User has No or, only Minimal programming skill:

Some options:

  • Use the Terminal and Commands to do it (search for Commands for your System (Mac, Window, Linux)

  • Search for "Search and Replace: Python code (you’ll get many with examples)

    • Can Run code from any Python IDE

• You may have a Text-Editor that will do it

I made an App to do it (for Mac) screenshot below. I suppose I could spend a few minutes to produce one for Win/Linux…


Sorry, but it is clear you don’t know what you are talking about.

FWIW, I tried STEP export from v7 and 8.0.0-RC1 (release candidate for the soon to be released v8). In both of them the official KiCad footprints have only .wrl file names in footprint “3D Models” properties, and both exported them fine to STEP which I opened with FreeCAD. This just required the “Substitute…” checkbox ticked.

1 Like

Wow the salt. There are no “developer artists” on the team, I’m serious, we usually don’t take amusement in people trying to abuse PCBs as art projects :stuck_out_tongue:

V6 never had STEP files in the model paths, the substitute checkbox in the export dialog was all that was required.

The screenshot I took was from v8. The Substitute checkbox is supposed to do the same.

Does the export log not show mentions of substituing step files for WRL? It is going to for each file it substitutes.

1 Like

I see you made an app for this! Here i was hopeful for a script or a plugin.

Ok, its for Mac, so it’s Unix or Rosetta, I doubt Carbon. No worries about exporting to other languages unless you want to. If it was already functional in Windows I might ask if you mind to share. :wink:

At least it makes sense how this was single mouse click for you. Though for the he rest of us not so much.

I screen shot the box as it shows for V7.0.9

I exported a recent project. In KiCAD 3D viewer, the parts are not shown. Paths are WRL only. I purged the WRL already to be able to see which parts I still needed to manually fix.

In export to STEP, as per the screen shot, I checked off to Substitute Similarly named models.

Loaded the resulting export into Fusion360. The only parts to be shown are those I have exported to my own files (duplicated) and manually linked, or created from scratch.

To make this clear: you have problems and they are real, for whatever reason. We’ll gladly help you to solve them. Just don’t blame the developers’ attitude or knowledge. The problems are partly due to imperfect KiCad workflow and UI and it’s even possible there are genuine bugs. But none of the developers have said or decided that WRL would be better or more important than STEP; on the contrary.


First: FYI - Basically, Kicad has two types of plugins; 1) Official and Unofficial (though, some Unofficial one’s still linger in the Scripting Folder), especially the BOM’s

Second: Using Unofficial plugins is done by simply placing them ( in the Scripting>Plugin folder along with any needed resources, such as an Icon…etc) That wil cause an Icon to appear in Toolbar.

Example is this one. Unzip it and place in proper location. Quit and Restart Kicad. When Icon is clicked, a GUI panel will pop up. If you don’t get it to run, then you placed in the wrong location. (Note: I have no problem leaving the Refresh in the code but, others have been informed to no longer use Refresh, so, if problem, delete that part of code) (7.6 KB)

Third: My plugin code is a combination of program-code and GUI-code and not easily seperated so, it’s not user-friendly for posting.
However, I may spend some time to re-code it to include embedded GUI then, package it for Window and Linux (maybe… :thinking: )

Fourth: As far as your problem with Step files not working with things as they currently are, that is ‘perhaps’ the common issue of Links and often, though all look correct, something internally gets broken and re-linking usually works. My App can re-link them (happened enough that it has pull-down menu to select correct relinking… but, I won’t bother with that if redoing code for posting)…

I just revised my code to count files it checked…

Deleting all the WRL files is likely what caused the problems.

Sorry, not “trying” to step on toes.

If I could know for sure that any one person or bug was show stopper, I would be more specific. For the moment it seems to be more internal conversation and policy, not a bug. I can only see the end results.

As for attitudes, I cannot speculate.

My opinion based on what I have seen a few years ago, and currently is that there are those with the capacity to implement the changes, who feel that STEP should be depreciated in favor of WRL, and don’t “seem” to give regard for where STEP is needed. -As you pointed out in an Earlier reply, I may have misunderstood what was posted. And I can confirm, yes I did. I had to read that one specific reply several times. The now very old conversation where this had come up before in V5 era, seems to have been removed.

I have for sure not started this topic to convince any one to make changes. Just to figure out how to get the results I need. If this creates something useful for others too, even better.

Not that it is direct parallel, but I faced off with rogue developers who thought they had rights to control where CURA was headed. One in particular very vocal that my concerns about issues of actual bugs in the serial/USB interface were some how irrelevant. That the function should be depreciated and removed. Everything should be SD card or network. Eventually he became to combative, I had no choice but to abandon the topic and and even interacting with the community since he would pop up everywhere, since his seemed to be the only opinion that mattered. -I don’t use CURA any more. But I do have a semi recent copy and they did fix the issues.