4
$\begingroup$

I have a set of VRML 1.0 files that have been exported from SolidWorks. I need to import these into Blender, work on them, and then export them back into new VRML 1.0 files.

My predecessor had been working with Blender 2.49b, which apparently had a VRML 1.0 option under the FileImport menu. I would like to use the current version of Blender, but it does not seem to have this option; it seems to only support VRML 2.0 instead.

Is there any way to enable VRML 1.0 support in the current version of Blender? Is the previously built-in functionality now available as a plugin?

If not, I would appreciate pointers to any activity related to the removal of VRML 1.0 support from Blender (such as discussions or commits). I've looked through the release notes for recent versions, but they didn't tell me when this support was dropped, so I'm not sure where to start looking. If necessary and practical I'd consider doing some work on the VRML 1.0 import/export code to get it working.


I had been hoping that VRML 1.0 supporting was implement in Python, as the VRML 2.0 support is, so that it could be pulled into a Blender plugin. Unfortunately, it's not. I just took a look at the source for Blender 2.49b. VRML 1.0 support is implemented alongside several other "exotic" formats in /source/blender/blenkernel/intern/exotic.c.

The Blender exporting code is in the write_vrml function, but I was initially confused looking for the importing code. It turns out it's implemented as read_inventor, because VRML 1.0 is a subset of the Autodesk Inventor 1.0 ASCII format. That's good to know; maybe the support I'm looking for is available somewhere under the Inventor label.

It's definitely not built-in to the current version of Blender, though: there are no interesting hits for "VRML 1.0" or "inventor" in the source.

$\endgroup$
  • $\begingroup$ @zeffii Interesting, I haven't been able to find any discussions along those lines. Could you give me a pointer? Yes, they are .wrl files. $\endgroup$ – Jeremy Banks Aug 26 '13 at 17:33
  • $\begingroup$ You pose an interesting question, but it lies on the periphery of what Blender.Stackexchange is about (ie not bug reports, or discussing todos). You may want to wait till @ideasman notices this question for a more definitive answer. $\endgroup$ – zeffii Aug 26 '13 at 17:45
  • 2
    $\begingroup$ You could try importing with 2.49b and opening the resulting blend with a modern version. .blend files are forward and backward compatible $\endgroup$ – gandalf3 Aug 26 '13 at 19:17
  • $\begingroup$ Note that if you only want geometry, writing a basic importer isn't that complicated, but once you start to get into parent/child hierarchy, cameras, lamps etc - it becomes a much bigger task (see blenders vrml2 importer) $\endgroup$ – ideasman42 Aug 27 '13 at 0:12
3
$\begingroup$

Blender doesn't support VRML1.0, Your best option would be to find a program that supports it and re-save as a different format that Blender does support (VRML2.0 or X3D)

If you search for VRML 1 to 2 there are many hits and links that look useful.

The successor to VRML1 was released in 1997, over 15 years old. Support for formats that are long out of use is limited, at some point its probably best to use file format converting applications.

$\endgroup$
  • $\begingroup$ I haven't found many of the VRML-converting links very helpful, but your point is well-taken. We'll adopt a different format. $\endgroup$ – Jeremy Banks Aug 26 '13 at 22:49
  • $\begingroup$ If you have a special case where you have a lot of data in an old format and existing software is insufficient, it could be an worth writing an importer especially for your use-case. When you only need to support a limited file-set, this is typically much less work then supporting the full spec. If this is a commercial project, you could hire a developer to do this for you. $\endgroup$ – ideasman42 Jan 15 '16 at 10:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.