Solidworks 2025 import error

Hi, I am unable to import sldprt files made in the newest 2025 Solidworks into Rhino. I get a message in the command line that says ‘can’t open that file’. Files made in the older version of Solidworks can be imported without issue.

I am working on a window computer with Rhino Version 8 SR15.

Any ideas on how to solve or work around this issue?

from year to year solidworks keeps giving us then taking away permission to use it’s importers.

if the current version won’t import, back save it from solidworks to an older format and see if that will come in.

I’ve lost track of what year we can import, and SW took our test seats away a few years ago so I can’t test it.

you can always use step, that will always work fine no matter what version you are using.

2 Likes

I can import SW2024 but SW2025 *.sldprt fails.

Unfortunately *.step is causing issues all the time with trimmed surfaces.

Also the filesize of the same geometry exported as *.step is over 3 times larger than *.sldprt

Hey Martin, do you get similar failures with parasolid (xt) and an export from Rhino?

The last time I did a massive project with solidworks and Rhino some files worked better as step, some worked better as parasolid, and I could never figure out what cause the differences.

It was extra weird as the ones that went in well as parasolid, sucked in step, and vice versa.

The engineers want to send parasolid all the time and I keep asking for Solidworks files. As far as I understand Rhino also cannot import parasolid…

When something is modeled in Solidworks, I don’t understand how an export in a generic format can be better than the native format?

The same geometry as in the *.step file screenshot above imports as open polysurface when exported as SW2024. Still not good but better than the surface mess I get with *.step…

Could it be a tolerance issue?

ah, sorry I misunderstood…these are files you are importing from solidworks… I read that as you were exporting to solidworks.. sorry. my bad.

Step into rhino from solidworks is the best format I have been able to muster.

Trimming issues like that are very common from the stuff I have seen.

the thing to keep in mind when working with Solidworks is to make sure your SW tolerance and your Rhino tolerance are identical in both directions. SW tolerance is insane… it’s like 4 decimals if not more, and as far as I know there is no way to change it so you have to crank Rhino up to full mach crazy in order to match.

Thanks for the hint about the tolerance but this looks just as bad with 0.0001 units absolute tolerance…

The same dropout with 0.00001 units absolute tolerance:

I mostly need the files as meshes for alignment of scans in Artec Studio and for CFD which also means we need to remesh or shrinkwrap…

ugh, yeah.. I have seen lots of stuff like that..

I made a decent living fixing stuff like that for a while..

it’s likely easier to just repair it and move on that try and sort the data translation issues.

Without being able to dig into the SW step exporter (and they are currently not willing to work with us on anything atm) it’s almost impossible to see where this is failing.

1 Like

:clinking_beer_mugs:

I’ve spent days repairing stupid fillets already… Some of the fillets look pretty bad and I’m wondering if there maybe is a better modeling strategy to avoid such issues…

1 Like

I had an instructor once tell me “sometimes the only way to do the work, is to do the work”

grind on my brother..

2 Likes

Find someone to do it for less $

Solidworks does not have a user definable tolerance like Rhino, so you’re kind of stuck in that regard. There are a few options to try changing in SW when exporting to STEP - split periodic faces, etc. Doubt that’ll help with the fillets though.

Have you tried IGES? I recently had to revert to that for some files from Creo. IGES can be quite reliable, however when importing into Rhino the surfaces come in unjoined, so if you have multiple parts, they really need to come in with different colours so you can select the parts by colour then join.

For the type of model you are working in there is nothing that is easier and quicker than true fillets, but your real problem is a terribly messed up STEP import.

First of all just by looking at the fillets in your picture I can tell that was not modeled in solidworks. Solidworks makes fillets that are almost identical to the fillets made by Rhino’s FilletSrf command.

My guess is that this was modeled in Catia or ProE and imported into swx. That is where many of the errors may have been introduced and then more errors were introduced with the swx STEP translation to Rhino.

Your best bet would be to get a STEP file created by the original program where the model came from.

If that is not possible then I would change the tolerance in the STEP file that came from swx. To do that open the file in a program that has a search and replace function like Wordpad. Search for the word “uncertainty”. You should find at least one line that looks like this:

UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000082E-05 )

Since the file looks like its in Millimeters you want to change that to

UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 2.54E-03 )

There may be more than one such line. Replace all instances and the save the file with a new name. Then import the file into Rhino8 and see if a lot of the errors go away.

Also, in Rhino you should set the units and tolerance to match (.0025 mm) and then import the file into Rhino. Do not check the join box in the STEP import dialog box.

After the file is imported into Rhino and you have just loose surfaces, you can select all and try to Join the model. If it joins correctly you are done.

If you have naked edges after the Join attempt, then run the DupBorder command and copy those curves to the clipboard. Then undo back to before you ran the Join command and paste in the curves that you copied.

Now you can go around the model where the curves are and fix the errors. You may be able to easily replace defective fillets with FilletSrf if you use the exact same radius.

You may want to make the curves that mark where the bad edges are a distinctive color and make them display thicker so that they’re easy to spot and find.

Don’t join any surface until after the surfaces and edges are fixed. Joining surfaces with defective edges may cause neighboring edges to go bad.

Edit: If in the process of untrimming and retrimming surfaces to fix them you find that the edges are farther away from the surface than the .0025 mm that you set in the uncertainty line of the file, you may want to start over and set the tolerance even looser. Pull curves to surface and use CrvDeviation to determine how far the edges are from surface.

Change tolerance to maybe this:
UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.0E-02 )

1 Like

Thanks for these instructions. The file was not created in Solidworks. So far, the software the partner has used remains unknown.

I replaced 3 instances of the uncertainty entry and the result looked a bit better with 2.54E-03 again a small bit better with 1.0E-02

I need the files for alignment and CFD so to be honest a shrinkwrapped mesh is perfectly fine. I’m just a bit frustrated that it doesn’t work with the NURBS model.