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.
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…
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)
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?
@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 https://mcneel.myjetbrains.com/youtrack/issue/RH-54469 (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.
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,
Phil
1.created simple cube in rhino.
2.exported as step file.
3. open step in sw.
4.save 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 test.zip (151.5 KB)