3D printing software that can split one VWRL file into multiple parts
September 17, 2018 12:39 PM   Subscribe

I'm working on a project where we take an automatically generated object, load it into Materialise’s Magics then use the Split Part by Color [sic] function to make it into multiple parts. I'm trying to write up our procedure for other people to use, but Magics costs something like $40K. Are there cheaper/free alternatives that can do the same thing?

I'm working in a chemistry group that has put out a number of 3D printing papers on how to take actual atomic position data and print it. I've made a technique that works quite well for printing an object in multiple parts then connecting them post-printing. This lets you bypass print tray restrictions, reduces how much framework you need, all sorts of good stuff.

We are about to publish, but one of the issues is one step of the processes is taking the data we have generated using one tool (A coloured VRML file), opening it with Magics and using Split Part by Color [sic] to make it into multiple parts, each of which we can save separately. The issue with this is Magics costs something like $40K, which means not very many people are going to be able to use the technique.

Are there other alternatives with similar features? That is, opening a VRML file with colour information, then letting you make each colour into a separate part.

Most of the 3D printing software seems to be based around just working with colourless STL files, and even the ones that let you open VRML files seem to lose the colour data, or can't edit it beyond changing its orientation on a print tray. Does anyone know of software for this?
posted by Canageek to Technology (8 answers total)
1) Looking at the VRML2.0 spec and some example files, it looks like geometry data is grouped by appearance/material already. I did some simple tests in a text editor, and have successfully verified that it's very easy to save different parts of a VRML file grouped by color. You or someone else could write a small program in Python to do this pretty quickly.

2) Rhino3d/Grasshopper (a computational 3d modeling environment) can definitely do this, but it's another proprietary software.
posted by suedehead at 6:06 PM on September 17, 2018 [1 favorite]

1) Isn't true of the files I'm generating from CCDC Mercury. It lists coordIndex, then coord Coordinate, then colorPerVertex FALSE, then at the bottom color Color.

2) That costs about 40x *less* then the software we are using now, so I'll give the evaluation version a spin. That way I can at least mention it as an alternative.
posted by Canageek at 6:56 PM on September 17, 2018

Can you post some sample before/after files? If it ends up being a fairly straightforward transformation I could probably come up with a program to do it for you. Or drop me an e-mail.
posted by pocams at 7:47 PM on September 17, 2018 [2 favorites]

I see. Can you share an example wrl file?

Looking at some examples with colorPerVertex FALSE you could parse the coordIndex and Color arrays and selectively remove mesh faces successfully.
posted by suedehead at 8:58 PM on September 17, 2018 [1 favorite]

Meshlab (free) has scripting and selection/extraction by colour from VRML … and lots of Stack Overflow questions asking about how to extract objects by colour with no useful answers ☹
posted by scruss at 7:35 AM on September 18, 2018

Sure, here are the samples: I should have thought to do that before.

181148ICSD.wrl is the starting file.
I then use Magics to split it into parts (1.WRL and 2.WRL or 1.STL and 2.STL, it doesn't mater which), and after that I don't care about colour.

I've included the two parts as both stl and vrml files, since this version of Magics has a bug where it shrinks vrml files by a factor of 100 when saving them. So I usually save them as STL files at at that point, but thought I should include the WRL files for comparison- I just didn't want anyone to think the shrinking was intentional.
posted by Canageek at 11:51 AM on September 18, 2018

As Scruss says you can use meshlab - I just tried your file and it worked fine.

1 Import the .wrl
2 Filters | Color Creation & Processing | Transfer Color: Face to Vertex
3 Filters | Selection | Select faces by color
4 Filters | Mesh Layer | Move selected faces to another layer

Repeat 3 and 4 for each color in the file, then click each layer and choose Export Mesh As... to save as .STL
posted by samj at 8:45 AM on September 19, 2018 [3 favorites]

Samj: Thank you SO much for that: Do you want to be acknowledged in the paper? If so MeMail me.
posted by Canageek at 2:29 PM on September 30, 2018

« Older How to remove stickers from car without damaging...   |   What are you dancing to lately? Newer »
This thread is closed to new comments.