4 Replies Latest reply on Apr 28, 2014 9:50 PM by John Burrill

    SolidWorks Transfer to Blender

    Peter Langley

      I need to find the best methodolgy for transferring SolidWorks parts and assemblies to Blender for use in animations.

      I've tried increasing the image quality and saving as VRML files but the components still seem faceted when opened in Blender.

      Does anyone share files between these two programs regularly?

        • Re: SolidWorks Transfer to Blender
          Chris Dordoni

          I have run into this in situation where the curvature is fairly small. As you have noted, increasing the image quality does not seem to help. Since you are probably retexturing the model anyway, try the STL export. You might get somewhat better results since it gives you better contol of the tessellation.

           

          If that does not help, you can try using the Split Line tool to break the surface into smaller sections manually, to force extra triangles to be created. Obviously this is less than ideal if you have a lots of surfaces where this happens, but I don't know of a better way using SolidWorks alone.

           

          I have heard that Rhino and Moi3d (which was created by an original Rhino programmer) do a better job with tesselation but I have not actually used those apps myself.

          • Re: SolidWorks Transfer to Blender
            John Burrill

            Peter, I'm in the midst of transfering a large assembly to Blender for animation, just like you.  VRML is based on screen resultion.How far zoomed out you are will affect the quality of the export.  I recommend using STL if you're going right out of Solidworks because you can specify the resolution of the mesh at export time.  You're going to lose materials and decals, but it's more trouble to try to salvage appearances in Blender than it is to recreate them.

            I had to do this once before and i've learned a couple of lessons that I'd like to pass on.

            First, re-think your assembly structure.  When you import your STL into blender, it's just going to give you numbered mesh objects and curves-by the thousands.  This will make your object heirarchy interface in Blender nearly unusable.  Your best bet is going to be  to join meshes into single objects as much as you can. If you have a subassembly with no animation keys, then join all of the components into a single mesh object.  Blender meshes are like multi-body parts, you can have multiple mesh bodies (called islands) in a single object and it's pretty easy to seperate them back out again if you need to animate part of a subassembly.

            Updating your objects in Blender from changes in your Solidworks models is a righteous pain in the butt.  don't export from SolidWorks until you're sure you're not going to need to go back into it.  If you have an ongoing design project, push against starting the animation until the design has stabilized.  If you have to develope the animation in parallel with the SolidWorks design, then save rigging, UV mapping and vertex paint for the end of scene development, so that if you have to replace a mesh, you won't throw all of that work away.  Also, take adavantage of Blender's external reference capabilities for composing a scene instead of trying to mock one up as a SolidWorks assembly.  It's easier to manage dressing subassemblies in isolation from the scene (especially if you're including rigging)

            Also, you'll need to put aside all of the rules configuration management has taught you about propgating change throughout the product definition.  The purpopse of design is to define a product.  The purpose of animation is to tell a story or make an impression.  If the story doesn't change, if the impression is the same don't re-render.

              • Re: SolidWorks Transfer to Blender
                Peter Langley

                Thanks to both of you for your information.

                I have an associate performing the animation and he is partial to using the VRML format if we can make that work.  We've had success with some models and not as much success with others and I thought I had saved them both to the same format settings.  What you said about the zoom of the image at the time the file is saved is interesting.  Can you tell me whether resolutions is better when the image is zoomed in closer or further away?

                  • Re: SolidWorks Transfer to Blender
                    John Burrill

                    I have to correct myself.  The level of Zoom doesn't affect the quality of the VRML export.  What does factor in, however, is the settings in Document Properties: Image Quality.  The image quality settings determine how many triangles are used to render the model to the geometry cache stored in the file.  this cache is used by edrawings and other viewers to render the SolidWorks model.  You can increase the resolution of the WRL output, but you don't have finite control over precision and deviation like you do with STL.

                    Having said that, I ran a test exporting a model of a pair of Sunglasses that I did to STL (.006"/10deg deviation) and VRML97 (medium resolution) and and importing those into Blender, and the file sizes and resultant geometry in the scene were comparable.  The VRML file meshes came in with the diffuse color from the SolidWorks appearances.  I tried setting a texture on the model, but it wasn't transfered to the materials in Blender. 

                    In the past I was able to do this in Blender, but it created a unique material name for each instance of the texture and the maps didn't have UV coordinates assigned.  In retrospect, it was more trouble than it was worth.

                    One final thing, the documentation for the Scanto3D plug-in says it supports exporting to 3DS and some point cloud formats.  I haven't tried this myself, so I'm not sure what options are available.

                    I'll check it out tomorrow (I have SolidWorks Premium at the office but not at home) and let you know.