Jump to content
Ultimaker Community of 3D Printing Experts
yellowshark

How do I convert an stl mesh file into a solid or surface model?

Recommended Posts

I have a project where my input will be scanned data. I am assuming that this will come in the guise of an STL file. But before printing I need to get the file/data into Solidworks so I can modify the design of the scanned part. The difficulty is that Solidworks (and most other modellers I am guessing) does what it says on the tin – it works with solids not with mesh files.

Solidworks will import the STL file but in reality you cannot do anything with it. You cannot detect any edges or planes and so cannot get at any dimensions. You need to do things manually by doing it visually. Now this may be OK for a figurine but it is no good for engineering work or, in this case, medical work.

My research so far leads me to think that Meshmixer or Meshlab may be my saviour. I understand 2D drafting and 3D solid modelling but I really do not understand anything about these mesh formats and the software that manipulates them. I have had a little play with Meshmixer for creating supports but have not gone any further as I find the interface difficult and the help (that I have looked at) is non-existent – e.g. tool help for the Measure/Dimension tool is “Measure dimensions in the scene”. I really cannot get motivated to learn software when it has no documentation. I have not looked at Meshlab yet maybe that is better.

I have just used the Make solid tool – help text for that said “tool help text” so I have no idea what that does really/what I have done to the model by using it, apart from hopefully the obvious.

Now checking Meshmixer I see it will not export a STEP file so I am still at a bit of a loss as how I get this new dimensioned solid model (if it is solid) into Solidworks, the only options seem to be .obj and .ply which at the moment mean nothing to me.

As you can no doubt see I am well out of my depth here at the moment but am hoping that some of you may have needed to go through a similar exercise and might be able to offer me some wisdom and guidance on the process I need to undertake.

 

 

Share this post


Link to post
Share on other sites

Meshmixer has good sculpting tools, in addition to transformation, logical operations, etc. Since you'll have scan data as input, the analysis capabilities (inspector) will also be valuable.

You can find some tutorials on YT to start with.

I can agree that the interface might appear complicated, but it is not so hard at all.

Meshlab could be useful for many things, but I doubt you will like it.

I once used InStep to convert STL to STEP, but the "free" mode is limited to 3000 faces,

My advice is to give Meshmixer a try.

 

Share this post


Link to post
Share on other sites

I have a project where my input will be scanned data. I am assuming that this will come in the guise of an STL file.

 

Do you already know how the scan is going to be done? Is it already a safe assumption that you will get an STL file as a result?

Scanned data can be as simple as a list of 3d (x,y,z) coordinates listed in a text file, that you would import in Meshlab as a points cloud for example, and generate the mesh from this.

 

Share this post


Link to post
Share on other sites

If I understand correctly you have a STL file and you want to import it in SW in such a way that it recognizes features.

It should do that with the detect features function, but I havn't gotten it to work yet.

If you can post your file I can have a look. I also use solidworks and wanted to edit some STL files in the near future too

 

Share this post


Link to post
Share on other sites

Thanks for the comments guys. To answer the questions.

3Dmaker4U/Woofy: I now have a .obj file and .ply file from Meshmixer and a .stp file from InStep, all of which I will import into SW tomorrow and let you know the results.

Kolia: The subject matter is orthoses, i.e. medical in-soles to re-align the foot into proper posture. One method to get these is for the foot to be scanned and input to specialised medical modelling software which provides the design of the in-sole. I received a . stl file from this software to 3D print but we wanted to make some modifications to it first. On learning that importing a .stl file into SW was useless we just redrew it in SW from scratch, took about 20 minutes but it would not have been highly accurate as we had no dimensions and the work I think would not allow for spending a lot of 3D design time for each file. I have no idea but could check I guess to see if the file was a mesh or a point cloud.

The 2nd method and maybe the more likely is for us to receive the scan of the foot. I am awaiting confirmation but at the moment I am assuming also that the scan will be a .stl file; it may well be done with an Xbox (although iPhone software has also been mentioned). This may be a game changer – it came up today after I made my post. A foot is organic and maybe trying to use SW as the method may not be a good choice but at this point that is where our skills are.

 

