SolidWorks import problem

Hi, in the latest version of Rhino (6.19.19267.15571, 9/24/2019) SolidWorks files are importing improperly. We are getting all the historical bodies that have been in the SW file, not just the bodies in the final saved state of the SW file. See attached. This behavior just appeared with the latest Rhino update this morning.


Hi Eric - thanks for the report, I’ll see what I can find out.
@tim - do you have an idea of what changed?

@ejolley - we can fix this - it will take a checkbox in the UI… we were getting files that had only construction geometry that were opening empty… so we tried reading in construction geometry. We’ll just need to ask on the way in - Tim says it’s not hard to fix.


1 Like

I sent Eric a link to 6.18 to see if this is a new problem.
He generally can’t share files due to NDAs if I recall correctly.

This regression is confirmed and a bug report filed.
Thanks Eric

That’s interesting. I don’t know of a way to determine what is “construction geometry” in SolidWorks, unless you just say it’s “stuff that’s been deleted”.

I did notice that 6.19 imported stuff that wasn’t importing previously but should have been, which was nice. But my vote would be for not importing geometry that has been explicitly deleted in the SW file.


Yes, that was specifically noted by one of my clients who was noticing that some SW 2019 files were importing as empty, when indeed there was geometry in them. The 6.19 RC gets that missing geometry. Hopefully fixing the “regression” will not remove the advance in 6.19 in importing “wanted” geometry. @pascal has the file I sent in for testing (confidential).

Hi Mitch - the fix will simply be a checkbox for construction geometry - I don’t think that will affect anything else. Presumably your file will need the new box-to-be checked.


OK, so the geometry that was in the file that wasn’t getting imported correctly was all “construction geometry”? I will have a discussion with the client as to why their files are like this…

Hi Mitch - that is my understanding…but it may well be incomplete.


DataKit (the SDK we use to read SW files) has something Blanked Status. Every node read in from a SW file gets one of 4 different statuses. Here’s their documentation.

//! \brief Retrieves the entity Blanked Status.

//! \return -1 If Undefined - or no blanked status set - .

//! \return 0 If Visible.

//! \return 1 If Invisible

//! \return 2 If Construction Geometry

//! \sa SetBlankedStatus(const int &inBlankedStatus)

int GetBlankedStatus() const;

It’s difficult to know what Construction Geometry correlates to in SolidWorks world. There’s really no such concept unless it’s sketch geometry but that’s hardly likely. There’s no more documentation on what they mean by that term?


Hi Eric,

@lowell may have a better idea since he wrote the plugin initially. Maybe he’ll chime in if he sees this.
My first encounter with this stuff (blanked status) was when I fixed (which had a negative effect for you). I did grep their entire include directory for both “construction geometry” and “blanked status” and what I posted before is the most relevant.


I don’t know much about any of that stuff from a SW perspective, but here’s something about construction geometry:

Yeah that’s talking about lines in sketches. I don’t think the SW importer has ever brought those into Rhino.


RH-54469 is fixed in the latest Service Release Candidate

This seems to be working well now, thanks.


As a side note to this, i have noticed that if i import a cad file into solidworks, step,xmt or iges and save it as a solidworks file(.sldprt),then try and open it in rhino it is blank. If i go back to solidworks and add a feature to the imported file, say a hole for example and save it again as sldprt, then rhino will open it as a solidworks file import just fine, hope this helps,

Yes I have the same experience. I’ll sometimes move a face by 0.000001 units.

Hi - can you post a simple file that is blank when opened in Rhino and the same file with a small change that does import correctly?

ok here is a simple example.

1.created simple cube in rhino.
2.exported as step file.
3. open step in sw. as sldprt in sw
5.import into rhino was fine.
6.saved from sw as x_t parasolid file.(export from sw)
7. imported back into sw.
8.saved as sldprt in sw.
9.import into rhino was blank.(as solidworks model)
10.back to solidworks added a hole to same file.(saved with new name)
11.import into rhino was fine.

i hope this makes sense.
i am including all modelssimple cube (151.5 KB)