Will Meshmixer let me design an in-sole that will “interface” to the foot? I guess I am assuming that would be difficult.

 

Jameshs:. Well yes SW has a tool known as ScanTo3D which looking at the documentation I suspect is really what would suite us best. But unfortunately it is only available in the Premium edition which would need us to upgrade for probably about 2,000-2,500 gbp which is just not viable at the moment.

Titus: ah the “detect feature” is not something I am aware of. We only have the basic version so maybe it is not there, I will check tomorrow. If you pm me your email address I will happily send you an STL file

 

Share this post


Link to post
Share on other sites

Will Meshmixer let me design an in-sole that will “interface” to the foot? I guess I am assuming that would be difficult.

 

 

Yes. Not at all. Create/import the 'shoe' or just the raw sole, then import the foot, position (rotate/translate), you may need to scale the shoe/sole, and finally select both and make a Boolean difference (order of selection counts). That's all.

 

Share this post


Link to post
Share on other sites

Rhino -> MeshToNurbs command -> save as whatever format you want.

If your mesh was manifold, it will turn into a fairly clean nurbs surface, though it will probably be a large file because each mesh face will be a nurbs plane. If your mesh was manifold and closed, it will be a nurbs solid. Rhino warns if you are using a mesh larger than 20000 faces. I have gone larger, and it works, but for many things, a mesh reduced to around 20000 faces is more than adequate anyway.

 

Share this post


Link to post
Share on other sites

Thanks Nick, ah Nurbs, a term I have seen before. Is that an internal Rhino name for a solid/surface model, or is it a generic name for something different? So far I have only worked with STL files exported from Solidworks (apart from a few downloads) and they are always manifold and work 100%. Do you know if STL files from scanning are likely to be more problematical?

 

Share this post


Link to post
Share on other sites

Hi all, sorry I have off line for a few days. Well I had some good success at the weekend. Importing the OBJ and PLY files into SW did not work, I got some sort of file error; I need to go back I guess and try to ascertain why that was. But I got 100% success using InStep which is just a great result for me so thanks for the recommendation.

Using the free version, the model had less than 3000 facets, I just imported the STL file and exported the STP file. First run gave me a result out of scale but that was because the STL was using mm and the InStep units configuration was set to inches. A quick change and the 2nd result was perfect with all dimensions spot on, OK a couple were 1/10,000 mm out.

The result is so important for me that I am definitely going to buy one of the paid for versions from the guys. I need to read up on the menu of additional tools to try and judge what would be useful and what would not.

Rhino looks very good too but having invested in SW I cannot justify another 1,000eu which for me would just be file conversion.

Thanks for all your help guys – it is good that we know about a lot more than just Ultimaker J

 

 

Share this post


Link to post
Share on other sites

Hi 3dmaker4u, thanks for that. I cannot quite get my head around it but am I right in assuming that the Boolean difference is what moulds the shoe/sole to the contours of the foot?

As soon as I get a scan of a foot I will be able to try it :)

 

If you don't have the scan, than you have the option to "sculpt" the bare sole. You need anyway some information about the foot, like a mold or even pictures. I don't know the current practices, but I would expect most probably a mold to be used. This could be easily used to determine a "point cloud" with repeated measurements following a grid. This could be used to generate a rough foot model that could be further sculpted. While may sound very rudimentary, could be actually very cheap and fast :)

 

Share this post


Link to post
Share on other sites

My good friend google found me this forum,

I am busy to learn working with my 3d scanning and it is all going well. I have made my first scans and fusions. For editing my fusions i work with Meshlab.

What i want is to convert the stl files into a stp file and open it in Solidworks to modify the part to create a new product. Mostly it is about carparts.

Is there anybody here with experience.

Unfortunaly the scanto3d add-in is not working in solidworks :-(

Thanks in advance.

 

Share this post


Link to post
Share on other sites

OK, well you can use the free version of InStep to import an stl file and export an stp file - see solveneering.com. BUT you are limited on what you can do with it in Solidworks as far as I remember. You can extrude it but I do not think you can edit features. Worth you having a look at no cost. Having said that it may well depend on the quality of the software creating the stl file and indeed the InStep software, but moving between file formats and software can loose design intelligence. Best test is probably to export an stl file from Solidworks, run it through InStep and import the stp file from InStep

 

Share this post


Link to post
Share on other sites

Thank you Yellowshark,

I am running the 2014 version, but the scanto3d buttons are greyed out.

Thanks for your advice, i was not aware of quality problems when you are moving between software, good to know!

What i want to do is scan an object (a spoiler for example) and make a fin or more curves, after that we test it, modify again and produce it. So most of the scanned objects are big, i have an upright made about 1062446 faces....

About the money: quality above all ;-)

 

Share this post


Link to post
Share on other sites

Ok the free version of InStep is limited to 3000 faces. I am happy to take your much larger file and try it as I have the Basic version which does not have that limitation - although g*d knows how long a million+ faces will take to process. I will message you an email address and if you send me the file I will try converting it to stp and mail it back to you. Plases note that the quality problems can occur; they are not guaranteed to occur. EG I would not expect a Solidworks stp file going to an Autodesk user to have problems (no guarantee though :)

 

Share this post


Link to post
Share on other sites

Sorry guys, but I'm pretty sure that the tool you're hoping for isn't really practical - in my opinion.

STL is the compiled/rendered form of the 3D model, similar to how object code is the compiled form of a source code, or a paperback is the rendered form of a novel. Going from STL back to a fully operational 3D model is a bit like trying to scan a book and reproduce the original word processor document. It may seem like it worked but in fact it's just a static image, you can't do much with it except render it again, perhaps at a different scale.

Going from STL to a working model in any intelligent sense would require something equivalent to Optical Character Recognition for 3D images... and just like OCR, there would probably be a lot of manual fixing involved.

I'm willing to bet that the SolidWorks "recognize features" feature only works when Solidworks produced the STL, i.e. if it can assume that everything started off as a SolidWorks feature. Perhaps relying on "hints" embedded as comments in the STL.

 

 

Share this post


Link to post
Share on other sites

I am sure you are right Don, STL was created specifically for additive manufacturing way back and the idea of re-interpreting the file back to a 3D model with all its attributes and design intelligence is improbable. It worked fine for us as all we needed to do was to match another part to the contours of the imported stp file, we did not need to modify it. What I cannot remember is if we were able to pick up the dimensions from the imported file, which could be very useful depending on what is required.

 

Share this post


Link to post
Share on other sites

For building a reverse engineering workflow, we've been having good results with the solidworks plugin XTract3D.

https://www.polyga.com/XTract3d/?ref=13&campaign=ML

It sounds like you have a background in solidworks, this would at least let you continue to leverage those skills. I don't know how dense your foot scans are, but the XTract3D plugin is able to handle much heavier 3d scan datasets than solidworks can without it, and you can actually interact with that data while drawing curves.

There's a reverse engineering tutorial on their site that covers what it can handle:

It's long and there are shorter videos on their site, but the one below is my favorite. Learned a lot.

https://www.polyga.com/video/xtract3d-advance-tutorial/

Share this post


Link to post
Share on other sites

It's possible but a lot of work, and a lot of running around. I would guess and say you'd for sure experience some file degradation. The issue is that its a completely different file type. Again there are a few programs that will do it (especially if you're just looking for some basic function like poking a hole in it), but probably won't work the way you'd expect it to. even crossing solid files into other solid modelling programs is touchy let alone an STL. It would be easier to get the native file if you have them, or use the obj or stl as a base to remodel it in a new program like Alias, Solidworks, Mudbox, Zbrush etc. Most likely it will take a bit longer, but will be less of a headache and will produce better results. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!